Skip to content

fix(helm): stamp Chart.yaml version on release - #352

Merged
onedr0p merged 1 commit into
mainfrom
feat/stamp-chart-version
Jul 24, 2026
Merged

onedr0p merged 1 commit into
mainfrom
feat/stamp-chart-version

Conversation

@onedr0p

@onedr0p onedr0p commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Ports home-operations/tuppr#414 + home-operations/tuppr#415 to miroir.

charts/miroir/Chart.yaml carried a 0.0.1 placeholder, so the in-repo chart never
showed the version it corresponds to; only the release workflow's
helm package --version/--app-version gave the published artifact a real one.
release-please now stamps version/appVersion (current release: 0.11.10), and the
release workflow still re-stamps at package time, so the committed copy simply stops
going stale.

Why the typed generic updater

Chart.yaml is registered as {"type": "generic"} in extra-files rather than a bare
path. release-please picks its updater from the file extension, and the YAML updater
re-serializes the document: every comment in Chart.yaml would be dropped, and
appVersion would not be stamped at all. The generic updater only rewrites the semver
on lines annotated with x-release-please-version.

Consequences

  • README.md.gotmpl drops chart.badgesSection for hand-rolled badges. The generic
    updater replaces only the first semver on an annotated line, and the shields.io
    badge/AppVersion-1.2.3-informational path form would let it swallow
    -informational as a prerelease suffix. The static/v1 query form terminates the
    version with &, keeps the version out of the alt text, and each version badge
    carries its own annotation, so the committed README stays in sync with the stamped
    Chart.yaml.
  • Chart tests that hardcoded the placeholder now assert shape instead of a version:
    the controller and agent image tags, the --gateway-image= controller flag, and the
    helm.sh/chart label. They no longer need editing on every release. The
    default-gateway ("withholds the gateway args") case became notExists on a filtered
    path, because a notContains against a hardcoded tag would silently pass whether or
    not the flag was emitted.

Nothing about the published artifact changes: helm package in .github/workflows/release.yaml
and the e2e harness both pass --version/--app-version explicitly, and every image
tag in e2e is set explicitly too.

Verification

Gate Result
mise run helm-lint pass (1 chart(s) linted, 0 chart(s) failed; pre-existing icon is recommended info)
mise run helm-test (helm-unittest) pass: 11/11 suites, 119/119 tests
mise run helm-docs-check pass (no diff in charts/*/README.md, charts/*/values.schema.json)
oxfmt --check on the touched JSON/YAML pass
lefthook pre-commit (format-json, format-yaml, helm-docs) pass, no restaging

The two rewritten gateway assertions were checked for vacuity by inverting them
(notExists with the gateway enabled, and a deliberately wrong pattern); both failed as
expected before being finalized. No Go code is touched, so the Go gates are unaffected.

charts/miroir/Chart.yaml carried a 0.0.1 placeholder, so the in-repo chart
never showed the version it corresponds to (only the release workflow's
`helm package --version/--app-version` gave the published artifact a real
one). release-please now stamps both fields, and the release workflow still
re-stamps at package time, so the committed copy simply stops going stale.

Chart.yaml is registered as `{"type": "generic"}` in extra-files rather than
a bare path: release-please picks its updater from the file extension, and
the YAML updater re-serializes the document (dropping every comment) while
also missing appVersion. The generic updater only rewrites the semver on
lines annotated with x-release-please-version, leaving the rest untouched.

Consequences:

- README.md.gotmpl drops chart.badgesSection for hand-rolled badges. The
  generic updater replaces only the first semver on an annotated line, and
  the shields.io `badge/AppVersion-1.2.3-informational` path form would let
  it swallow `-informational` as a prerelease suffix; the static/v1 query
  form terminates the version with `&` instead.
- Chart tests that hardcoded the placeholder (controller/agent image tags,
  the gateway-image controller flag, the helm.sh/chart label) now assert the
  repo:semver shape, so they no longer need editing on every release. The
  default-gateway case became notExists on a filtered path, since a
  notContains against a hardcoded tag would silently pass either way.

Signed-off-by: Devin Buhl <devin@buhl.casa>
@greptile-apps

greptile-apps Bot commented Jul 24, 2026

Copy link
Copy Markdown

Greptile Summary

This PR keeps the in-repository Helm chart metadata synchronized with releases.

  • Registers Chart.yaml and the generated chart README as release-please extra files.
  • Adds release annotations to the chart version, app version, and README badges.
  • Replaces generated badges with updater-compatible static badges.
  • Makes Helm tests validate version-derived output without hardcoding a specific release.

Confidence Score: 5/5

The PR appears safe to merge, with release stamping, generated documentation, and version-derived Helm output remaining consistently wired.

The configured updaters target each annotated version independently, published packages still receive explicit chart and application versions, and the revised tests continue to validate the relevant rendered output.

Important Files Changed

Filename Overview
release-please-config.json Adds updater-compatible extra-file entries for the chart metadata and generated README.
charts/miroir/Chart.yaml Replaces placeholder metadata with release-stamped chart and application versions.
charts/miroir/README.md.gotmpl Introduces release-compatible version badges while preserving helm-docs generation.
charts/miroir/README.md Regenerates the chart documentation with the stamped version and application version.
charts/miroir/tests/controller_test.yaml Makes image and gateway assertions version-independent while retaining behavioral coverage.
charts/miroir/tests/agent_test.yaml Replaces the placeholder agent image expectation with a repository-and-semver shape assertion.
charts/miroir/tests/helpers_test.yaml Makes the chart label assertion independent of the current stamped release.

Reviews (1): Last reviewed commit: "fix(helm): stamp Chart.yaml version on r..." | Re-trigger Greptile

@onedr0p
onedr0p merged commit e6e102a into main Jul 24, 2026
12 checks passed
@onedr0p
onedr0p deleted the feat/stamp-chart-version branch July 24, 2026 23:42
gabrielcosi pushed a commit to gabrielcosi/home-ops that referenced this pull request Jul 25, 2026
….11.10 ➔ 0.11.11) (#111)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/home-operations/charts/miroir](https://github.com/home-operations/miroir) | patch | `0.11.10` → `0.11.11` |

---

### Release Notes

<details>
<summary>home-operations/miroir (ghcr.io/home-operations/charts/miroir)</summary>

### [`v0.11.11`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#01111-2026-07-24)

[Compare Source](home-operations/miroir@0.11.10...0.11.11)

##### Bug Fixes

- **deps:** update module github.com/prometheus/client\_golang (v1.24.0 → v1.24.1) ([#&#8203;348](home-operations/miroir#348)) ([20ac78a](home-operations/miroir@20ac78a))
- **helm:** stamp Chart.yaml version on release ([#&#8203;352](home-operations/miroir#352)) ([e6e102a](home-operations/miroir@e6e102a))

##### Miscellaneous Chores

- **github-release:** Update release helm-unittest/helm-unittest (v1.1.1 → v1.1.2) ([#&#8203;351](home-operations/miroir#351)) ([ff07360](home-operations/miroir@ff07360))

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Berlin)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yODAuMyIsInVwZGF0ZWRJblZlciI6IjQzLjI4MC40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19-->

Reviewed-on: https://git.xcd.dev/gabrielcosi/home-ops/pulls/111
doonga pushed a commit to greyrock-labs/home-ops that referenced this pull request Jul 25, 2026
….11.10 ➔ 0.11.11) (#163)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/home-operations/charts/miroir](https://github.com/home-operations/miroir) | patch | `0.11.10` → `0.11.11` |

---

### Release Notes

<details>
<summary>home-operations/miroir (ghcr.io/home-operations/charts/miroir)</summary>

### [`v0.11.11`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#01111-2026-07-24)

[Compare Source](home-operations/miroir@0.11.10...0.11.11)

##### Bug Fixes

- **deps:** update module github.com/prometheus/client\_golang (v1.24.0 → v1.24.1) ([#&#8203;348](home-operations/miroir#348)) ([20ac78a](home-operations/miroir@20ac78a))
- **helm:** stamp Chart.yaml version on release ([#&#8203;352](home-operations/miroir#352)) ([e6e102a](home-operations/miroir@e6e102a))

##### Miscellaneous Chores

- **github-release:** Update release helm-unittest/helm-unittest (v1.1.1 → v1.1.2) ([#&#8203;351](home-operations/miroir#351)) ([ff07360](home-operations/miroir@ff07360))

</details>

---

### Configuration

📅 **Schedule**: (in timezone America/New_York)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNzIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI3Mi4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19-->

Reviewed-on: https://git.greyrock.io/greyrock-labs/home-ops/pulls/163
eleboucher pushed a commit to eleboucher/homelab that referenced this pull request Jul 25, 2026
….11.10 ➔ 0.11.11) (#1718)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/home-operations/charts/miroir](https://github.com/home-operations/miroir) | patch | `0.11.10` → `0.11.11` |

---

### Release Notes

<details>
<summary>home-operations/miroir (ghcr.io/home-operations/charts/miroir)</summary>

### [`v0.11.11`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#01111-2026-07-24)

[Compare Source](home-operations/miroir@0.11.10...0.11.11)

##### Bug Fixes

- **deps:** update module github.com/prometheus/client\_golang (v1.24.0 → v1.24.1) ([#&#8203;348](home-operations/miroir#348)) ([20ac78a](home-operations/miroir@20ac78a))
- **helm:** stamp Chart.yaml version on release ([#&#8203;352](home-operations/miroir#352)) ([e6e102a](home-operations/miroir@e6e102a))

##### Miscellaneous Chores

- **github-release:** Update release helm-unittest/helm-unittest (v1.1.1 → v1.1.2) ([#&#8203;351](home-operations/miroir#351)) ([ff07360](home-operations/miroir@ff07360))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMDEuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEwMS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL3BhdGNoIl19-->

Reviewed-on: https://git.erwanleboucher.dev/eleboucher/homelab/pulls/1718
gwzill pushed a commit to gwzill/home-ops that referenced this pull request Jul 28, 2026
…0.10.5 ➔ 0.11.11) (bjw-s-labs#956)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/home-operations/charts/miroir](https://github.com/home-operations/miroir) | minor | `0.10.5` → `0.11.11` |

---

### Release Notes

<details>
<summary>home-operations/miroir (ghcr.io/home-operations/charts/miroir)</summary>

### [`v0.11.11`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#01111-2026-07-24)

[Compare Source](home-operations/miroir@0.11.10...0.11.11)

##### Bug Fixes

- **deps:** update module github.com/prometheus/client\_golang (v1.24.0 → v1.24.1) ([#&bjw-s-labs#8203;348](home-operations/miroir#348)) ([20ac78a](home-operations/miroir@20ac78a))
- **helm:** stamp Chart.yaml version on release ([#&bjw-s-labs#8203;352](home-operations/miroir#352)) ([e6e102a](home-operations/miroir@e6e102a))

##### Miscellaneous Chores

- **github-release:** Update release helm-unittest/helm-unittest (v1.1.1 → v1.1.2) ([#&bjw-s-labs#8203;351](home-operations/miroir#351)) ([ff07360](home-operations/miroir@ff07360))

### [`v0.11.10`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#01110-2026-07-24)

[Compare Source](home-operations/miroir@0.11.9...0.11.10)

##### Bug Fixes

- **agent:** demote DRBD Primaries before OS teardown + ZFS busy retry + restore fallback ([#&bjw-s-labs#8203;345](home-operations/miroir#345)) ([ab36200](home-operations/miroir@ab36200))

##### Miscellaneous Chores

- **mise:** Update tool aqua:astral-sh/uv (0.11.31 → 0.11.32) ([#&bjw-s-labs#8203;346](home-operations/miroir#346)) ([0ac31d4](home-operations/miroir@0ac31d4))

### [`v0.11.9`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#0119-2026-07-23)

[Compare Source](home-operations/miroir@0.11.8...0.11.9)

##### Bug Fixes

- **agent:** fence snapshot barrier writes against stale rounds ([#&bjw-s-labs#8203;342](home-operations/miroir#342)) ([9cf42a8](home-operations/miroir@9cf42a8))
- **container:** update image registry.k8s.io/kubectl (v1.36.2 → v1.36.3) ([#&bjw-s-labs#8203;339](home-operations/miroir#339)) ([37f0f17](home-operations/miroir@37f0f17))
- **deps:** update kubernetes monorepo (v0.36.2 → v0.36.3) ([#&bjw-s-labs#8203;341](home-operations/miroir#341)) ([8384aeb](home-operations/miroir@8384aeb))
- detect stale replica readiness, surface busy-teardown live consumers and unreachable CSI nodes ([#&bjw-s-labs#8203;344](home-operations/miroir#344)) ([4619407](home-operations/miroir@4619407))

##### Miscellaneous Chores

- **mise:** Update tool kubectl (1.36.2 → 1.36.3) ([#&bjw-s-labs#8203;340](home-operations/miroir#340)) ([6794e1c](home-operations/miroir@6794e1c))

### [`v0.11.8`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#0118-2026-07-22)

[Compare Source](home-operations/miroir@0.11.7...0.11.8)

##### Features

- **csi:** reshape replica count on restore (grow and shrink) ([#&bjw-s-labs#8203;322](home-operations/miroir#322)) ([bf7f583](home-operations/miroir@bf7f583))

##### Bug Fixes

- **agent:** include connectivity in volume readiness ([#&bjw-s-labs#8203;336](home-operations/miroir#336)) ([16403fc](home-operations/miroir@16403fc))
- conformance stabilization (drbd, csi, stage) ([#&bjw-s-labs#8203;333](home-operations/miroir#333)) ([c333ded](home-operations/miroir@c333ded))
- **csi:** honor topology when shrinking restores ([#&bjw-s-labs#8203;326](home-operations/miroir#326)) ([980c0b3](home-operations/miroir@980c0b3))

##### Miscellaneous Chores

- **mise:** Update tool aqua:astral-sh/uv (0.11.30 → 0.11.31) ([#&bjw-s-labs#8203;330](home-operations/miroir#330)) ([3322d69](home-operations/miroir@3322d69))
- **mise:** Update tool oxfmt (0.59.0 → 0.60.0) ([#&bjw-s-labs#8203;329](home-operations/miroir#329)) ([6657d7a](home-operations/miroir@6657d7a))
- **mise:** Update tool zizmor (1.27.0 → 1.28.0) ([#&bjw-s-labs#8203;324](home-operations/miroir#324)) ([91c09c8](home-operations/miroir@91c09c8))

### [`v0.11.7`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#0117-2026-07-21)

[Compare Source](home-operations/miroir@0.11.6...0.11.7)

##### Bug Fixes

- **agent:** reclaim volume deletions blocked by an orphaned device hold ([#&bjw-s-labs#8203;321](home-operations/miroir#321)) ([6e76957](home-operations/miroir@6e76957))
- **deps:** update module github.com/go-logr/logr (v1.4.3 → v1.4.4) ([#&bjw-s-labs#8203;315](home-operations/miroir#315)) ([1d5350e](home-operations/miroir@1d5350e))

##### Miscellaneous Chores

- **mise:** Update tool aqua:astral-sh/uv (0.11.29 → 0.11.30) ([#&bjw-s-labs#8203;314](home-operations/miroir#314)) ([2110661](home-operations/miroir@2110661))
- **mise:** Update tool talos (1.13.6 → 1.13.7) ([#&bjw-s-labs#8203;320](home-operations/miroir#320)) ([1e6e587](home-operations/miroir@1e6e587))

### [`v0.11.6`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#0116-2026-07-20)

[Compare Source](home-operations/miroir@0.11.5...0.11.6)

##### Features

- **deps:** update module github.com/prometheus/client\_golang (v1.23.2 → v1.24.0) ([#&bjw-s-labs#8203;310](home-operations/miroir#310)) ([58726c5](home-operations/miroir@58726c5))

##### Bug Fixes

- **agent:** recover volumes wedged by a leaked filesystem freeze ([#&bjw-s-labs#8203;312](home-operations/miroir#312)) ([de3ed0b](home-operations/miroir@de3ed0b))

##### Documentation

- fix stale and self-contradictory claims from a documentation review ([#&bjw-s-labs#8203;303](home-operations/miroir#303)) ([639ef79](home-operations/miroir@639ef79))

##### Miscellaneous Chores

- disable Talos dashboard in e2e schematic ([d9005df](home-operations/miroir@d9005df))

### [`v0.11.5`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#0115-2026-07-19)

[Compare Source](home-operations/miroir@0.11.4...0.11.5)

##### Bug Fixes

- **agent:** resize a restore clone's backing after DRBD attach ([#&bjw-s-labs#8203;300](home-operations/miroir#300)) ([8f611e9](home-operations/miroir@8f611e9))

### [`v0.11.4`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#0114-2026-07-19)

[Compare Source](home-operations/miroir@0.11.3...0.11.4)

##### Bug Fixes

- **agent:** freeze mounted filesystems before snapshot cuts ([#&bjw-s-labs#8203;292](home-operations/miroir#292)) ([5dbb657](home-operations/miroir@5dbb657))

##### Documentation

- **quickstart:** note group snapshot CRD conversion requirements ([#&bjw-s-labs#8203;287](home-operations/miroir#287)) ([fdf393c](home-operations/miroir@fdf393c))

### [`v0.11.3`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#0113-2026-07-18)

[Compare Source](home-operations/miroir@0.11.2...0.11.3)

##### Features

- **api:** show a ready/total count in the Replicas printcolumn ([#&bjw-s-labs#8203;286](home-operations/miroir#286)) ([21a7a14](home-operations/miroir@21a7a14))

##### Bug Fixes

- **agent:** break the fast path when phase contradicts per-node status ([#&bjw-s-labs#8203;283](home-operations/miroir#283)) ([13f5769](home-operations/miroir@13f5769))
- **backend:** heal missing lvmthin device nodes via vgmknodes ([#&bjw-s-labs#8203;282](home-operations/miroir#282)) ([78518e8](home-operations/miroir@78518e8))

##### Miscellaneous Chores

- **main:** release 0.11.2 ([#&bjw-s-labs#8203;278](home-operations/miroir#278)) ([08647c3](home-operations/miroir@08647c3))

### [`v0.11.2`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#0112-2026-07-18)

[Compare Source](home-operations/miroir@0.11.1...0.11.2)

##### Features

- **csi:** implement crash-consistent volume group snapshots ([#&bjw-s-labs#8203;268](home-operations/miroir#268)) ([bef5efc](home-operations/miroir@bef5efc))
- **csi:** support PVC clone via an internal clone-source snapshot ([#&bjw-s-labs#8203;267](home-operations/miroir#267)) ([569920e](home-operations/miroir@569920e))

##### Bug Fixes

- **agent:** never lift a barrier a sibling round co-holds when closing a round ([#&bjw-s-labs#8203;275](home-operations/miroir#275)) ([d99c6eb](home-operations/miroir@d99c6eb))
- **backend:** keep thin snapshot LVs inactive and serialize lvm commands ([#&bjw-s-labs#8203;277](home-operations/miroir#277)) ([022b1da](home-operations/miroir@022b1da))
- **csi:** stop group snapshot deletion from stranding suspend-io barriers ([#&bjw-s-labs#8203;274](home-operations/miroir#274)) ([8294491](home-operations/miroir@8294491))

##### Miscellaneous Chores

- **mise:** Update tool cosign (3.1.1 → 3.1.2) ([#&bjw-s-labs#8203;266](home-operations/miroir#266)) ([7b7bd20](home-operations/miroir@7b7bd20))

### [`v0.11.1`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#01111-2026-07-24)

[Compare Source](home-operations/miroir@0.11.0...0.11.1)

##### Bug Fixes

- **deps:** update module github.com/prometheus/client\_golang (v1.24.0 → v1.24.1) ([#&bjw-s-labs#8203;348](home-operations/miroir#348)) ([20ac78a](home-operations/miroir@20ac78a))
- **helm:** stamp Chart.yaml version on release ([#&bjw-s-labs#8203;352](home-operations/miroir#352)) ([e6e102a](home-operations/miroir@e6e102a))

##### Miscellaneous Chores

- **github-release:** Update release helm-unittest/helm-unittest (v1.1.1 → v1.1.2) ([#&bjw-s-labs#8203;351](home-operations/miroir#351)) ([ff07360](home-operations/miroir@ff07360))

### [`v0.11.0`](https://github.com/home-operations/miroir/blob/HEAD/CHANGELOG.md#0110-2026-07-17)

[Compare Source](home-operations/miroir@0.10.5...0.11.0)

##### ⚠ BREAKING CHANGES

- topology UX overhaul — CR-first manifests, node groups, block-implied backend ([#&bjw-s-labs#8203;255](home-operations/miroir#255))
- **api:** drop the deprecated flat MiroirNodeStatus capacity fields ([#&bjw-s-labs#8203;254](home-operations/miroir#254))
- **chart:** render MiroirNode CRs from the chart; watch-driven topology ([#&bjw-s-labs#8203;237](home-operations/miroir#237))

##### Features

- **api:** drop the deprecated flat MiroirNodeStatus capacity fields ([#&bjw-s-labs#8203;254](home-operations/miroir#254)) ([b889c70](home-operations/miroir@b889c70))
- **chart:** render MiroirNode CRs from the chart; watch-driven topology ([#&bjw-s-labs#8203;237](home-operations/miroir#237)) ([efc2180](home-operations/miroir@efc2180))
- **chart:** uninstall data-destruction gate and rook-inspired UX knobs ([#&bjw-s-labs#8203;246](home-operations/miroir#246)) ([af565e0](home-operations/miroir@af565e0))
- topology UX overhaul — CR-first manifests, node groups, block-implied backend ([#&bjw-s-labs#8203;255](home-operations/miroir#255)) ([5de436d](home-operations/miroir@5de436d))

##### Bug Fixes

- **agent:** close two startup edges around a vanished or pool-less MiroirNode ([#&bjw-s-labs#8203;244](home-operations/miroir#244)) ([71e45c5](home-operations/miroir@71e45c5))
- **agent:** gate snapshot rounds on peer disk states and the kernel barrier ([#&bjw-s-labs#8203;248](home-operations/miroir#248)) ([f2af9f5](home-operations/miroir@f2af9f5))
- **backend:** loopfile crash-safety and lvmthin pool activation ([#&bjw-s-labs#8203;250](home-operations/miroir#250)) ([428c15e](home-operations/miroir@428c15e))
- **csi:** expansion guardrails, forced NFS cleanup, and client-leg refusals ([#&bjw-s-labs#8203;251](home-operations/miroir#251)) ([47a08c2](home-operations/miroir@47a08c2))
- **csi:** name the address-conflict exclusion in placement refusals ([#&bjw-s-labs#8203;243](home-operations/miroir#243)) ([7a5ce61](home-operations/miroir@7a5ce61))
- **drbd:** release swept orphans' minors, dedupe status fetches ([#&bjw-s-labs#8203;252](home-operations/miroir#252)) ([9a871c1](home-operations/miroir@9a871c1))
- **image:** reject NBD devices in the lvm global\_filter ([#&bjw-s-labs#8203;257](home-operations/miroir#257)) ([1d72a7f](home-operations/miroir@1d72a7f))
- **membership:** auto-evict liveness gates and tie-breaker client handling ([#&bjw-s-labs#8203;249](home-operations/miroir#249)) ([07fac29](home-operations/miroir@07fac29))

##### Performance Improvements

- **agent:** scope the MiroirNode informer to the node's own object ([#&bjw-s-labs#8203;245](home-operations/miroir#245)) ([eb48b98](home-operations/miroir@eb48b98))
- **controller:** trim redundant topology folds and watch fan-out ([#&bjw-s-labs#8203;247](home-operations/miroir#247)) ([68065d5](home-operations/miroir@68065d5))

##### Documentation

- add an upgrading guide with the 0.9/0.10 migrations ([#&bjw-s-labs#8203;235](home-operations/miroir#235)) ([7afa383](home-operations/miroir@7afa383))
- remove em-dashes, tighten prose, and add admonitions ([#&bjw-s-labs#8203;238](home-operations/miroir#238)) ([e910b73](home-operations/miroir@e910b73))

##### Miscellaneous Chores

- **release:** add the helm chart section to the release-please config ([9f13e52](home-operations/miroir@9f13e52))
- sixth-cycle polish — stale comments, DRY, docs, and named test gaps ([#&bjw-s-labs#8203;253](home-operations/miroir#253)) ([52bbcb2](home-operations/miroir@52bbcb2))

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Amsterdam)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNTIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjI4MS4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS9jb250YWluZXIiLCJ0eXBlL21pbm9yIl19-->

Co-authored-by: Bernd Schorgers <me@bjw-s.dev>
Reviewed-on: https://git.bjw-s.dev/bjw-s/home-ops/pulls/956
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant