Skip to content

chore(main): release gitops-reverser 0.2.1 - #31

Merged
sunib merged 1 commit into
mainfrom
release-please--branches--main--components--gitops-reverser
Sep 30, 2025
Merged

sunib merged 1 commit into
mainfrom
release-please--branches--main--components--gitops-reverser

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

0.2.1 (2025-09-30)

Bug Fixes


This PR was generated with Release Please. See documentation.

@sunib
sunib merged commit 0c1cba8 into main Sep 30, 2025
@github-actions

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

sunib added a commit that referenced this pull request Oct 25, 2026
* feat: reconcile only the namespaces --watch-namespaces names

Two instances can now share one config-plane cluster. --watch-namespaces
(Helm: controllerManager.watchNamespaces) confines the manager's cache to
the listed namespaces, so an instance reconciles the namespaced kinds
there only. A ClusterWatchRule is cluster-scoped, so every instance sees
it: the one serving its GitTarget's namespace reconciles it, and the
others write nothing to it, status included. A rule re-pointed out of the
served namespaces is dropped from the store.

The Namespace informer is narrowed by its name label, so a label change
elsewhere enqueues nothing, and ConfigMaps are also cached in the
controller's own namespace for the install-level known_hosts ConfigMap.
The chart scopes the admission webhook to the same namespaces. Empty, the
default, serves every namespace as before.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* feat(applier): count each apply an applier claim did not start

claimed_resource_reconciled_total{applier_kind, claim_namespace,
claim_name} counts a held Kustomization resumed, or a held Application's
automated sync switched on, by somebody else. The ClaimedResourceReconciled
Event said so already, but the API server folds identical Events and
expires them, so it made a poor alarm.

The Flux guide's troubleshooting table gains the common cause of a
recurring one: a controller that writes the Kustomization's whole spec
without spec.suspend, which SuspendOwnedElsewhere cannot report.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* test(attribution): name the deleter when a controller clears the finalizer

A terminating object's removal is credited to its deletion, never to the
write at its version. That write can be a finalizer cleared by an UPDATE
as well as a PATCH, and its fact can be filed before or after the
deletion's; pin all four.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs: close the gitops-api asks this branch answers

#32, #31, #23 and the first step of #28 are answered here; #11 shipped
in 0.41.0. #34's two side notes are answered as well.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* revert: drop --watch-namespaces; defer ask #28

Reverts 6c4f389. Partitioning one cluster between two instances by
namespace removes only two of the four costs the ask lists: the CRDs and
the ClusterRole stay shared, so the instances keep one upgrade cadence
and one RBAC posture. It is not the HA mechanism either, and it adds a
second tenancy model beside one instance serving many namespaces through
grants. The team is not blocked: one shared instance works.

The asks doc records #28 as deferred and why; the restart cost behind it
belongs to the durable pending writes.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant