Releases: ConfigButler/gitops-reverser
Release list
v0.39.1
0.39.1 (2026-07-23)
Bug Fixes
Documentation
Installation
Quick Install (plain manifests)
The CRDs ship as their own file and must be applied first — the bundle
contains a custom resource that cannot be created before its CRD exists:
kubectl apply -f https://github.com/ConfigButler/gitops-reverser/releases/download/v0.39.1/crds.yaml
kubectl apply -f https://github.com/ConfigButler/gitops-reverser/releases/download/v0.39.1/install.yamlHelm Chart
helm install gitops-reverser oci://ghcr.io/configbutler/charts/gitops-reverser --version 0.39.1Docker Images
This release is available as a Docker image:
docker pull ghcr.io/configbutler/gitops-reverser:0.39.1
docker pull ghcr.io/configbutler/gitops-reverser:latestPlatforms: linux/amd64, linux/arm64
Digest: sha256:5428f6919111f8de067d05e98b17e3af515f07aea929a259870fd4088d11f8b5
Verify this release
Images are signed with cosign (keyless) and carry SLSA build provenance
and an SPDX SBOM as registry attestations:
cosign verify \
--certificate-identity-regexp '^https://github.com/ConfigButler/gitops-reverser/\.github/workflows/release\.yml@refs/heads/main$' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
ghcr.io/configbutler/gitops-reverser:0.39.1
gh attestation verify \
oci://ghcr.io/configbutler/gitops-reverser:0.39.1 \
--repo ConfigButler/gitops-reverserv0.39.0
0.39.0 (2026-07-22)
⚠ BREAKING CHANGES
- 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:
ClusterWatchRuleis cluster-scope-only andWatchRule.spec.sourceNamespacemoved tospec.rules[].sourceNamespace. A namespacedClusterWatchRulebecomes aWatchRulein the tenant namespace; its namespaced items becomesourceNamespace: "*"(or explicit names). A target that declares noallowedSourceNamespacesadmits NOTHING to a"*"item, so converting without also declaring that policy narrows production data. See docs/UPGRADING.md.
Features
- api: add GitTarget.spec.prune.mode and stop inferring deletions (#260) (f103ca8)
- api: scope by kind — per-item WatchRule source namespaces, cluster-only ClusterWatchRule (#259) (982e816)
- make unresolved attribution explicit and harden operations (#257) (e41f69c)
Bug Fixes
- attribution: partition author facts by declared audit route (#263) (0d61128)
- watch: a cluster-wide selection must not collapse named-namespace streams (#255) (10a530a)
- watch: enforce ClusterProvider admission wherever rules compile (#258) (82d0c39)
Documentation
Installation
Quick Install (plain manifests)
The CRDs ship as their own file and must be applied first — the bundle
contains a custom resource that cannot be created before its CRD exists:
kubectl apply -f https://github.com/ConfigButler/gitops-reverser/releases/download/v0.39.0/crds.yaml
kubectl apply -f https://github.com/ConfigButler/gitops-reverser/releases/download/v0.39.0/install.yamlHelm Chart
helm install gitops-reverser oci://ghcr.io/configbutler/charts/gitops-reverser --version 0.39.0Docker Images
This release is available as a Docker image:
docker pull ghcr.io/configbutler/gitops-reverser:0.39.0
docker pull ghcr.io/configbutler/gitops-reverser:latestPlatforms: linux/amd64, linux/arm64
Digest: sha256:359fedd5212acc693d86a24ebd03717cd846e298d23a94d5d0e435acb696c7f3
Verify this release
Images are signed with cosign (keyless) and carry SLSA build provenance
and an SPDX SBOM as registry attestations:
cosign verify \
--certificate-identity-regexp '^https://github.com/ConfigButler/gitops-reverser/\.github/workflows/release\.yml@refs/heads/main$' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
ghcr.io/configbutler/gitops-reverser:0.39.0
gh attestation verify \
oci://ghcr.io/configbutler/gitops-reverser:0.39.0 \
--repo ConfigButler/gitops-reverserv0.38.0
0.38.0 (2026-07-18)
- BREAKING: review your attribution setup and webhook setup, thjs requires you attention.
Features
- ClusterProvider — source clusters by name, reconcile-time namespace authorization (#251) (5065b09)
- config-plane split, immutable GitTarget.spec.kubeConfig for remote-cluster mirroring (#249) (9dc5da7)
Installation
Quick Install (plain manifests)
The CRDs ship as their own file and must be applied first — the bundle
contains a custom resource that cannot be created before its CRD exists:
kubectl apply -f https://github.com/ConfigButler/gitops-reverser/releases/download/v0.38.0/crds.yaml
kubectl apply -f https://github.com/ConfigButler/gitops-reverser/releases/download/v0.38.0/install.yamlHelm Chart
helm install gitops-reverser oci://ghcr.io/configbutler/charts/gitops-reverser --version 0.38.0Docker Images
This release is available as a Docker image:
docker pull ghcr.io/configbutler/gitops-reverser:0.38.0
docker pull ghcr.io/configbutler/gitops-reverser:latestPlatforms: linux/amd64, linux/arm64
Digest: sha256:01826ec5802168eb043f70de73eaa71b4dbd56a66f18bc8ccf6ff20dca46c6d2
Verify this release
Images are signed with cosign (keyless) and carry SLSA build provenance
and an SPDX SBOM as registry attestations:
cosign verify \
--certificate-identity-regexp '^https://github.com/ConfigButler/gitops-reverser/\.github/workflows/release\.yml@refs/heads/main$' \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
ghcr.io/configbutler/gitops-reverser:0.38.0
gh attestation verify \
oci://ghcr.io/configbutler/gitops-reverser:0.38.0 \
--repo ConfigButler/gitops-reverserv0.37.0
0.37.0 (2026-07-16)
Features
- acceptance: accept benign repo-hygiene passengers instead of refusing the folder (#242) (49327fd)
- acceptance: treat a release-referenced values file as read-only context (#245) (d25c013)
- overlay: prove new-object placement; author images/replicas overrides and $patch:delete (#244) (38590d1)
- render-root scoping + tolerate patches and patched overlays reading ../../base (#239) (e9d6be1)
- scan-repo: adopt external-base overlays instead of refusing them (#243) (c7650f9)
Bug Fixes
Documentation
gitops-reverser: v0.36.0
0.36.0 (2026-07-14)
⚠ BREAKING CHANGES
- kustomize: attribute overrides with a dyed render, verify by re-render, delete the re-implementation (#233)
- kustomize: read kustomization.yaml with kustomize, not a hand-written parser (#229)
Features
- kustomize: attribute overrides with a dyed render, verify by re-render, delete the re-implementation (#233) (61ed1e7)
- kustomize: read kustomization.yaml with kustomize, not a hand-written parser (#229) (6b3f202)
Bug Fixes
gitops-reverser: v0.35.0
0.35.0 (2026-07-14)
⚠ BREAKING CHANGES
- gitops-api: layout corpus, support baseline, and doc-link checker (#224)
Features
- bi-directional ArgoCD advise/tests + strip Argo tracking-id from Git writes (#225) (ddd75cb)
- gitops-api: layout corpus, support baseline, and doc-link checker (#224) (c48cc58)