This repository was archived by the owner on Aug 5, 2026. It is now read-only.
feat: reconcile on plumbing v1.10.0 + no-strip ApplyNamespace + pending grace - #17
Merged
Merged
Conversation
…ng grace Migrate onto plumbing's main line (v1.10.0) and unstructured-runtime v1.3.1, retiring the divergent v1.7.x plumbing pin. v1.10.0 brings the fork-free apply-if-changed reconcile with semantic change-detection; v1.3.1 drops the plumbing/slogs/pretty test dependency that had forced the old pin. Two controller-side fixes bundled: - ApplyNamespace (rbac installer): on an existing namespace, read-modify-write the live object (merge our labels/annotations, no-op if unchanged) instead of a blind full-PUT of a bare object. The blind PUT stripped foreign labels such as the postrenderer's krateo.io/composition-* set off a Helm-owned namespace (the portal's demo-system), which helm then re-added every reconcile -- one helm revision per cycle, forever. Regression test added. - Pending-operation grace (composition Observe): a release in a pending status is rolled back only after a grace period (default 5m, COMPOSITION_CONTROLLER_PENDING_GRACE), not on sight. A large composition's upgrade legitimately stays pending for tens of seconds; roll-back-on-sight thrashed Upgrade<->Rollback on the 319-resource portal composition. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FzZJtQ4bEMHuK4CvF6eBuL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Migrates the cdc onto plumbing's main line (v1.10.0) + unstructured-runtime v1.3.1, retiring the divergent
v1.7.xplumbing pin, and bundles two controller-side no-churn fixes.Dependency migration
plumbing v1.7.15 → v1.10.0(main line): fork-free apply-if-changed reconcile with semantic change-detection.unstructured-runtime v1.3.0 → v1.3.1: drops theplumbing/slogs/prettytest dependency that had forced the old pin (go mod tidynow clean).Fixes
krateo.io/composition-*labels off a Helm-owned namespace (the portal'sdemo-system), which helm re-added every reconcile — one revision per cycle. Regression test added.COMPOSITION_CONTROLLER_PENDING_GRACE), not on sight — a large composition's upgrade legitimately stays pending briefly; roll-back-on-sight thrashed Upgrade↔Rollback on the 319-resource portal.Test
go build/vet/go mod tidyclean against the real tags;TestApplyNamespace_PreservesForeignLabels+ composition tests green (envtest). The bundle was proven flat on the installer-test cluster (demo-system revisions stopped climbing).🤖 Generated with Claude Code