You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use dedicated Secret type for externalized object Secrets (#2613)
Set custom Secret type `olm.operatorframework.io/object-data` on
Secrets that store externalized COS object content. This distinguishes
OLM-managed Secrets from user-created ones and enables easy
identification and filtering.
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@@ -653,7 +663,7 @@ rollout semantics are unchanged.
653
663
| **Crash safety** | 3-step: Secrets → COS → patch ownerRefs; orphan cleanup via revision label | 2-step: COS → Secrets with ownerRefs; simpler but reconciler may see missing Secrets temporarily |
654
664
| **Flexibility** | Mixed inline/ref per object within the same phase is possible | All-or-nothing — either all phases inline or all externalized |
655
665
| **Storage efficiency** | Per-object compression misses cross-object redundancy; potentially more Secrets created in edge cases | Better compression from cross-phase redundancy; fewer Secrets |
656
-
| **Resource type** | Secret only | Secret only (with dedicated type) |
666
+
| **Resource type** | Secret with dedicated type `olm.operatorframework.io/object-data` | Secret with dedicated type `olm.operatorframework.io/revision-phase-data` |
657
667
| **Phases structure** | Unchanged — phases array preserved as-is; only individual objects gain a new resolution path | Replaced at the top level — phases field swapped for phasesRef |
658
668
| **Content addressability** | Content hash as Secret data key — key changes when content changes | Content hash embedded in Secret name — detects changes without fetching contents |
Copy file name to clipboardExpand all lines: internal/operator-controller/labels/labels.go
+7Lines changed: 7 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,13 @@
1
1
package labels
2
2
3
+
import corev1 "k8s.io/api/core/v1"
4
+
3
5
const (
6
+
// SecretTypeObjectData is the custom Secret type used for Secrets that store
7
+
// externalized object content referenced by ClusterObjectSet ref entries.
8
+
// It distinguishes OLM-managed ref Secrets from user-created Secrets.
9
+
SecretTypeObjectData corev1.SecretType="olm.operatorframework.io/object-data"//nolint:gosec // G101 false positive: this is a Kubernetes Secret type identifier, not a credential
10
+
4
11
// OwnerKindKey is the label key used to record the kind of the owner
5
12
// resource responsible for creating or managing a ClusterObjectSet.
0 commit comments