Repository navigation
Releases
Releases · blairham/k8s-controller-kit
v0.0.2
Changed
- Breaking:
reconciler.Reconciler.Recorderis now a
k8s.io/client-go/tools/events.EventRecorder(the events.k8s.io API), not a
record.EventRecorder. Passmgr.GetEventRecorder(name)instead of the
deprecatedmgr.GetEventRecorderFor(name); a test fake is
events.NewFakeRecorder. Events now carry an action:Applyfor
PartiallyApplied,Reconcilefor a failed reconcile (#6).
Fixed
reconciler: an idle resource is no longer re-planned and re-applied
continuously.SetupWithManagerreconciled on every watch event, including
the reconciler's own status write, so with a realistic plan latency a
resource hit its target about once a second instead of once per
DriftInterval. The primary watch now filters on
GenerationChangedPredicate: a spec change or a deletion still reconciles
at once; an edit to only labels, annotations or status waits for the drift
interval (#21).
Full Changelog: v0.0.1...v0.0.2
v0.0.1
Fixed
reconciler: a failed reconcile no longer reports an older generation's
plan as current.fail()advancesobservedGeneration, and now also sets
ConvergedtoUnknownfor that generation and clearspending,
pendingCountandwarnings. Before, a client waiting on
observedGeneration == generationread the previous spec's refusals as the
cause of the new failure (#7).
Changed
- Dependencies:
sigs.k8s.io/controller-runtimev0.25.1 → v0.25.2,
github.com/prometheus/client_golangv1.24.0 → v1.24.1.
Full Changelog: v0.0.0...v0.0.1
v0.0.0
Added
plan:PlanandStep-- a reviewable set of provisioning steps with a
dry-run rendering (Describe), a fingerprint (Hash), and anApplythat
reports applied, tolerated and best-effort-failed steps.plan: an optional dependency graph. Steps that implementIdentified
andDependentrun in dependency order (insertion order among ready
steps, so a plan without dependencies is unchanged);SetOutputand
Refpass a value one step produces to a later one at apply time;
dependents of a failed step are skipped with a warning; an invalid graph
runs nothing.Opis a ready-madeStep.reconciler: a generic reconciler for plan-driven resources -- Enforce
and Observe modes,ReadyandConvergedconditions, a re-plan after
apply, a pending list capped at 50, a finalizer only while deletion has
work to do (patched with an optimistic lock), an hourly drift requeue,
and per-resource Prometheus metrics.reconciler: ownership and pruning. WithStatus.Ownedset and a
Sessionthat implementsPruner, the reconciler records the keys a
resource establishes and prunes keys its spec no longer wants, after the
main plan applies.secret:ReadandGetread one key of a Secret in the resource's own
namespace;Getalso returns itsresourceVersion.manager:Main, a shared controller binary entry point -- flags,
--controllersselection (an unknown name refuses to start), leader
election, and a readiness check that fails while a watched CRD is missing.
Full Changelog: ...v0.0.0