Skip to content

fix(controller): remove the NoAdoptableHistory warning event - #429

Merged
perfectra1n merged 1 commit into
mainfrom
fix/remove-noadoptablehistory-warning
Aug 31, 2026
Merged

perfectra1n merged 1 commit into
mainfrom
fix/remove-noadoptablehistory-warning

Conversation

@perfectra1n

Copy link
Copy Markdown
Collaborator

Problem

A field report (HOPS Discord, 2026-08-29) showed a SnapshotPolicy emitting the NoAdoptableHistory Warning event on every reconcile — 428+ aggregated occurrences and climbing — on a completely healthy cluster. The trigger was the ordinary shared-repository lifecycle: retire app A (the deletion cascade's default Retain keeps its kopia snapshots, which the catalog scan materializes as discovered rows), then add new app B against the same ClusterRepository. B, having no history of its own yet, matched none of A's rows and was accused of a disaster-recovery identity mismatch until its first successful backup — days to a week on typical crons. The user's fix was adoption: Ignore, i.e. the warning taught them to disable the very adoption it was meant to protect.

Why removal rather than tuning

The event (from #380) existed as a CREATE-time stand-in for the update-gated identity fork guard, targeting one DR case: a recovered policy whose identity no longer matches the history it should reclaim. But kopia identity in kopiur is a pure function of Git-authored inputs (crates/api/src/identity.rs — name, namespace, spec.identity, identityDefaults incl. cluster, labels/annotations, PVC name, sourcePathOverride; no live-environment inputs). A GitOps re-apply cannot drift an identity on its own — every mismatch begins as a human manifest edit. The operator cannot distinguish that rare case from the common shared-repo case, so the standing Warning had negative net value: it trained the suppression reflex that disarms it for the rare real case too.

What replaces it (neutral facts, not judgment)

  • status.adoption.lastScanMatched / lastScanUnmatched — what each adoption pass actually saw: discovered rows matching this policy's identity (counted before the own-id/retention filters) vs. not. Multi-repo policies sum across ready targets; absent = no pass has run; 0/0 = empty catalog.
  • kubectl kopiur status now renders each repository's discovered-snapshot count (status.catalog.discoveredBackupCount) as a plain inventory column — no warn/fail semantics.
  • Docs: the DR runbook's verification flips from "no warning events" to positively asserting adoption happened (the new counters + kubectl kopiur snapshots list --origin discovered --repository X + totalAdopted); identityDefaults/cluster docs warn that edits strand history behind the old identity and that the fork guard cannot challenge CREATEs on a rebuilt cluster; troubleshooting absorbs the deleted event message's guidance; docs/upgrade.md gets a "no action needed" note — if you set spec.adoption: Ignore solely to silence this warning, you can remove it now.

Regression guard

New e2e scenario foreign_history_policy_stays_quiet_and_adopts_nothing reproduces the report's exact shape (policy A retired with Retain → discovered rows; zero-history policy B on the same repo) and asserts through a 60s settle window: no NoAdoptableHistory event, no adoption, rows stay Discovered, and the counters record lastScanMatched: 0 / lastScanUnmatched ≥ 1.

Verification

  • mise run test — green (one unrelated fake_shim ETXTBSY flake reproduced identically on a clean main worktree; passes serially and on retry)
  • mise run clippy / fmt-check / complexity-check (29/29, unchanged) / gen + gen-check — all green
  • e2e (KOPIUR_E2E_BINS="adoption cli"): 16/16 passed, including the new scenario (78s) and cli_doctor_and_status with the new column

Removes a user-visible event reason (NoAdoptableHistory) and its CheckIdentityConfiguration action — no schema removal, no RBAC change; the two status fields and the CRD regeneration are additive.

A field report showed the warning firing on every ~5-minute reconcile
(428+ aggregated count) for a healthy, ordinary state: a brand-new
SnapshotPolicy sharing a repository with a retired app's Retain-kept
snapshots. The event could not distinguish that from the DR identity
mismatch it was built for (#380), self-silenced only on the policy's
first successful backup (days on weekly crons), and in practice taught
users to set `adoption: Ignore` — disabling the adoption it existed to
protect. Kopia identity is a pure function of Git-authored inputs, so a
post-DR mismatch only arises from a human manifest edit; the runtime
speculation is replaced with neutral, checkable facts:

- status.adoption.lastScanMatched / lastScanUnmatched record what each
  adoption pass actually saw (pre-own-filter, summed across a
  multi-repo policy's ready targets; absent = no pass yet)
- `kubectl kopiur status` now shows each repository's discovered
  snapshot count as plain inventory
- the DR runbook verifies adoption positively instead of watching for
  a warning; troubleshooting and identityDefaults docs absorb the
  event message's guidance; upgrade note says Ignore-as-silencer can
  be removed

e2e regression guard: foreign_history_policy_stays_quiet_and_adopts_nothing
reproduces the report's exact shape and asserts the operator stays quiet.
@greptile-apps

greptile-apps Bot commented Aug 31, 2026

Copy link
Copy Markdown

Greptile Summary

The PR removes the noisy NoAdoptableHistory warning and replaces it with neutral adoption and repository inventory.

  • Adds lastScanMatched and lastScanUnmatched to SnapshotPolicy adoption status and generated CRDs.
  • Aggregates scan outcomes across ready repository targets while preserving adoption and retention behavior.
  • Adds discovered-snapshot inventory to kubectl kopiur status.
  • Updates disaster-recovery and troubleshooting documentation and adds an end-to-end regression scenario.

Confidence Score: 5/5

The PR appears safe to merge, with the removed warning consistently replaced by documented status inventory and regression coverage.

The new counters preserve the stated absent-versus-zero semantics, ignored and unavailable targets remain correctly gated, generated schemas and CLI output are aligned, and no concrete changed-code failure remains.

Important Files Changed

Filename Overview
crates/api/src/snapshot_policy.rs Adds optional, correctly serialized adoption scan counters and round-trip coverage for absent versus explicit-zero values.
crates/controller/src/adoption.rs Replaces the warning predicate with pre-filter matched and unmatched candidate counts without changing candidate selection.
crates/controller/src/snapshot_policy.rs Removes warning publication and safely aggregates and persists scan counters across participating ready targets.
crates/cli/src/cmd/status.rs Adds repository discovered-snapshot counts to human-readable and serialized status output with focused tests.
crates/e2e/tests/adoption.rs Adds an isolated shared-repository regression scenario covering warning absence, non-adoption, row preservation, and status counters.
deploy/crds/snapshotpolicies.yaml Carries the additive status fields into the generated standalone CRD schema.
deploy/helm/kopiur/crds/snapshotpolicies.yaml Keeps the Helm-packaged CRD aligned with the Rust API and standalone generated schema.
docs/scenarios/dr-with-replicated-repository.md Updates disaster-recovery verification to use positive adoption evidence instead of warning-event absence.

Reviews (1): Last reviewed commit: "fix(controller): remove the NoAdoptableH..." | Re-trigger Greptile

@perfectra1n
perfectra1n added this pull request to the merge queue Aug 31, 2026
Merged via the queue into main with commit a3dccb4 Aug 31, 2026
38 checks passed
@perfectra1n
perfectra1n deleted the fix/remove-noadoptablehistory-warning branch August 31, 2026 03:12
@sticky-gecko sticky-gecko Bot mentioned this pull request Aug 31, 2026
gabrielcosi pushed a commit to gabrielcosi/home-ops that referenced this pull request Sep 1, 2026
….10.5 ➔ 0.10.6) (#609)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/home-operations/charts/kopiur](https://github.com/home-operations/kopiur) | patch | `0.10.5` → `0.10.6` |

---

### Release Notes

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

### [`v0.10.6`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0106-2026-09-01)

[Compare Source](home-operations/kopiur@0.10.5...0.10.6)

##### Features

- **errors:** clarify user-facing Kubernetes error/warning messages ([#&#8203;431](home-operations/kopiur#431)) ([099d0a1](home-operations/kopiur@099d0a1))

##### Bug Fixes

- **controller:** remove the NoAdoptableHistory warning event ([#&#8203;429](home-operations/kopiur#429)) ([a3dccb4](home-operations/kopiur@a3dccb4))
- kopia UI server never received the backend auth Secret — split-secret creds, per-secret mirrors, server identity ([#&#8203;416](home-operations/kopiur#416)) ([#&#8203;424](home-operations/kopiur#424)) ([ab1327a](home-operations/kopiur@ab1327a))
- **rust:** update crate rcgen (0.14.9 → 0.14.10) ([#&#8203;423](home-operations/kopiur#423)) ([48c10a3](home-operations/kopiur@48c10a3))

##### Miscellaneous Chores

- **github-action:** update action anchore/sbom-action (v0.24.0 → v0.24.1) ([#&#8203;427](home-operations/kopiur#427)) ([4aee76d](home-operations/kopiur@4aee76d))
- **github-action:** update action anchore/sbom-action (v0.24.1 → v0.24.2) ([#&#8203;432](home-operations/kopiur#432)) ([0d029d4](home-operations/kopiur@0d029d4))
- **mise:** update tool aqua:astral-sh/uv (0.12.5 → 0.12.6) ([#&#8203;422](home-operations/kopiur#422)) ([d06d57c](home-operations/kopiur@d06d57c))
- **mise:** update tool aqua:astral-sh/uv (0.12.6 → 0.12.7) ([#&#8203;428](home-operations/kopiur#428)) ([36f8f56](home-operations/kopiur@36f8f56))
- **mise:** update tool aqua:dadav/helm-schema (0.23.4 → 0.23.5) ([#&#8203;412](home-operations/kopiur#412)) ([c1ad2a1](home-operations/kopiur@c1ad2a1))
- **mise:** update tool kubectl (1.36.4 → 1.37.0) ([#&#8203;426](home-operations/kopiur#426)) ([08eb492](home-operations/kopiur@08eb492))
- **mise:** update tool lefthook (2.1.11 → 2.1.12) ([#&#8203;430](home-operations/kopiur#430)) ([21312e5](home-operations/kopiur@21312e5))
- **mise:** update tool node (24.19.0 → v24.20.0) ([#&#8203;425](home-operations/kopiur#425)) ([9e4ffb8](home-operations/kopiur@9e4ffb8))

</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 CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC41MC4zIiwidXBkYXRlZEluVmVyIjoiNDQuNTAuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9wYXRjaCJdfQ==-->

Reviewed-on: https://git.xcd.dev/gabrielcosi/home-ops/pulls/609
doonga pushed a commit to greyrock-labs/home-ops that referenced this pull request Sep 5, 2026
….10.4 ➔ 0.10.7) (#87)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/home-operations/charts/kopiur](https://github.com/home-operations/kopiur) | patch | `0.10.4` → `0.10.7` |

---

### Release Notes

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

### [`v0.10.7`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0107-2026-09-02)

[Compare Source](home-operations/kopiur@0.10.6...0.10.7)

##### Features

- per-repository mover-Job concurrency limits + jitter hardening ([#&#8203;437](home-operations/kopiur#437)) ([1529aa9](home-operations/kopiur@1529aa9))

### [`v0.10.6`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0106-2026-09-01)

[Compare Source](home-operations/kopiur@0.10.5...0.10.6)

##### Features

- **errors:** clarify user-facing Kubernetes error/warning messages ([#&#8203;431](home-operations/kopiur#431)) ([099d0a1](home-operations/kopiur@099d0a1))

##### Bug Fixes

- **controller:** remove the NoAdoptableHistory warning event ([#&#8203;429](home-operations/kopiur#429)) ([a3dccb4](home-operations/kopiur@a3dccb4))
- kopia UI server never received the backend auth Secret — split-secret creds, per-secret mirrors, server identity ([#&#8203;416](home-operations/kopiur#416)) ([#&#8203;424](home-operations/kopiur#424)) ([ab1327a](home-operations/kopiur@ab1327a))
- **rust:** update crate rcgen (0.14.9 → 0.14.10) ([#&#8203;423](home-operations/kopiur#423)) ([48c10a3](home-operations/kopiur@48c10a3))

##### Miscellaneous Chores

- **github-action:** update action anchore/sbom-action (v0.24.0 → v0.24.1) ([#&#8203;427](home-operations/kopiur#427)) ([4aee76d](home-operations/kopiur@4aee76d))
- **github-action:** update action anchore/sbom-action (v0.24.1 → v0.24.2) ([#&#8203;432](home-operations/kopiur#432)) ([0d029d4](home-operations/kopiur@0d029d4))
- **mise:** update tool aqua:astral-sh/uv (0.12.5 → 0.12.6) ([#&#8203;422](home-operations/kopiur#422)) ([d06d57c](home-operations/kopiur@d06d57c))
- **mise:** update tool aqua:astral-sh/uv (0.12.6 → 0.12.7) ([#&#8203;428](home-operations/kopiur#428)) ([36f8f56](home-operations/kopiur@36f8f56))
- **mise:** update tool aqua:dadav/helm-schema (0.23.4 → 0.23.5) ([#&#8203;412](home-operations/kopiur#412)) ([c1ad2a1](home-operations/kopiur@c1ad2a1))
- **mise:** update tool kubectl (1.36.4 → 1.37.0) ([#&#8203;426](home-operations/kopiur#426)) ([08eb492](home-operations/kopiur@08eb492))
- **mise:** update tool lefthook (2.1.11 → 2.1.12) ([#&#8203;430](home-operations/kopiur#430)) ([21312e5](home-operations/kopiur@21312e5))
- **mise:** update tool node (24.19.0 → v24.20.0) ([#&#8203;425](home-operations/kopiur#425)) ([9e4ffb8](home-operations/kopiur@9e4ffb8))

### [`v0.10.5`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0105-2026-08-28)

[Compare Source](home-operations/kopiur@0.10.4...0.10.5)

##### Bug Fixes

- deadline-killed bootstrap classification, maintenance gate exemption, relaunch backoff + self-healing escalation ([#&#8203;417](home-operations/kopiur#417)) ([ff8b396](home-operations/kopiur@ff8b396))
- manualRun explicit-null completedAt, tri-state Restore gate, throttle honored in every mover flow ([#&#8203;394](home-operations/kopiur#394), [#&#8203;393](home-operations/kopiur#393), [#&#8203;374](home-operations/kopiur#374)) ([#&#8203;411](home-operations/kopiur#411)) ([8f0399f](home-operations/kopiur@8f0399f))

##### Miscellaneous Chores

- **github-action:** update action jdx/mise-action (v4.2.5 → v4.3.0) ([#&#8203;419](home-operations/kopiur#419)) ([6234791](home-operations/kopiur@6234791))

</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 CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC41Mi4xIiwidXBkYXRlZEluVmVyIjoiNDQuNTIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9wYXRjaCJdfQ==-->

Reviewed-on: https://git.greyrock.io/todd/home-ops/pulls/87
GiorgioAresu pushed a commit to GiorgioAresu/home-ops that referenced this pull request Sep 13, 2026
….10.0 ➔ 0.10.8) (#2042)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [ghcr.io/home-operations/charts/kopiur](https://github.com/home-operations/kopiur) | patch | `0.10.0` → `0.10.8` |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the [Dependency Dashboard](issues/6) for more information.

---

### Release Notes

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

### [`v0.10.8`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0108-2026-09-08)

[Compare Source](home-operations/kopiur@0.10.7...0.10.8)

##### Bug Fixes

- **container:** update image busybox ([`9532d8c`](home-operations/kopiur@9532d8c) → [`dc2d74b`](home-operations/kopiur@dc2d74b)) ([#&#8203;439](home-operations/kopiur#439)) ([0bad734](home-operations/kopiur@0bad734))
- re-initialize ack for wiped repositories ([#&#8203;435](home-operations/kopiur#435)), populator fan-out with per-PVC source paths ([#&#8203;443](home-operations/kopiur#443)), helm README ([#&#8203;436](home-operations/kopiur#436)) ([#&#8203;449](home-operations/kopiur#449)) ([fdfa9a6](home-operations/kopiur@fdfa9a6))
- **rust:** update crate rustls (0.23.43 → 0.23.44) ([#&#8203;448](home-operations/kopiur#448)) ([b9e10a6](home-operations/kopiur@b9e10a6))

##### Miscellaneous Chores

- **github-action:** update action actions/deploy-pages (v5.0.0 → v5.0.1) ([#&#8203;444](home-operations/kopiur#444)) ([f601ebd](home-operations/kopiur@f601ebd))
- **github-action:** update action helm/kind-action (v1.14.0 → v1.15.0) ([#&#8203;446](home-operations/kopiur#446)) ([94ab9de](home-operations/kopiur@94ab9de))
- **mise:** update mise tools ([#&#8203;399](home-operations/kopiur#399)) ([ffae98a](home-operations/kopiur@ffae98a))
- **mise:** update tool aqua:astral-sh/uv (0.12.7 → 0.12.8) ([#&#8203;442](home-operations/kopiur#442)) ([8954063](home-operations/kopiur@8954063))
- **mise:** update tool aqua:astral-sh/uv (0.12.8 → 0.12.9) ([#&#8203;445](home-operations/kopiur#445)) ([5a88ac6](home-operations/kopiur@5a88ac6))
- **mise:** update tool aqua:astral-sh/uv (0.12.9 → 0.12.10) ([#&#8203;450](home-operations/kopiur#450)) ([c32246a](home-operations/kopiur@c32246a))
- **mise:** update tool zizmor (1.29.0 → 1.30.0) ([#&#8203;441](home-operations/kopiur#441)) ([908a427](home-operations/kopiur@908a427))

### [`v0.10.7`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0107-2026-09-02)

[Compare Source](home-operations/kopiur@0.10.6...0.10.7)

##### Features

- per-repository mover-Job concurrency limits + jitter hardening ([#&#8203;437](home-operations/kopiur#437)) ([1529aa9](home-operations/kopiur@1529aa9))

### [`v0.10.6`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0106-2026-09-01)

[Compare Source](home-operations/kopiur@0.10.5...0.10.6)

##### Features

- **errors:** clarify user-facing Kubernetes error/warning messages ([#&#8203;431](home-operations/kopiur#431)) ([099d0a1](home-operations/kopiur@099d0a1))

##### Bug Fixes

- **controller:** remove the NoAdoptableHistory warning event ([#&#8203;429](home-operations/kopiur#429)) ([a3dccb4](home-operations/kopiur@a3dccb4))
- kopia UI server never received the backend auth Secret — split-secret creds, per-secret mirrors, server identity ([#&#8203;416](home-operations/kopiur#416)) ([#&#8203;424](home-operations/kopiur#424)) ([ab1327a](home-operations/kopiur@ab1327a))
- **rust:** update crate rcgen (0.14.9 → 0.14.10) ([#&#8203;423](home-operations/kopiur#423)) ([48c10a3](home-operations/kopiur@48c10a3))

##### Miscellaneous Chores

- **github-action:** update action anchore/sbom-action (v0.24.0 → v0.24.1) ([#&#8203;427](home-operations/kopiur#427)) ([4aee76d](home-operations/kopiur@4aee76d))
- **github-action:** update action anchore/sbom-action (v0.24.1 → v0.24.2) ([#&#8203;432](home-operations/kopiur#432)) ([0d029d4](home-operations/kopiur@0d029d4))
- **mise:** update tool aqua:astral-sh/uv (0.12.5 → 0.12.6) ([#&#8203;422](home-operations/kopiur#422)) ([d06d57c](home-operations/kopiur@d06d57c))
- **mise:** update tool aqua:astral-sh/uv (0.12.6 → 0.12.7) ([#&#8203;428](home-operations/kopiur#428)) ([36f8f56](home-operations/kopiur@36f8f56))
- **mise:** update tool aqua:dadav/helm-schema (0.23.4 → 0.23.5) ([#&#8203;412](home-operations/kopiur#412)) ([c1ad2a1](home-operations/kopiur@c1ad2a1))
- **mise:** update tool kubectl (1.36.4 → 1.37.0) ([#&#8203;426](home-operations/kopiur#426)) ([08eb492](home-operations/kopiur@08eb492))
- **mise:** update tool lefthook (2.1.11 → 2.1.12) ([#&#8203;430](home-operations/kopiur#430)) ([21312e5](home-operations/kopiur@21312e5))
- **mise:** update tool node (24.19.0 → v24.20.0) ([#&#8203;425](home-operations/kopiur#425)) ([9e4ffb8](home-operations/kopiur@9e4ffb8))

### [`v0.10.5`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0105-2026-08-28)

[Compare Source](home-operations/kopiur@0.10.4...0.10.5)

##### Bug Fixes

- deadline-killed bootstrap classification, maintenance gate exemption, relaunch backoff + self-healing escalation ([#&#8203;417](home-operations/kopiur#417)) ([ff8b396](home-operations/kopiur@ff8b396))
- manualRun explicit-null completedAt, tri-state Restore gate, throttle honored in every mover flow ([#&#8203;394](home-operations/kopiur#394), [#&#8203;393](home-operations/kopiur#393), [#&#8203;374](home-operations/kopiur#374)) ([#&#8203;411](home-operations/kopiur#411)) ([8f0399f](home-operations/kopiur@8f0399f))

##### Miscellaneous Chores

- **github-action:** update action jdx/mise-action (v4.2.5 → v4.3.0) ([#&#8203;419](home-operations/kopiur#419)) ([6234791](home-operations/kopiur@6234791))

### [`v0.10.4`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0104-2026-08-24)

[Compare Source](home-operations/kopiur@0.10.3...0.10.4)

##### Bug Fixes

- **chart:** give flowSchema its doc comment and timings a clean schema entry ([#&#8203;397](home-operations/kopiur#397)) ([7c8dd3f](home-operations/kopiur@7c8dd3f))
- **mover:** read status.resolved via the /status subresource ([#&#8203;408](home-operations/kopiur#408)) ([06fc2f9](home-operations/kopiur@06fc2f9))

##### Miscellaneous Chores

- **github-action:** update action docker/github-builder (v1.16.0 → v1.17.0) ([#&#8203;407](home-operations/kopiur#407)) ([b6d7d04](home-operations/kopiur@b6d7d04))
- **mise:** update mise tools ([#&#8203;400](home-operations/kopiur#400)) ([b1a83f8](home-operations/kopiur@b1a83f8))
- **mise:** update tool kubectl (1.36.3 → 1.36.4) ([#&#8203;405](home-operations/kopiur#405)) ([274e3d6](home-operations/kopiur@274e3d6))
- **mise:** update tool lefthook (2.1.10 → 2.1.11) ([#&#8203;406](home-operations/kopiur#406)) ([2ba700d](home-operations/kopiur@2ba700d))
- **mise:** update tool rust (1.97.1 → 1.98.0) ([#&#8203;403](home-operations/kopiur#403)) ([c655005](home-operations/kopiur@c655005))
- **mise:** update tool yq (4.53.3 → 4.53.4) ([#&#8203;402](home-operations/kopiur#402)) ([d1ed8a7](home-operations/kopiur@d1ed8a7))
- **mise:** update tool yq (4.53.4 → 4.53.6) ([#&#8203;404](home-operations/kopiur#404)) ([dd5878c](home-operations/kopiur@dd5878c))

### [`v0.10.3`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0103-2026-08-18)

[Compare Source](home-operations/kopiur@0.10.2...0.10.3)

##### Features

- **repository:** seed a fresh repository from its replica — DR for replicated repositories ([#&#8203;380](home-operations/kopiur#380)) ([#&#8203;396](home-operations/kopiur#396)) ([74665dc](home-operations/kopiur@74665dc))

##### Bug Fixes

- **rust:** update crate cel (0.14.2 → 0.14.3) ([#&#8203;387](home-operations/kopiur#387)) ([bf9aa0c](home-operations/kopiur@bf9aa0c))
- **rust:** update crate http-body-util (0.1.4 → 0.1.5) ([#&#8203;381](home-operations/kopiur#381)) ([6354e17](home-operations/kopiur@6354e17))

##### Miscellaneous Chores

- **github-action:** update action jdx/mise-action (v4.2.4 → v4.2.5) ([#&#8203;388](home-operations/kopiur#388)) ([1040c9e](home-operations/kopiur@1040c9e))
- **mise:** update tool aqua:astral-sh/uv (0.12.3 → 0.12.4) ([#&#8203;390](home-operations/kopiur#390)) ([bf3916c](home-operations/kopiur@bf3916c))
- **mise:** update tool aqua:astral-sh/uv (0.12.4 → 0.12.5) ([#&#8203;395](home-operations/kopiur#395)) ([b919878](home-operations/kopiur@b919878))
- **mise:** update tool helm (4.2.3 → 4.2.4) ([#&#8203;389](home-operations/kopiur#389)) ([5b134fa](home-operations/kopiur@5b134fa))
- **mise:** Update tool oxfmt (0.62.0 → 0.63.0) ([#&#8203;386](home-operations/kopiur#386)) ([65db237](home-operations/kopiur@65db237))

### [`v0.10.2`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0102-2026-08-13)

[Compare Source](home-operations/kopiur@0.10.1...0.10.2)

##### Performance Improvements

- **controller:** store-backed reads, LIST dedup, bounded PVC retries, client-side request metrics ([#&#8203;382](home-operations/kopiur#382)) ([#&#8203;383](home-operations/kopiur#383)) ([2b07022](home-operations/kopiur@2b07022))

### [`v0.10.1`](https://github.com/home-operations/kopiur/blob/HEAD/CHANGELOG.md#0101-2026-08-11)

[Compare Source](home-operations/kopiur@0.10.0...0.10.1)

##### Bug Fixes

- **mise:** something about mise warnings ([#&#8203;373](home-operations/kopiur#373)) ([fde8073](home-operations/kopiur@fde8073))
- **rust:** update crate cel (0.14.1 → 0.14.2) ([#&#8203;379](home-operations/kopiur#379)) ([4a60221](home-operations/kopiur@4a60221))
- **rust:** update crate futures (0.3.33 → 0.3.34) ([#&#8203;378](home-operations/kopiur#378)) ([ff657b8](home-operations/kopiur@ff657b8))
- **rust:** update crate rcgen (0.14.8 → 0.14.9) ([#&#8203;377](home-operations/kopiur#377)) ([e3b3b3f](home-operations/kopiur@e3b3b3f))

##### Miscellaneous Chores

- **mise:** Update tool aqua:astral-sh/uv (0.12.2 → 0.12.3) ([#&#8203;375](home-operations/kopiur#375)) ([952af6d](home-operations/kopiur@952af6d))

</details>

---

### Configuration

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

- 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 CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNy4xIiwidXBkYXRlZEluVmVyIjoiNDQuMTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUvY29udGFpbmVyIiwidHlwZS9wYXRjaCJdfQ==-->

Reviewed-on: https://git.aresu.eu/GiorgioAresu/home-ops/pulls/2042
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