Skip to content

Latest commit

 

History

History
15 lines (13 loc) · 2.08 KB

File metadata and controls

15 lines (13 loc) · 2.08 KB

Development Decisions

This document tracks the current status of decisions having to do with developing the KCC project. If a decision needs to be made or changed, please file an issue for that decision to be made.

Short Name Brief Description Date of Decision Status Link to More Details
Labels in Direct Resources Use Kubernetes metadata.labels as the single source of truth for GCP labels (for now). Remove labels from Spec. 2025-10-09 Current Link
Server Generated ID Use status.externalRef for server-generated IDs. For migrated resources, continue writing to spec.resourceID for compatibility if status into spec is set to merge. 2025-12-03 Current Link
Structured Diff Output Ensure Direct controllers have a structured diff output during reconciliation and support safer upgrade. 2026-01-01 Current
Start Reconcile Field All Direct controllers should have a status.startReconcile field populated when reconciliation begins and which is cleared when reconciliation finishes. 2026-01-01 Proposed
Graceful Orphan Deletion Allow deletion of resources when parent dependencies are missing by using status.externalRef instead of resolving from spec. 2025-10-03 Proposed Link
Ignore Unspecified Fields Use annotation cnrm.cloud.google.com/default-to-gcp-fields to preserve GCP values for unspecified fields in spec. 2025-09-09 Proposed Link
Stateful Reconciliation Use status.lastModifiedCookie to store hashes of applied spec and observed GCP state to detect changes and drift efficiently. 2025-09-30 Deprecated Link
Change Cookies Use cnrm.cloud.google.com/last-changed-cookie annotation to store hashes for stateful reconciliation in Direct controllers. 2026-02-19 Current Link