Skip to content

Commit e845f4e

Browse files
chore(Boxcutter): Rename ClusterExtensionRevision to ObjectSet
1 parent b240fef commit e845f4e

51 files changed

Lines changed: 3284 additions & 3284 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/commands/list-e2e-steps.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Organize steps into these 10 categories. For each step, document:
6666
2. **Catalog Management** - ClusterCatalog creation, updates, image tagging, deletion
6767
3. **ClusterExtension Lifecycle** - Apply, update, remove ClusterExtension resources
6868
4. **ClusterExtension Status & Conditions** - Condition checks, transition times, reconciliation
69-
5. **ClusterExtensionRevision** - Revision-specific condition checks, archival, annotations, labels, active revisions
69+
5. **ObjectSet** - Revision-specific condition checks, archival, annotations, labels, active revisions
7070
6. **Generic Resource Operations** - Get, delete, restore, match arbitrary resources
7171
7. **Test Operator Control** - Marking test-operator deployment ready/not-ready
7272
8. **Metrics** - Fetching and validating Prometheus metrics

AGENTS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ operator-controller is the central component of Operator Lifecycle Manager (OLM)
1111
install and manage cluster extensions. The project follows a microservices architecture with two main binaries:
1212

1313
**operator-controller**
14-
- manages `ClusterExtension` and `ClusterExtensionRevision` CRDs
14+
- manages `ClusterExtension` and `ObjectSet` CRDs
1515
- resolves bundles from configured source
1616
- unpacks bundles and renders manifests from them
1717
- applies manifests with phase-based rollouts
@@ -193,7 +193,7 @@ make generate
193193

194194
- **Primary CRDs:**
195195
- `ClusterExtension` - declares desired extension installations
196-
- `ClusterExtensionRevision` - revision management (experimental)
196+
- `ObjectSet` - revision management (experimental)
197197
- `ClusterCatalog` - catalog source definitions
198198
- **API domain:** `olm.operatorframework.io`
199199
- This is the API group of our user-facing CRDs
@@ -204,7 +204,7 @@ make generate
204204

205205
Two manifest variants exist:
206206
- **Standard:** Production-ready features
207-
- **Experimental:** Features under development/testing (includes `ClusterExtensionRevision` API)
207+
- **Experimental:** Features under development/testing (includes `ObjectSet` API)
208208

209209
---
210210

@@ -330,7 +330,7 @@ Two manifest variants exist:
330330

331331
**operator-controller:**
332332
- `ClusterExtension` controller - manages extension installations
333-
- `ClusterExtensionRevision` controller - manages revision lifecycle
333+
- `ObjectSet` controller - manages revision lifecycle
334334
- Resolver - bundle version selection
335335
- Applier - applies manifests to cluster
336336
- Content Manager - manages extension content

api/v1/clusterextension_types.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -468,9 +468,9 @@ type BundleMetadata struct {
468468
Version string `json:"version"`
469469
}
470470

471-
// RevisionStatus defines the observed state of a ClusterExtensionRevision.
471+
// RevisionStatus defines the observed state of a ObjectSet.
472472
type RevisionStatus struct {
473-
// name of the ClusterExtensionRevision resource
473+
// name of the ObjectSet resource
474474
Name string `json:"name"`
475475
// conditions optionally expose Progressing and Available condition of the revision,
476476
// in case when it is not yet marked as successfully installed (condition Succeeded is not set to True).
@@ -498,7 +498,7 @@ type ClusterExtensionStatus struct {
498498
// When Progressing is True and the Reason is Retrying, the ClusterExtension has encountered an error that could be resolved on subsequent reconciliation attempts.
499499
// When Progressing is False and the Reason is Blocked, the ClusterExtension has encountered an error that requires manual intervention for recovery.
500500
// <opcon:experimental:description>
501-
// When Progressing is True and Reason is RollingOut, the ClusterExtension has one or more ClusterExtensionRevisions in active roll out.
501+
// When Progressing is True and Reason is RollingOut, the ClusterExtension has one or more ObjectSets in active roll out.
502502
// </opcon:experimental:description>
503503
//
504504
// When the ClusterExtension is sourced from a catalog, it surfaces deprecation conditions based on catalog metadata.
@@ -518,7 +518,7 @@ type ClusterExtensionStatus struct {
518518
// +optional
519519
Install *ClusterExtensionInstallStatus `json:"install,omitempty"`
520520

521-
// activeRevisions holds a list of currently active (non-archived) ClusterExtensionRevisions,
521+
// activeRevisions holds a list of currently active (non-archived) ObjectSets,
522522
// including both installed and rolling out revisions.
523523
// +listType=map
524524
// +listMapKey=name
Lines changed: 51 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,25 @@ import (
2222
)
2323

2424
const (
25-
ClusterExtensionRevisionKind = "ClusterExtensionRevision"
25+
ObjectSetKind = "ObjectSet"
2626

2727
// Condition Types
28-
ClusterExtensionRevisionTypeAvailable = "Available"
29-
ClusterExtensionRevisionTypeProgressing = "Progressing"
30-
ClusterExtensionRevisionTypeSucceeded = "Succeeded"
28+
ObjectSetTypeAvailable = "Available"
29+
ObjectSetTypeProgressing = "Progressing"
30+
ObjectSetTypeSucceeded = "Succeeded"
3131

3232
// Condition Reasons
33-
ClusterExtensionRevisionReasonArchived = "Archived"
34-
ClusterExtensionRevisionReasonBlocked = "Blocked"
35-
ClusterExtensionRevisionReasonProbeFailure = "ProbeFailure"
36-
ClusterExtensionRevisionReasonProbesSucceeded = "ProbesSucceeded"
37-
ClusterExtensionRevisionReasonReconciling = "Reconciling"
38-
ClusterExtensionRevisionReasonRetrying = "Retrying"
33+
ObjectSetReasonArchived = "Archived"
34+
ObjectSetReasonBlocked = "Blocked"
35+
ObjectSetReasonProbeFailure = "ProbeFailure"
36+
ObjectSetReasonProbesSucceeded = "ProbesSucceeded"
37+
ObjectSetReasonReconciling = "Reconciling"
38+
ObjectSetReasonRetrying = "Retrying"
3939
)
4040

41-
// ClusterExtensionRevisionSpec defines the desired state of ClusterExtensionRevision.
42-
type ClusterExtensionRevisionSpec struct {
43-
// lifecycleState specifies the lifecycle state of the ClusterExtensionRevision.
41+
// ObjectSetSpec defines the desired state of ObjectSet.
42+
type ObjectSetSpec struct {
43+
// lifecycleState specifies the lifecycle state of the ObjectSet.
4444
//
4545
// When set to "Active", the revision is actively managed and reconciled.
4646
// When set to "Archived", the revision is inactive and any resources not managed by a subsequent revision are deleted.
@@ -56,13 +56,13 @@ type ClusterExtensionRevisionSpec struct {
5656
// +required
5757
// +kubebuilder:validation:Enum=Active;Archived
5858
// +kubebuilder:validation:XValidation:rule="oldSelf == 'Active' || oldSelf == 'Archived' && oldSelf == self", message="cannot un-archive"
59-
LifecycleState ClusterExtensionRevisionLifecycleState `json:"lifecycleState,omitempty"`
59+
LifecycleState ObjectSetLifecycleState `json:"lifecycleState,omitempty"`
6060

6161
// revision is a required, immutable sequence number representing a specific revision
6262
// of the parent ClusterExtension.
6363
//
6464
// The revision field must be a positive integer.
65-
// Each ClusterExtensionRevision belonging to the same parent ClusterExtension must have a unique revision number.
65+
// Each ObjectSet belonging to the same parent ClusterExtension must have a unique revision number.
6666
// The revision number must always be the previous revision number plus one, or 1 for the first revision.
6767
//
6868
// +required
@@ -93,7 +93,7 @@ type ClusterExtensionRevisionSpec struct {
9393
// +listType=map
9494
// +listMapKey=name
9595
// +optional
96-
Phases []ClusterExtensionRevisionPhase `json:"phases,omitempty"`
96+
Phases []ObjectSetPhase `json:"phases,omitempty"`
9797

9898
// progressDeadlineMinutes is an optional field that defines the maximum period
9999
// of time in minutes after which an installation should be considered failed and
@@ -338,21 +338,21 @@ type FieldValueProbe struct {
338338
Value string `json:"value,omitempty"`
339339
}
340340

341-
// ClusterExtensionRevisionLifecycleState specifies the lifecycle state of the ClusterExtensionRevision.
342-
type ClusterExtensionRevisionLifecycleState string
341+
// ObjectSetLifecycleState specifies the lifecycle state of the ObjectSet.
342+
type ObjectSetLifecycleState string
343343

344344
const (
345-
// ClusterExtensionRevisionLifecycleStateActive / "Active" is the default lifecycle state.
346-
ClusterExtensionRevisionLifecycleStateActive ClusterExtensionRevisionLifecycleState = "Active"
347-
// ClusterExtensionRevisionLifecycleStateArchived / "Archived" archives the revision for historical or auditing purposes.
345+
// ObjectSetLifecycleStateActive / "Active" is the default lifecycle state.
346+
ObjectSetLifecycleStateActive ObjectSetLifecycleState = "Active"
347+
// ObjectSetLifecycleStateArchived / "Archived" archives the revision for historical or auditing purposes.
348348
// The revision is removed from the owner list of all other objects previously under management and all objects
349349
// that did not transition to a succeeding revision are deleted.
350-
ClusterExtensionRevisionLifecycleStateArchived ClusterExtensionRevisionLifecycleState = "Archived"
350+
ObjectSetLifecycleStateArchived ObjectSetLifecycleState = "Archived"
351351
)
352352

353-
// ClusterExtensionRevisionPhase represents a group of objects that are applied together. The phase is considered
353+
// ObjectSetPhase represents a group of objects that are applied together. The phase is considered
354354
// complete only after all objects pass their status probes.
355-
type ClusterExtensionRevisionPhase struct {
355+
type ObjectSetPhase struct {
356356
// name is a required identifier for this phase.
357357
//
358358
// phase names must follow the DNS label standard as defined in [RFC 1123].
@@ -374,7 +374,7 @@ type ClusterExtensionRevisionPhase struct {
374374
// All objects in this list are applied to the cluster in no particular order. The maximum number of objects per phase is 50.
375375
// +required
376376
// +kubebuilder:validation:MaxItems=50
377-
Objects []ClusterExtensionRevisionObject `json:"objects"`
377+
Objects []ObjectSetObject `json:"objects"`
378378

379379
// collisionProtection specifies the default collision protection strategy for all objects
380380
// in this phase. Individual objects can override this value.
@@ -390,9 +390,9 @@ type ClusterExtensionRevisionPhase struct {
390390
CollisionProtection CollisionProtection `json:"collisionProtection,omitempty"`
391391
}
392392

393-
// ClusterExtensionRevisionObject represents a Kubernetes object to be applied as part
393+
// ObjectSetObject represents a Kubernetes object to be applied as part
394394
// of a phase, along with its collision protection settings.
395-
type ClusterExtensionRevisionObject struct {
395+
type ObjectSetObject struct {
396396
// object is a required embedded Kubernetes object to be applied.
397397
//
398398
// This object must be a valid Kubernetes resource with apiVersion, kind, and metadata fields.
@@ -442,27 +442,27 @@ const (
442442
CollisionProtectionNone CollisionProtection = "None"
443443
)
444444

445-
// ClusterExtensionRevisionStatus defines the observed state of a ClusterExtensionRevision.
446-
type ClusterExtensionRevisionStatus struct {
445+
// ObjectSetStatus defines the observed state of a ObjectSet.
446+
type ObjectSetStatus struct {
447447
// conditions is an optional list of status conditions describing the state of the
448-
// ClusterExtensionRevision.
448+
// ObjectSet.
449449
//
450450
// The Progressing condition represents whether the revision is actively rolling out:
451-
// - When status is True and reason is RollingOut, the ClusterExtensionRevision rollout is actively making progress and is in transition.
452-
// - When status is True and reason is Retrying, the ClusterExtensionRevision has encountered an error that could be resolved on subsequent reconciliation attempts.
453-
// - When status is True and reason is Succeeded, the ClusterExtensionRevision has reached the desired state.
454-
// - When status is False and reason is Blocked, the ClusterExtensionRevision has encountered an error that requires manual intervention for recovery.
455-
// - When status is False and reason is Archived, the ClusterExtensionRevision is archived and not being actively reconciled.
451+
// - When status is True and reason is RollingOut, the ObjectSet rollout is actively making progress and is in transition.
452+
// - When status is True and reason is Retrying, the ObjectSet has encountered an error that could be resolved on subsequent reconciliation attempts.
453+
// - When status is True and reason is Succeeded, the ObjectSet has reached the desired state.
454+
// - When status is False and reason is Blocked, the ObjectSet has encountered an error that requires manual intervention for recovery.
455+
// - When status is False and reason is Archived, the ObjectSet is archived and not being actively reconciled.
456456
//
457457
// The Available condition represents whether the revision has been successfully rolled out and is available:
458-
// - When status is True and reason is ProbesSucceeded, the ClusterExtensionRevision has been successfully rolled out and all objects pass their readiness probes.
458+
// - When status is True and reason is ProbesSucceeded, the ObjectSet has been successfully rolled out and all objects pass their readiness probes.
459459
// - When status is False and reason is ProbeFailure, one or more objects are failing their readiness probes during rollout.
460-
// - When status is Unknown and reason is Reconciling, the ClusterExtensionRevision has encountered an error that prevented it from observing the probes.
461-
// - When status is Unknown and reason is Archived, the ClusterExtensionRevision has been archived and its objects have been torn down.
462-
// - When status is Unknown and reason is Migrated, the ClusterExtensionRevision was migrated from an existing release and object status probe results have not yet been observed.
460+
// - When status is Unknown and reason is Reconciling, the ObjectSet has encountered an error that prevented it from observing the probes.
461+
// - When status is Unknown and reason is Archived, the ObjectSet has been archived and its objects have been torn down.
462+
// - When status is Unknown and reason is Migrated, the ObjectSet was migrated from an existing release and object status probe results have not yet been observed.
463463
//
464464
// The Succeeded condition represents whether the revision has successfully completed its rollout:
465-
// - When status is True and reason is Succeeded, the ClusterExtensionRevision has successfully completed its rollout. This condition is set once and persists even if the revision later becomes unavailable.
465+
// - When status is True and reason is Succeeded, the ObjectSet has successfully completed its rollout. This condition is set once and persists even if the revision later becomes unavailable.
466466
//
467467
// +listType=map
468468
// +listMapKey=type
@@ -479,44 +479,44 @@ type ClusterExtensionRevisionStatus struct {
479479
// +kubebuilder:printcolumn:name="Progressing",type=string,JSONPath=`.status.conditions[?(@.type=='Progressing')].status`
480480
// +kubebuilder:printcolumn:name=Age,type=date,JSONPath=`.metadata.creationTimestamp`
481481

482-
// ClusterExtensionRevision represents an immutable snapshot of Kubernetes objects
482+
// ObjectSet represents an immutable snapshot of Kubernetes objects
483483
// for a specific version of a ClusterExtension. Each revision contains objects
484484
// organized into phases that roll out sequentially. The same object can only be managed by a single revision
485485
// at a time. Ownership of objects is transitioned from one revision to the next as the extension is upgraded
486486
// or reconfigured. Once the latest revision has rolled out successfully, previous active revisions are archived for
487487
// posterity.
488-
type ClusterExtensionRevision struct {
488+
type ObjectSet struct {
489489
metav1.TypeMeta `json:",inline"`
490490

491491
// metadata is the standard object's metadata.
492492
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
493493
// +optional
494494
metav1.ObjectMeta `json:"metadata,omitempty"`
495495

496-
// spec defines the desired state of the ClusterExtensionRevision.
496+
// spec defines the desired state of the ObjectSet.
497497
// +optional
498-
Spec ClusterExtensionRevisionSpec `json:"spec,omitempty"`
498+
Spec ObjectSetSpec `json:"spec,omitempty"`
499499

500-
// status is optional and defines the observed state of the ClusterExtensionRevision.
500+
// status is optional and defines the observed state of the ObjectSet.
501501
// +optional
502-
Status ClusterExtensionRevisionStatus `json:"status,omitempty"`
502+
Status ObjectSetStatus `json:"status,omitempty"`
503503
}
504504

505505
// +kubebuilder:object:root=true
506506

507-
// ClusterExtensionRevisionList contains a list of ClusterExtensionRevision
508-
type ClusterExtensionRevisionList struct {
507+
// ObjectSetList contains a list of ObjectSet
508+
type ObjectSetList struct {
509509
metav1.TypeMeta `json:",inline"`
510510

511511
// +optional
512512
metav1.ListMeta `json:"metadata,omitempty"`
513513

514-
// items is a required list of ClusterExtensionRevision objects.
514+
// items is a required list of ObjectSet objects.
515515
//
516516
// +required
517-
Items []ClusterExtensionRevision `json:"items"`
517+
Items []ObjectSet `json:"items"`
518518
}
519519

520520
func init() {
521-
SchemeBuilder.Register(&ClusterExtensionRevision{}, &ClusterExtensionRevisionList{})
521+
SchemeBuilder.Register(&ObjectSet{}, &ObjectSetList{})
522522
}

0 commit comments

Comments
 (0)