Skip to content

chore(chart): claim Full Lifecycle on Artifact Hub#99

Merged
be0x74a merged 1 commit into
mainfrom
chore/artifacthub-capability-full-lifecycle
May 10, 2026
Merged

chore(chart): claim Full Lifecycle on Artifact Hub#99
be0x74a merged 1 commit into
mainfrom
chore/artifacthub-capability-full-lifecycle

Conversation

@be0x74a
Copy link
Copy Markdown
Member

@be0x74a be0x74a commented May 10, 2026

Summary

Bumps artifacthub.io/operatorCapabilities from Basic Install to Full Lifecycle (level 3 of 5 on the Operator Capability Levels ladder).

Why this is honest, not aspirational

Level 3 — Full Lifecycle — requires drift reconciliation, app lifecycle management, and cleanup. The controller already implements all three:

  • Drift correction — every reconcile rebuilds the destination from the live source view (stripping server-owned metadata, applying overlay, stamping ownership), so manual edits to a destination are reverted on the next event.
  • Finalizer-driven cleanupReconcile registers a finalizer; on Projection deletion it scans every namespace for owned destinations (necessary for namespaceSelector projections) and removes them before releasing the finalizer.
  • Stale-destination cleanup — when a namespaceSelector stops matching a namespace, the controller deletes the destination there even though the Projection itself isn't being deleted.

Level 2 (Seamless Upgrades) is also covered: only one CRD version (v1) exists, so no conversion webhook is needed, and chart upgrades are Helm-managed.

What this does not claim

Level 4 (Deep Insights) intentionally stays off the table for now — the controller exposes projection_reconcile_total and projection_watched_gvks plus a ServiceMonitor, but ships no PrometheusRule with alerts. That's the natural next step.

Test plan

The reconciler already implements the level-3 contract: it corrects drift
on every reconcile (rewriting destination metadata, labels, annotations,
and data back to the source view), runs a finalizer that scans every
namespace to clean up owned destinations on Projection deletion, and
cleans up stale destinations when namespaceSelector matches change.
Basic Install undersold what is shipping today.
@be0x74a be0x74a enabled auto-merge (squash) May 10, 2026 20:36
@be0x74a be0x74a merged commit ff74660 into main May 10, 2026
14 checks passed
@be0x74a be0x74a deleted the chore/artifacthub-capability-full-lifecycle branch May 10, 2026 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant