A 'kubectl delete crd' is destructive: the API server cascades the delete to every custom resource of that kind in the cluster, so a single mistyped command can wipe out all postgresql, operator configuration, postgresteam and fabriceventstream objects at once. This is especially dangerous for an operator whose whole value proposition is the data behind those CRs. The fix is a 'acid.zalan.do/crd-protection' finalizer on each operator CRD. The apiserver blocks the deletion while the finalizer is set, so the destructive action is gated behind a manual step (patch the finalizer away) that anyone running the delete has to take deliberately. Removal procedure is documented in docs/administrator.md under 'Protecting CRDs from accidental deletion'. Assisted-by: OpenCode + MiniMax M3 |
||
|---|---|---|
| .. | ||
| apis | ||
| apiserver | ||
| cluster | ||
| controller | ||
| generated | ||
| spec | ||
| teams | ||
| util | ||