Skip to content

Releases

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 27 Oct 02:36
v0.0.2
bc56bd5

Changed

  • Breaking: reconciler.Reconciler.Recorder is now a
    k8s.io/client-go/tools/events.EventRecorder (the events.k8s.io API), not a
    record.EventRecorder. Pass mgr.GetEventRecorder(name) instead of the
    deprecated mgr.GetEventRecorderFor(name); a test fake is
    events.NewFakeRecorder. Events now carry an action: Apply for
    PartiallyApplied, Reconcile for a failed reconcile (#6).

Fixed

  • reconciler: an idle resource is no longer re-planned and re-applied
    continuously. SetupWithManager reconciled 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

Choose a tag to compare

@github-actions github-actions released this 07 Oct 23:07
v0.0.1
46e5891

Fixed

  • reconciler: a failed reconcile no longer reports an older generation's
    plan as current. fail() advances observedGeneration, and now also sets
    Converged to Unknown for that generation and clears pending,
    pendingCount and warnings. Before, a client waiting on
    observedGeneration == generation read the previous spec's refusals as the
    cause of the new failure (#7).

Changed

  • Dependencies: sigs.k8s.io/controller-runtime v0.25.1 → v0.25.2,
    github.com/prometheus/client_golang v1.24.0 → v1.24.1.

Full Changelog: v0.0.0...v0.0.1

v0.0.0

Choose a tag to compare

@github-actions github-actions released this 06 Oct 16:15
v0.0.0
154d369

Added

  • plan: Plan and Step -- a reviewable set of provisioning steps with a
    dry-run rendering (Describe), a fingerprint (Hash), and an Apply that
    reports applied, tolerated and best-effort-failed steps.
  • plan: an optional dependency graph. Steps that implement Identified
    and Dependent run in dependency order (insertion order among ready
    steps, so a plan without dependencies is unchanged); SetOutput and
    Ref pass 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. Op is a ready-made Step.
  • reconciler: a generic reconciler for plan-driven resources -- Enforce
    and Observe modes, Ready and Converged conditions, 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. With Status.Owned set and a
    Session that implements Pruner, the reconciler records the keys a
    resource establishes and prunes keys its spec no longer wants, after the
    main plan applies.
  • secret: Read and Get read one key of a Secret in the resource's own
    namespace; Get also returns its resourceVersion.
  • manager: Main, a shared controller binary entry point -- flags,
    --controllers selection (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