diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 0a40b9d7..ea2682c3 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.40.0" + ".": "0.41.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 524f9747..cafaa0bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,223 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.41.0](https://github.com/ConfigButler/gitops-reverser/compare/v0.40.0...v0.41.0) (2026-07-27) + + +### ⚠ BREAKING CHANGES + +* **analyzer:** RefusalReason.Code is typed IssueKind, not string. +* **attribution:** --author-attribution-cluster-annotation-key is renamed to --author-attribution-audit-route-annotation-key, and the chart value attribution.clusterAnnotationKey to attribution.auditRouteAnnotationKey. There is no deprecated alias: an operator still passing the old flag fails to start. The fact-key infix changes from cluster: to route: with no dual-read, so a rolling upgrade has a TTL-bounded window where events commit as the configured committer. +* **api:** a resync no longer deletes Git documents whose resources are absent from the desired snapshot. Set spec.prune.mode: always on a GitTarget that needs full desired-state convergence. Deleting a resource in the cluster still deletes its file. Ships in the same release as the rule-kind scope change, which it exists to make non-destructive. +* **api:** `ClusterWatchRule` is cluster-scope-only and `WatchRule.spec.sourceNamespace` moved to `spec.rules[].sourceNamespace`. A namespaced `ClusterWatchRule` becomes a `WatchRule` in the tenant namespace; its namespaced items become `sourceNamespace: "*"` (or explicit names). A target that declares no `allowedSourceNamespaces` admits NOTHING to a `"*"` item, so converting without also declaring that policy narrows production data. See docs/UPGRADING.md. +* **kustomize:** attribute overrides with a dyed render, verify by re-render, delete the re-implementation ([#233](https://github.com/ConfigButler/gitops-reverser/issues/233)) +* **kustomize:** read kustomization.yaml with kustomize, not a hand-written parser ([#229](https://github.com/ConfigButler/gitops-reverser/issues/229)) +* **gitops-api:** layout corpus, support baseline, and doc-link checker ([#224](https://github.com/ConfigButler/gitops-reverser/issues/224)) +* **rbac:** least-privilege RBAC, a strict chart values schema, and informers that stop on 403 ([#223](https://github.com/ConfigButler/gitops-reverser/issues/223)) +* bumping crd versions and last edits +* validating webhook is required (even is audit has been configured). +* **api:** the configbutler.ai API group is now served only at v1alpha2; v1alpha1 manifests and clients must be updated to v1alpha2. +* providerRef no longer accepts a Flux GitRepository (group/kind enum values removed), and the per-Secret insecure_ignore_host_key key is replaced by the --insecure-allow-missing-known-hosts controller flag. See docs/UPGRADING.md for migration steps. +* Field rename for clarity (please check configuration.md) + +### Features + +* --author-attribution={true|false} is now allowing you to enable or disable the need for kube-api configuration (at the cost of loosing the real author). ([7860294](https://github.com/ConfigButler/gitops-reverser/commit/7860294b237ac9e944e1dac8561d6e7a2111b3cd)) +* /readyz now waits for healthy audit ingress and valid pingable Reds connection ([c10a4da](https://github.com/ConfigButler/gitops-reverser/commit/c10a4da3c0ca3b3daf62466ee401c5fd6a95eb90)) +* **acceptance:** accept benign repo-hygiene passengers instead of refusing the folder ([#242](https://github.com/ConfigButler/gitops-reverser/issues/242)) ([49327fd](https://github.com/ConfigButler/gitops-reverser/commit/49327fd4e72b9f9d086172bfc1efb7c36417ef39)) +* **acceptance:** treat a release-referenced values file as read-only context ([#245](https://github.com/ConfigButler/gitops-reverser/issues/245)) ([d25c013](https://github.com/ConfigButler/gitops-reverser/commit/d25c0134dbb0dc423b67ca648534aa2daebeb439)) +* allow end-user to create explicit commit with specific message (which also ends the automatic commit window). ([abd6a48](https://github.com/ConfigButler/gitops-reverser/commit/abd6a48fed972a1d50d6f7304183766829db0021)) +* Allowing commit author and message config ([04a592b](https://github.com/ConfigButler/gitops-reverser/commit/04a592b03d5244cf36bbb18ac05c99c6cffc8b98)) +* **analyzer:** make the scan report a KRM document that says what it knows ([#275](https://github.com/ConfigButler/gitops-reverser/issues/275)) ([a3daa6b](https://github.com/ConfigButler/gitops-reverser/commit/a3daa6baf1475dedc32099f3cafbc3f5090a33bb)) +* API-surface trigger gating, Redis key prefix, pkg/manifestanalyzer + scan-folder/scan-repo rename ([#221](https://github.com/ConfigButler/gitops-reverser/issues/221)) ([0a940b3](https://github.com/ConfigButler/gitops-reverser/commit/0a940b358a53543f1565f0feb4a8ac58525fe499)) +* **api:** add GitTarget.spec.prune.mode and stop inferring deletions ([#260](https://github.com/ConfigButler/gitops-reverser/issues/260)) ([f103ca8](https://github.com/ConfigButler/gitops-reverser/commit/f103ca85380d02516b55f77bfdc36c235dbe0aa4)) +* **api:** rename API group version v1alpha1 -> v1alpha2 ([a7c4dcd](https://github.com/ConfigButler/gitops-reverser/commit/a7c4dcd71329a87cfa4655b6892f8dcb20daf6ee)) +* **api:** scope by kind — per-item WatchRule source namespaces, cluster-only ClusterWatchRule ([#259](https://github.com/ConfigButler/gitops-reverser/issues/259)) ([982e816](https://github.com/ConfigButler/gitops-reverser/commit/982e81649e5d875a55a0d687e59a991ba0b0590b)) +* audit webhooks it is ([ff31254](https://github.com/ConfigButler/gitops-reverser/commit/ff312545657f83bc24773a95cca6299e20f6356d)) +* bi-directional ArgoCD advise/tests + strip Argo tracking-id from Git writes ([#225](https://github.com/ConfigButler/gitops-reverser/issues/225)) ([ddd75cb](https://github.com/ConfigButler/gitops-reverser/commit/ddd75cb48661d114b7343dd4b06293bc49043616)) +* bumping apiservice-audit-proxy and it's all TLS now ([9d431c2](https://github.com/ConfigButler/gitops-reverser/commit/9d431c27cc7a01d41d78337f59c8130d3e7b2c14)) +* bumping crd versions and last edits ([4fcffa3](https://github.com/ConfigButler/gitops-reverser/commit/4fcffa319f5b9406f8d4921a34cd53ba7f670794)) +* **chart:** Redis-optional install by default; rename modes to configured-author/attributed-author ([#211](https://github.com/ConfigButler/gitops-reverser/issues/211)) ([3bd40c0](https://github.com/ConfigButler/gitops-reverser/commit/3bd40c0199dc858c978ed784726c2742dd2d3751)) +* ClusterProvider — source clusters by name, reconcile-time namespace authorization ([#251](https://github.com/ConfigButler/gitops-reverser/issues/251)) ([5065b09](https://github.com/ConfigButler/gitops-reverser/commit/5065b09ebbc533065ce323313b0151aef1f94e5e)) +* commit signing ([5e8ad9c](https://github.com/ConfigButler/gitops-reverser/commit/5e8ad9cc0613a476dcf2a08695909e64478cb7bc)) +* CommitRequest can be attributed by validating webhook handler since it's an internal command ([58dd37a](https://github.com/ConfigButler/gitops-reverser/commit/58dd37a8b2d3e408bff555f71d841a3b0cb17152)) +* **commitrequest:** controller-driven, audit-attributed finalize (C-B2) ([cc426d8](https://github.com/ConfigButler/gitops-reverser/commit/cc426d8f74c7ec28895f2d73612ed10659dfe5a8)) +* **commitrequest:** eager message attach (stage 4) ([d5113a1](https://github.com/ConfigButler/gitops-reverser/commit/d5113a119328b3014df6a71f13e40cbe003d4c1a)) +* **commitrequest:** resolve-on-push with the pushed SHA (stage 5) ([c9093d3](https://github.com/ConfigButler/gitops-reverser/commit/c9093d3d07dbd28d80410dfacb0cfd98a4499005)) +* **commitrequest:** the Rejected outcome with a structured reason (stage 6) ([d800fb4](https://github.com/ConfigButler/gitops-reverser/commit/d800fb41f24e7b4425d67ca299b3691c0144e6c5)) +* config-plane split, immutable GitTarget.spec.kubeConfig for remote-cluster mirroring ([#249](https://github.com/ConfigButler/gitops-reverser/issues/249)) ([9dc5da7](https://github.com/ConfigButler/gitops-reverser/commit/9dc5da7293fd09e3a84c3a0980be10d485954e92)) +* count loc ([f819e9a](https://github.com/ConfigButler/gitops-reverser/commit/f819e9a5ed445b78388108510df5afed216d9486)) +* deduplicated audit ingestion for aggregated API, removes the option to indicate cluster id ([35443db](https://github.com/ConfigButler/gitops-reverser/commit/35443dbc8062da13feb807017314df5b12a1467e)) +* demand driven audit ingestion (only for types that we need) ([dbfce5e](https://github.com/ConfigButler/gitops-reverser/commit/dbfce5ef5d18706fa08110ecb1a6c7cf57f45d38)) +* Field rename for clarity (please check configuration.md) ([9f101b0](https://github.com/ConfigButler/gitops-reverser/commit/9f101b0737396ebf4361e17792b35ebe5148e0b4)) +* first phase for commit batching based on author ([e742e8c](https://github.com/ConfigButler/gitops-reverser/commit/e742e8c2950589298ab4844818bfa212e80a2d1c)) +* **gitops-api:** layout corpus, support baseline, and doc-link checker ([#224](https://github.com/ConfigButler/gitops-reverser/issues/224)) ([c48cc58](https://github.com/ConfigButler/gitops-reverser/commit/c48cc583664baf433355d97e50b3facf0faa31ed)) +* **gitops-api:** place new resources to match the repo's existing layout ([#202](https://github.com/ConfigButler/gitops-reverser/issues/202)) ([97a9c87](https://github.com/ConfigButler/gitops-reverser/commit/97a9c8793847efb6a2fba5a9626490e1bbfb9ee7)) +* **gitops-api:** treat higher-level KRM objects (HelmRelease, Argo Application, KRO) as first-class documents ([#203](https://github.com/ConfigButler/gitops-reverser/issues/203)) ([e5722a7](https://github.com/ConfigButler/gitops-reverser/commit/e5722a73bf8e0f9f32c986f478f89e9899a92c9b)) +* **git:** write-boundary L1/L2 preconditions, WriteBoundaryRefused status, and go 1.26.5 refresh ([#216](https://github.com/ConfigButler/gitops-reverser/issues/216)) ([e9a2476](https://github.com/ConfigButler/gitops-reverser/commit/e9a2476d9bc3de9bd97c004a5f3be2ab5f88eb17)) +* immutable gittargets and gitdestinations ([167a800](https://github.com/ConfigButler/gitops-reverser/commit/167a800a1906fedc4d93fc3295d2a3ac834b3716)) +* **kustomize:** attribute overrides with a dyed render, verify by re-render, delete the re-implementation ([#233](https://github.com/ConfigButler/gitops-reverser/issues/233)) ([61ed1e7](https://github.com/ConfigButler/gitops-reverser/commit/61ed1e7a78f42372ef82e53e13e9d55f93df3fd1)) +* **kustomize:** edit images/replicas overrides through to kustomization.yaml ([#198](https://github.com/ConfigButler/gitops-reverser/issues/198)) ([a8ce917](https://github.com/ConfigButler/gitops-reverser/commit/a8ce917a211d30c7ff4f6c6d82bf0acccbac97c2)) +* **kustomize:** read kustomization.yaml with kustomize, not a hand-written parser ([#229](https://github.com/ConfigButler/gitops-reverser/issues/229)) ([6b3f202](https://github.com/ConfigButler/gitops-reverser/commit/6b3f202c7c8ed4c482fcdd9ecdf29b6c34dc4050)) +* let's get all testing to Kubernetes 1.36 ([905ff29](https://github.com/ConfigButler/gitops-reverser/commit/905ff29fd5bec5a3cf4cbc2c29409337bdf82fe3)) +* make unresolved attribution explicit and harden operations ([#257](https://github.com/ConfigButler/gitops-reverser/issues/257)) ([e41f69c](https://github.com/ConfigButler/gitops-reverser/commit/e41f69cca46258e93713a1e61fc51ba9351824b8)) +* **manifest-analyzer:** repo-walker onboarding discovery (F8 first cut) ([22e9e92](https://github.com/ConfigButler/gitops-reverser/commit/22e9e923a904d262a6d067ff49968860d2535925)) +* **manifestanalyzer,git:** refuse unsupported GitTarget folder content in the writer ([6264d5d](https://github.com/ConfigButler/gitops-reverser/commit/6264d5d72426a476aa798f2ce4f4d6c599394d92)) +* metrics overhaul as a step into more observability ([1a7cd19](https://github.com/ConfigButler/gitops-reverser/commit/1a7cd19ea416fb4dfe69271867aab9034695ab75)) +* **overlay:** prove new-object placement; author images/replicas overrides and $patch:delete ([#244](https://github.com/ConfigButler/gitops-reverser/issues/244)) ([38590d1](https://github.com/ConfigButler/gitops-reverser/commit/38590d1086498492c9f83f4574c19eaedd797e22)) +* prevent nested gittargets ([c407fa4](https://github.com/ConfigButler/gitops-reverser/commit/c407fa43339f954beba70a33aa10ccd8f3b43c39)) +* **rbac:** least-privilege RBAC, a strict chart values schema, and informers that stop on 403 ([#223](https://github.com/ConfigButler/gitops-reverser/issues/223)) ([21a0565](https://github.com/ConfigButler/gitops-reverser/commit/21a0565fef08bf4c80f376fbcfa75dc5d70d6071)) +* read Flux/Argo credential Secrets; drop Flux GitRepository providerRef ([fc7a765](https://github.com/ConfigButler/gitops-reverser/commit/fc7a76529c0fe49851314870e7b6fdb8c42af351)) +* refuse weird files in GitTarget path, but do allow .gittargetignore ([1bf3820](https://github.com/ConfigButler/gitops-reverser/commit/1bf3820fdba20d919075189d6c0813f16587d919)) +* rename snapshotTemplate to reconcileTemplate, and default now includes type and last resourceVersion ([e26676d](https://github.com/ConfigButler/gitops-reverser/commit/e26676d960b0fe7c8e42a779c1adb93695097b8b)) +* render-root scoping + tolerate patches and patched overlays reading ../../base ([#239](https://github.com/ConfigButler/gitops-reverser/issues/239)) ([e9d6be1](https://github.com/ConfigButler/gitops-reverser/commit/e9d6be1bea2e6db5a55e9c3b17d64f2df7b81231)) +* replacing Makefile by Taskfile ([bd3b709](https://github.com/ConfigButler/gitops-reverser/commit/bd3b70929d01f16136882d1a78704c5d66e26e12)) +* require value for GitTarget.Path, since hooking up GitTarget to repo root must be deliberate ([39e02a6](https://github.com/ConfigButler/gitops-reverser/commit/39e02a68e8b7857f0d87677810db327a12a12233)) +* reworking metrics to new architecture ([b502afe](https://github.com/ConfigButler/gitops-reverser/commit/b502afe512501345df5795899a40484103d87b7c)) +* **scan-repo:** adopt external-base overlays instead of refusing them ([#243](https://github.com/ConfigButler/gitops-reverser/issues/243)) ([c7650f9](https://github.com/ConfigButler/gitops-reverser/commit/c7650f9e25c3b95e19615ff0e4afd1f507824f13)) +* **secrets:** stop retaining Secret values in the control plane ([#208](https://github.com/ConfigButler/gitops-reverser/issues/208)) ([535c5ed](https://github.com/ConfigButler/gitops-reverser/commit/535c5ed3991db33e7f5f2343256f4b5ffab87d85)) +* **status:** two-axis GitTarget status (Ready + Synced/phase), serviceability roll-up ([cea0b35](https://github.com/ConfigButler/gitops-reverser/commit/cea0b353c90a028d61d13e939687809b97869c83)) +* **stream:** /scale rides the parent type's stream (DEC-A, stages C-A1+C-A2) ([4741e66](https://github.com/ConfigButler/gitops-reverser/commit/4741e66e066f0a474dccf131834baec158e2ec48)) +* support --additionalSensitiveResources (in addition to v1/secrets) ([3ae1ebd](https://github.com/ConfigButler/gitops-reverser/commit/3ae1ebd0e10afd73b66737269889a76b586b94e7)) +* support "offical_first" for situations where the offical kube-api audit events arrives slightly before the additional body event. ([380dc1e](https://github.com/ConfigButler/gitops-reverser/commit/380dc1e94c62c9a70f1253cb79236567d7b0c30f)) +* support claim based commit author attribution ([06eaf8c](https://github.com/ConfigButler/gitops-reverser/commit/06eaf8c99d43305caa826301e4246f8b1ed8263e)) +* support flexible manifest placement / editting ([d43d268](https://github.com/ConfigButler/gitops-reverser/commit/d43d268bee4ca41229fc480237ff6c56620fc0cb)) +* support for subresources (working kubectl scale deployment) ([0f34d50](https://github.com/ConfigButler/gitops-reverser/commit/0f34d50f06a2f098f7b05c93488c98436bc7efd4)) +* switching to apiservie-audit-proxy ([1843cff](https://github.com/ConfigButler/gitops-reverser/commit/1843cff72795370683c1983a2414ca8c2e555e2b)) +* **typeset,watch:** M12 first slices — type lifecycle events + per-type reconcile/sweep ([e3f0bd8](https://github.com/ConfigButler/gitops-reverser/commit/e3f0bd85a3d361707736e66e809e886e3a691e09)) +* **typeset:** registry owns discovery grace; catalog shrunk to a per-scan normalizer ([6d0dba4](https://github.com/ConfigButler/gitops-reverser/commit/6d0dba48e7962b3556d794a1a301c87eb4520f58)) +* validating webhook is required (even is audit has been configured). ([96ec390](https://github.com/ConfigButler/gitops-reverser/commit/96ec39066741b434887ec08115b7748813a7dba1)) +* watch-first ingestion ([28389c9](https://github.com/ConfigButler/gitops-reverser/commit/28389c99848035073fcd4aac367dd80c4c674560)) +* **watch:** CommitRequest watermark barrier primitive (C-B1) ([781bfd6](https://github.com/ConfigButler/gitops-reverser/commit/781bfd6dfee9d02de5d575c2551c570a7b287525)) +* **watch:** diff watch-derived vs audit-derived desired sets (Phase 1 payoff) ([c8ba472](https://github.com/ConfigButler/gitops-reverser/commit/c8ba472bd1d0c20391c1185ebb31ccf492dd3995)) +* **watch:** parallel watch-state stream behind --watch-state-stream ([097230b](https://github.com/ConfigButler/gitops-reverser/commit/097230b8c600b997f20e7e3f0c172ef253ec9b0b)) +* **watch:** surface a refused GitTarget folder as a Blocked stream ([5bdc43d](https://github.com/ConfigButler/gitops-reverser/commit/5bdc43dbab861c7eef1d9c20a511837aeb087399)) + + +### Bug Fixes + +* allow generated names with a commit request ([#155](https://github.com/ConfigButler/gitops-reverser/issues/155)) ([ff27eba](https://github.com/ConfigButler/gitops-reverser/commit/ff27ebaa1b1872d095325057a6d36dae707b0471)) +* Allow GitTarget to respond quickly to changes in the tracked GitFolder ([591d310](https://github.com/ConfigButler/gitops-reverser/commit/591d3100efa59745b59d332e48979febf68f539d)) +* **attribution:** partition author facts by declared audit route ([#263](https://github.com/ConfigButler/gitops-reverser/issues/263)) ([0d61128](https://github.com/ConfigButler/gitops-reverser/commit/0d61128ca890b2188bd8613eecf1f2834258c5aa)) +* **attribution:** resolve the audit route from one ClusterProvider read ([#264](https://github.com/ConfigButler/gitops-reverser/issues/264)) ([686fb00](https://github.com/ConfigButler/gitops-reverser/commit/686fb0020d3c9a3c77b775aba15b9348f4ad0b12)) +* audit messages that indicate conflict (409) can't end up in Git anymore (should never happen given that they also don't end up in etcd). ([ec47c52](https://github.com/ConfigButler/gitops-reverser/commit/ec47c5227126f625064326c57fad5f94789be314)) +* better reconcile ([f3dcf56](https://github.com/ConfigButler/gitops-reverser/commit/f3dcf56e5135b455bdc0a8bd1b20651fb6cdb12e)) +* central APIResourceCatalog so that we have one abstraction/cache to which things the current apiserver is serving. ([3d6cb62](https://github.com/ConfigButler/gitops-reverser/commit/3d6cb6258a168da6ad82e0c17a459efacb3ecbe3)) +* **ci:** free runner disk after image loads; diagnose e2e rollout timeouts ([#187](https://github.com/ConfigButler/gitops-reverser/issues/187)) ([b89432f](https://github.com/ConfigButler/gitops-reverser/commit/b89432f4113d965f38926c1b744c938f345424bf)) +* **ci:** pin Trivy platform when scanning release digests ([#191](https://github.com/ConfigButler/gitops-reverser/issues/191)) ([08d557d](https://github.com/ConfigButler/gitops-reverser/commit/08d557dd7c386b4645916ad25ff0399177454c03)) +* **controller:** retry Declare on the settle cadence instead of stalling 10m ([b4cafce](https://github.com/ConfigButler/gitops-reverser/commit/b4cafce24951069b41778a726b14f63d0c5ebe55)) +* **e2e:** deliver image via k3d direct mode, keep retry + pin verification ([#186](https://github.com/ConfigButler/gitops-reverser/issues/186)) ([31abd14](https://github.com/ConfigButler/gitops-reverser/commit/31abd1448a53cab8923e8553d052b37e0f94f178)) +* **e2e:** gate cluster readiness on healthy API discovery ([5b81718](https://github.com/ConfigButler/gitops-reverser/commit/5b81718b88a34b043cc42d39fe8d5d4448641010)) +* **e2e:** retry k3d image import when the tools-node tarball race drops the image ([#185](https://github.com/ConfigButler/gitops-reverser/issues/185)) ([e426206](https://github.com/ConfigButler/gitops-reverser/commit/e426206921899afb274aa8886f1c1a71c31502da)) +* first relevant commit can also include optional files (is now included). ([5801b5d](https://github.com/ConfigButler/gitops-reverser/commit/5801b5d6f29b7e0841d835041a89a434ff7ebdf6)) +* fixing flaky e2e test ([83e9f17](https://github.com/ConfigButler/gitops-reverser/commit/83e9f17f69a03a1f75aff0cf1a0a9300029c4aea)) +* gate audit body joins by rule relevance ([605964a](https://github.com/ConfigButler/gitops-reverser/commit/605964ab046e14ae8ae6463da45ab44d2ea2e3c3)) +* **git:** push a window closed by a no-op resync (stage 3) ([103ad36](https://github.com/ConfigButler/gitops-reverser/commit/103ad360d6a2b679f63ebbaf8b229a592fe860d8)) +* gittarget can just be created without existing gitprovider (don't block, just give a good error). ([ee20cfd](https://github.com/ConfigButler/gitops-reverser/commit/ee20cfd68481ad022314a0261ac6c1449c20fa93)) +* green CI — guard anonymous-access nil deref and skip audit webhook TLS for committer-only e2e ([1e23e16](https://github.com/ConfigButler/gitops-reverser/commit/1e23e16f2a2d7ef20ed084fcdf8d0d2bd799c914)) +* Handle deletion 'updates' by checking for terminating and deletionTimestamp ([fdf4214](https://github.com/ConfigButler/gitops-reverser/commit/fdf421425940a35a55b668c5b740d2fb73efeef7)) +* Have working printcolumns ([eca9ae8](https://github.com/ConfigButler/gitops-reverser/commit/eca9ae8cc448b0682e1c484feb8d969abc581600)) +* **heal:** drain a deferred heal when an atomic finalizes the window; fix drifted comments ([23c881b](https://github.com/ConfigButler/gitops-reverser/commit/23c881b5bcf10b887ad1fa364873349ff9564ad3)) +* **heal:** restore periodic checkpoint healing via a deferred-until-idle heal resync ([9a06fe8](https://github.com/ConfigButler/gitops-reverser/commit/9a06fe8a5e7d85e5e1eec3f82476bea3395c68b0)) +* ignore subresource audit events (that was hard to debug!) and replaced debug dump mechanism ([#153](https://github.com/ConfigButler/gitops-reverser/issues/153)) ([23a2d65](https://github.com/ConfigButler/gitops-reverser/commit/23a2d6585c4f7055b0b45a736ca7cfb194aa46c1)) +* improve and test GitTarget isolation behaviour ([0787b1b](https://github.com/ConfigButler/gitops-reverser/commit/0787b1b68bd9eb47ea3b816712f8eb09861f6d6b)) +* **kustomize:** a digest: override no longer strips the tag out of the source file ([#231](https://github.com/ConfigButler/gitops-reverser/issues/231)) ([8a835f0](https://github.com/ConfigButler/gitops-reverser/commit/8a835f094682e66688102c7b44877f38954537fc)) +* **kustomize:** refuse a folder kustomize cannot build, and read the override chain from the renderer ([#232](https://github.com/ConfigButler/gitops-reverser/issues/232)) ([960e3bd](https://github.com/ConfigButler/gitops-reverser/commit/960e3bd0f03dfeb9f5e2552d743eaa42aba49cee)) +* **kustomize:** stop writing the build's own output into the build's input ([#234](https://github.com/ConfigButler/gitops-reverser/issues/234)) ([8444cd0](https://github.com/ConfigButler/gitops-reverser/commit/8444cd000c9159d7b0fd128e1d7ac72d03aac050)) +* **materialization:** retry a failed Declare-time initial backfill ([af6c5b8](https://github.com/ConfigButler/gitops-reverser/commit/af6c5b85e6a02923bfea123271d96124dd5908f6)) +* prevent PrepareBranch call for cold cases ([f760c36](https://github.com/ConfigButler/gitops-reverser/commit/f760c36f0410262326c2a015b64dee4938d9aceb)) +* prevent race in creating gitea org ([ddbcbb3](https://github.com/ConfigButler/gitops-reverser/commit/ddbcbb399fea816e6d63614330b3fbba3ce5f0c0)) +* Preventing reconcile code from ignoring ns boundary ([d3b0ecf](https://github.com/ConfigButler/gitops-reverser/commit/d3b0ecf9670ef5caefd6fcf2dfe601efd26542a9)) +* race condition in HelmRelease causing unstable e2e tests ([03b95ab](https://github.com/ConfigButler/gitops-reverser/commit/03b95abfae8a52552729872231441c1e1ac2cbc5)) +* readds support for wildcards ([8e1b3ab](https://github.com/ConfigButler/gitops-reverser/commit/8e1b3ab15d03c3fad9eb002c1293ab3623ccb6ca)) +* reconicle fail on restart and wildcard ([26511a9](https://github.com/ConfigButler/gitops-reverser/commit/26511a967e4145f2ae691b191f9da1b408dc2932)) +* **release:** give the analyzer job the bash it was written for ([#279](https://github.com/ConfigButler/gitops-reverser/issues/279)) ([8bb4490](https://github.com/ConfigButler/gitops-reverser/commit/8bb4490addf8b1a34e49f1a4e6184aa5cf888a0d)) +* **release:** sign and attest GitHub release assets directly ([#201](https://github.com/ConfigButler/gitops-reverser/issues/201)) ([10f8962](https://github.com/ConfigButler/gitops-reverser/commit/10f8962f61cf1ac7da5bab08f5373fda61028862)) +* resolving a flaky unit test ([04715a2](https://github.com/ConfigButler/gitops-reverser/commit/04715a283db835adac038481e33f2a39283b5656)) +* **sanitize:** strip the kcp.io/cluster annotation from Git writes ([#227](https://github.com/ConfigButler/gitops-reverser/issues/227)) ([d9b6d9d](https://github.com/ConfigButler/gitops-reverser/commit/d9b6d9ddcf4662019eedbd7199b5a3ad76cab822)) +* showing spec.message at commitrequests ([54225eb](https://github.com/ConfigButler/gitops-reverser/commit/54225eb7713c4796a6d8d6da6d581733b84de2b3)) +* timing issues when adding a new WatchRule in e2e: simplifying the ingestion resolves this ([a688620](https://github.com/ConfigButler/gitops-reverser/commit/a688620e3d6832afb2976f3f542edfb005d977a9)) +* upgrade to latest a apiservice-audit-proxy should resolve our non 0 shallow events, also included tests to verify that we don't misread deletecollection events as shallow ([903d792](https://github.com/ConfigButler/gitops-reverser/commit/903d7920162ecd56b9d863666959fc7f7d77e3e1)) +* wainting for the right status to return ([cc701d6](https://github.com/ConfigButler/gitops-reverser/commit/cc701d645a2e4318e9af2f90459a0cd5bae5cf43)) +* watch for changes in dependent resources ([8c9aeb8](https://github.com/ConfigButler/gitops-reverser/commit/8c9aeb8b2c51187cc6d6b9dd05bd7f6452c19d97)), closes [#145](https://github.com/ConfigButler/gitops-reverser/issues/145) +* **watch:** a cluster-wide selection must not collapse named-namespace streams ([#255](https://github.com/ConfigButler/gitops-reverser/issues/255)) ([10a530a](https://github.com/ConfigButler/gitops-reverser/commit/10a530a8754e1e32d21b41d9a4189297cc343b55)) +* **watch:** enforce ClusterProvider admission wherever rules compile ([#258](https://github.com/ConfigButler/gitops-reverser/issues/258)) ([82d0c39](https://github.com/ConfigButler/gitops-reverser/commit/82d0c39f82e6195a121d1e56bf7473f213f2af71)) +* **watch:** only backfill-reconcile a type on its first TypeSynced ([8f2ad84](https://github.com/ConfigButler/gitops-reverser/commit/8f2ad840179880723427546f3eff2c8e6f22c0ee)) +* WatchRule leaking resources from other namespaces in live event stream ([1676a42](https://github.com/ConfigButler/gitops-reverser/commit/1676a423ad30df094acfcb21890f786ba16d9248)) + + +### Performance Improvements + +* **build:** cache Go build + module dirs in Dockerfile builder ([#194](https://github.com/ConfigButler/gitops-reverser/issues/194)) ([55ed662](https://github.com/ConfigButler/gitops-reverser/commit/55ed662f92bf0c882f1f10a62ae1146258b563b2)) + + +### Documentation + +* adding architectural overview ([e932402](https://github.com/ConfigButler/gitops-reverser/commit/e93240203d2675a9d9799f4fd372ebc99327eb0b)) +* adding DAG overview of tasks ([#177](https://github.com/ConfigButler/gitops-reverser/issues/177)) ([f7a8b6a](https://github.com/ConfigButler/gitops-reverser/commit/f7a8b6a024423f4ceb8c1bdbd117a2428a354a1a)) +* adding designs with use cases ([31b7857](https://github.com/ConfigButler/gitops-reverser/commit/31b78577d2c08ac8aecc72d86ffaa9cd17afa61b)) +* adding skills and working on status design ([e55b63a](https://github.com/ConfigButler/gitops-reverser/commit/e55b63a1d5d3a835be5e39400e12a2bffe34d25e)) +* Adjusting docs to how it all works now ([f8c7796](https://github.com/ConfigButler/gitops-reverser/commit/f8c7796976aa15df2ba2194f0dd2276c0e8c05e3)) +* and simpler ([c27f7ab](https://github.com/ConfigButler/gitops-reverser/commit/c27f7ab94c5a91ff516eebade8454b82f8d452e4)) +* And the last claude additions for today ([76191b3](https://github.com/ConfigButler/gitops-reverser/commit/76191b3b22d04c2c4c4944ba8e430390ab95be68)) +* architecture tweaks and cleaning docs ([f9aca70](https://github.com/ConfigButler/gitops-reverser/commit/f9aca70f19f6e6a7b0e05e29ac948e639bde5a17)) +* **boundary:** consolidate support records ([#241](https://github.com/ConfigButler/gitops-reverser/issues/241)) ([3b937f9](https://github.com/ConfigButler/gitops-reverser/commit/3b937f902bbb5e94d90c9336b8ef1d6b93bfaf65)) +* capture contextual-namespace + SOPS single-file decisions, add folder fixtures ([1bd8af7](https://github.com/ConfigButler/gitops-reverser/commit/1bd8af7fd7778006a953d74774b7bc30a45dc031)) +* cleaning and moving to finished ([bb79343](https://github.com/ConfigButler/gitops-reverser/commit/bb7934301be8fdc2c16c0abd59a5f7a95facef57)) +* cleaning branch work ([d07233a](https://github.com/ConfigButler/gitops-reverser/commit/d07233ac7acfbe1288a552f49be16f9f39348ed8)) +* cleaning up and more clarity ([51396a2](https://github.com/ConfigButler/gitops-reverser/commit/51396a23be4282d9a724f58149ef94b92e66abc6)) +* Cleaning up docs ([96b249d](https://github.com/ConfigButler/gitops-reverser/commit/96b249d7597829a8fb3b1274a770790c4a76aa52)) +* cleaning up old docs ([791d2f9](https://github.com/ConfigButler/gitops-reverser/commit/791d2f908db24d6305d773b6cf1ef25b3d721ec5)) +* clear the markdownlint backlog and gate structure tree-wide ([#265](https://github.com/ConfigButler/gitops-reverser/issues/265)) ([81b7648](https://github.com/ConfigButler/gitops-reverser/commit/81b7648d62668b0d1e0f84c568251fd8cb374e08)) +* continue designing for this approach ([27ba3db](https://github.com/ConfigButler/gitops-reverser/commit/27ba3dbf0192a9cbf421af7c86d089472bbecaa0)) +* continue docs clean-up, and other small things from review ([80c380c](https://github.com/ConfigButler/gitops-reverser/commit/80c380c0bf53167ddbd8bd641c70c6c7a66ca288)) +* created new plan, and hopefully found why the tests are so flaky ([9e610e6](https://github.com/ConfigButler/gitops-reverser/commit/9e610e68e04a748a9ef1cb12b6f5a2c6cd5cb0a6)) +* desiging the next phase ([c2d3ce8](https://github.com/ConfigButler/gitops-reverser/commit/c2d3ce86e48cc6518e6c22edd96b5efb02edecfc)) +* designing gittargetignore ([19ffc7e](https://github.com/ConfigButler/gitops-reverser/commit/19ffc7e6e04e8646c886ee0ed92bf8e6de9b8e78)) +* document learnings, and some tests to see how this behaves ([64a0c19](https://github.com/ConfigButler/gitops-reverser/commit/64a0c1967c6710afbfb731922ca2b315e5cf0e02)) +* fighting over abstractions, and what the exact value is of certain parts ([f9227fc](https://github.com/ConfigButler/gitops-reverser/commit/f9227fc4f2fd43f9f12fcd52107675013ae540c3)) +* final review on architecture.md ([046b538](https://github.com/ConfigButler/gitops-reverser/commit/046b53804a3344b210565b821d9bc0dd6950a3d2)) +* first design ([7d60c22](https://github.com/ConfigButler/gitops-reverser/commit/7d60c223330edb920931de70ece05302b12fe1ed)) +* five-PR plan for WatchRule source namespaces, plus PR 1 — namespace-scoped resync ([#254](https://github.com/ConfigButler/gitops-reverser/issues/254)) ([a60590b](https://github.com/ConfigButler/gitops-reverser/commit/a60590bba17c81c33423a09885ef4651db492228)) +* getting all design docs together so that we can cleanup ([17339c0](https://github.com/ConfigButler/gitops-reverser/commit/17339c0c453690414a62dae6e08adf53fe4e48d5)) +* getting audit ingestion ([63de7d8](https://github.com/ConfigButler/gitops-reverser/commit/63de7d8f104a52d1a020ed0d7dcc136d6f9beac9)) +* getting better ([7bd1f32](https://github.com/ConfigButler/gitops-reverser/commit/7bd1f32d94e4806da73ed234c51185b0be3d4c24)) +* getting claude to review it again, with some questioning of my own ([e133724](https://github.com/ConfigButler/gitops-reverser/commit/e133724c7e99200d589e8617ac1d65849b0fa42c)) +* getting codex feedback ([a42145c](https://github.com/ConfigButler/gitops-reverser/commit/a42145c1af6bffd36090e1bc0de14bd6d682984a)) +* getting docs in and small fixes and tests ([160640a](https://github.com/ConfigButler/gitops-reverser/commit/160640a18e06ad027fed62f1f2875244b276f0db)) +* getting docs in line and reporting on current findings ([76929d8](https://github.com/ConfigButler/gitops-reverser/commit/76929d8f3d4bb6e85e96b224897fe78e727d54f4)) +* getting more details in the plan ([135820b](https://github.com/ConfigButler/gitops-reverser/commit/135820bb42114102227337600668ab74bf03f9d3)) +* getting more whys into the architecture document ([5762a4a](https://github.com/ConfigButler/gitops-reverser/commit/5762a4a31029b6cb52051bb16f4cf26aa46d3306)) +* Getting next steps in ([ac12d25](https://github.com/ConfigButler/gitops-reverser/commit/ac12d25494ded69094ad037be13e78a0145a7545)) +* getting started hints for aggregated API usage ([7d86434](https://github.com/ConfigButler/gitops-reverser/commit/7d864340cfceb568ea0e86fe3c0cbe5647b44bff)) +* getting the plan ready for execution ([6eb3787](https://github.com/ConfigButler/gitops-reverser/commit/6eb378744ad9fdd8177642f4514c9a9666f5d897)) +* **gitops-api:** onboarding repo-discovery design (F8); archive shipped F1/F7 ([#213](https://github.com/ConfigButler/gitops-reverser/issues/213)) ([4469e2b](https://github.com/ConfigButler/gitops-reverser/commit/4469e2be8619ea681f2ee6df2d39c3876d052294)) +* Improving quick-start quality by moving to helm ([cf25552](https://github.com/ConfigButler/gitops-reverser/commit/cf255528d422358945e7fa2acad3b09bbff1f260)) +* initial docs (also some findings from preps for Cozysummit) ([fbbfcec](https://github.com/ConfigButler/gitops-reverser/commit/fbbfcec75309577e33bf36243361428dea81002b)) +* investing in good designs is worth it I guess ([4cb5f45](https://github.com/ConfigButler/gitops-reverser/commit/4cb5f45c318af72286f7c543d063187254ee3d4e)) +* let clean it up a little bit for now ([026443a](https://github.com/ConfigButler/gitops-reverser/commit/026443a57ffd58c3317beb9793ddddb95d06528e)) +* Let's get an elaborate description of the e2e tests ([9091712](https://github.com/ConfigButler/gitops-reverser/commit/9091712d51571418cd00175b0ee52edd1c292be2)) +* Let's just commit it then ([401d194](https://github.com/ConfigButler/gitops-reverser/commit/401d194e56b9424184f557ae1d5fd8376cec33d6)) +* **materialization:** correct the stale watch-first sync comment; scope Slice D ([c3e6122](https://github.com/ConfigButler/gitops-reverser/commit/c3e612282864d88717256496cdc2a034a7d7adad)) +* More details in the document ([1b51f1c](https://github.com/ConfigButler/gitops-reverser/commit/1b51f1c6c0041bc31f25e9cc878b5983f344ee35)) +* moving architecture along with the rewrite ([6e1193a](https://github.com/ConfigButler/gitops-reverser/commit/6e1193a444f81bd402bee257f9c85888b4b7b51f)) +* Phase 2.5 status + Monday resume plan (3-agent CI green once; stability TBD) ([b285ac5](https://github.com/ConfigButler/gitops-reverser/commit/b285ac5e84a936143f3040e5f9b66a7de8b36764)) +* planning and designing for new features ([856beee](https://github.com/ConfigButler/gitops-reverser/commit/856beeed5f6ab3717a2d3010edaa914cdff0e44b)) +* planning the implementation ([d6e174b](https://github.com/ConfigButler/gitops-reverser/commit/d6e174bd6e483f2f181d843aa728ea7d01b81a1b)) +* reconcile residual-flake findings across the stream design docs ([90a1e7e](https://github.com/ConfigButler/gitops-reverser/commit/90a1e7ea0a0b144e4236d4ab21bf1b0f068c440d)) +* record Phase 2.5 implementation status and measured impact ([dba83ac](https://github.com/ConfigButler/gitops-reverser/commit/dba83ac962c749e744788416419625daefabedda)) +* reorder readme steps for devcontainer ([#178](https://github.com/ConfigButler/gitops-reverser/issues/178)) ([7856f69](https://github.com/ConfigButler/gitops-reverser/commit/7856f692a14e3d605c547174527e8ab1ee314b0a)) +* review the configuration surface, and record three consumer asks against the published contract ([#272](https://github.com/ConfigButler/gitops-reverser/issues/272)) ([1f0b5d1](https://github.com/ConfigButler/gitops-reverser/commit/1f0b5d1f976453dde4cf34c3fb38cf0c795b9415)) +* reworking docs and tuning the new CRD ([8ebceaf](https://github.com/ConfigButler/gitops-reverser/commit/8ebceafb9c6a81bda31a5b6545397db6508d5758)) +* second design ([2146289](https://github.com/ConfigButler/gitops-reverser/commit/21462898095621f4589907e9bbda73ade2e2d762)) +* some claude ([5315440](https://github.com/ConfigButler/gitops-reverser/commit/53154403e1bf078b5f9c506e02b27d6e41108477)) +* the plan is ambitious now I would say ([24457fb](https://github.com/ConfigButler/gitops-reverser/commit/24457fb3c928d04267133960b7990a6bb0511c5d)) +* **typeset-grace:** pin the exact typeset surface, consumers, and per-stage interface delta ([8e45ff8](https://github.com/ConfigButler/gitops-reverser/commit/8e45ff84e75cee0b55e2102207a234ce60fe0776)) +* **types:** make ResourceIdentifier.Key() a stated, tested contract ([#273](https://github.com/ConfigButler/gitops-reverser/issues/273)) ([80989ea](https://github.com/ConfigButler/gitops-reverser/commit/80989ea16cd023bb467e554f31d2c57e96890d00)) +* Working on plans ([7bb77bb](https://github.com/ConfigButler/gitops-reverser/commit/7bb77bb843cac543696d8471e36e8a3f114c0f52)) +* working on refining the design of this new pipeline ([7b15e2d](https://github.com/ConfigButler/gitops-reverser/commit/7b15e2dc70e6a1f2fe758364d5f5c30ef92ad029)) +* working on vision docs ([394d8bf](https://github.com/ConfigButler/gitops-reverser/commit/394d8bfc1c2bb24c0a48667e68f668ee989ccdd0)) + ## [0.40.0](https://github.com/ConfigButler/gitops-reverser/compare/v0.39.2...v0.40.0) (2026-07-27) diff --git a/charts/gitops-reverser/Chart.yaml b/charts/gitops-reverser/Chart.yaml index cec5166c..68bfed52 100644 --- a/charts/gitops-reverser/Chart.yaml +++ b/charts/gitops-reverser/Chart.yaml @@ -4,8 +4,8 @@ description: >- A Kubernetes controller for two-way GitOps synchronization - reverse sync from Kubernetes to Git type: application -version: 0.40.0 -appVersion: 0.40.0 +version: 0.41.0 +appVersion: 0.41.0 keywords: - gitops - kubernetes diff --git a/charts/gitops-reverser/values.yaml b/charts/gitops-reverser/values.yaml index c594d570..5673bb57 100644 --- a/charts/gitops-reverser/values.yaml +++ b/charts/gitops-reverser/values.yaml @@ -13,7 +13,7 @@ deploymentStrategy: image: repository: ghcr.io/configbutler/gitops-reverser pullPolicy: IfNotPresent - tag: 0.40.0 # x-release-please-version + tag: 0.41.0 # x-release-please-version imagePullSecrets: [] nameOverride: ""