Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the opmodel.dev v1alpha1 API group. +kubebuilder:object:generate=true +groupName=opmodel.dev Was: +groupName=releases.opmodel.dev (enhancement 0002 D5)
Index ¶
- Constants
- Variables
- type FailureCounters
- type HistoryEntry
- type Inventory
- type InventoryEntry
- type ModuleInstance
- func (in *ModuleInstance) DeepCopy() *ModuleInstance
- func (in *ModuleInstance) DeepCopyInto(out *ModuleInstance)
- func (in *ModuleInstance) DeepCopyObject() runtime.Object
- func (in *ModuleInstance) GetConditions() []metav1.Condition
- func (in *ModuleInstance) SetConditions(conditions []metav1.Condition)
- type ModuleInstanceList
- type ModuleInstanceSpec
- type ModuleInstanceStatus
- type ModulePackage
- type ModulePackageList
- type ModulePackageSpec
- type ModulePackageStatus
- type ModuleReference
- type OwnerType
- type Platform
- type PlatformList
- type PlatformSpec
- type PlatformStatus
- type RawValues
- type RolloutSpec
- type SourceReference
- type SourceStatus
- type Subscription
Constants ¶
const ( // SkewPolicyWarn renders against the platform's build and reports the // skew. The default. SkewPolicyWarn = "Warn" // SkewPolicyRefuse refuses the render before evaluation. SkewPolicyRefuse = "Refuse" )
Skew policy values for PlatformSpec.SkewPolicy.
const AnnotationForceDeleteOrphan = "opm.dev/force-delete-orphan"
AnnotationForceDeleteOrphan is the release annotation that, when set to "true", releases a finalizer stuck in the DeletionSAMissing stall by skipping prune and orphaning the managed inventory. Any value other than the literal string "true" is treated as absent.
Variables ¶
var ( // GroupVersion is group version used to register these objects. // Was: Group "releases.opmodel.dev" (enhancement 0002 D5). GroupVersion = schema.GroupVersion{Group: "opmodel.dev", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. // Uses the apimachinery builder directly rather than the deprecated // sigs.k8s.io/controller-runtime/pkg/scheme.Builder convenience wrapper // (deprecated in controller-runtime v0.24.0). SchemeBuilder = runtime.NewSchemeBuilder(addToGroupVersion) // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type FailureCounters ¶
type FailureCounters struct {
// +optional
Reconcile int64 `json:"reconcile,omitempty"`
// +optional
Apply int64 `json:"apply,omitempty"`
// +optional
Prune int64 `json:"prune,omitempty"`
// +optional
Drift int64 `json:"drift,omitempty"`
}
FailureCounters tracks bounded reconcile failure counts by action.
func (*FailureCounters) DeepCopy ¶
func (in *FailureCounters) DeepCopy() *FailureCounters
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FailureCounters.
func (*FailureCounters) DeepCopyInto ¶
func (in *FailureCounters) DeepCopyInto(out *FailureCounters)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HistoryEntry ¶
type HistoryEntry struct {
// +optional
Sequence int64 `json:"sequence,omitempty"`
// +optional
Action string `json:"action,omitempty"`
// +optional
Phase string `json:"phase,omitempty"`
// +optional
StartedAt *metav1.Time `json:"startedAt,omitempty"`
// +optional
FinishedAt *metav1.Time `json:"finishedAt,omitempty"`
// +optional
SourceDigest string `json:"sourceDigest,omitempty"`
// +optional
ConfigDigest string `json:"configDigest,omitempty"`
// +optional
RenderDigest string `json:"renderDigest,omitempty"`
// +optional
InventoryDigest string `json:"inventoryDigest,omitempty"`
// +optional
InventoryCount int64 `json:"inventoryCount,omitempty"`
// +optional
Message string `json:"message,omitempty"`
}
HistoryEntry captures a compact reconcile history record.
func (*HistoryEntry) DeepCopy ¶
func (in *HistoryEntry) DeepCopy() *HistoryEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HistoryEntry.
func (*HistoryEntry) DeepCopyInto ¶
func (in *HistoryEntry) DeepCopyInto(out *HistoryEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Inventory ¶
type Inventory struct {
// +optional
Revision int64 `json:"revision,omitempty"`
// +optional
Digest string `json:"digest,omitempty"`
// +optional
Count int64 `json:"count,omitempty"`
// +optional
Entries []InventoryEntry `json:"entries,omitempty"`
}
Inventory stores the current set of owned resources.
func (*Inventory) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Inventory.
func (*Inventory) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InventoryEntry ¶
type InventoryEntry struct {
// +optional
Group string `json:"group,omitempty"`
Kind string `json:"kind"`
// +optional
Namespace string `json:"namespace,omitempty"`
Name string `json:"name"`
// +optional
Version string `json:"v,omitempty"`
// +optional
Component string `json:"component,omitempty"`
}
InventoryEntry identifies one owned Kubernetes resource.
func (*InventoryEntry) DeepCopy ¶
func (in *InventoryEntry) DeepCopy() *InventoryEntry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InventoryEntry.
func (*InventoryEntry) DeepCopyInto ¶
func (in *InventoryEntry) DeepCopyInto(out *InventoryEntry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModuleInstance ¶
type ModuleInstance struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitzero"`
// spec defines the desired state of ModuleInstance
// +required
Spec ModuleInstanceSpec `json:"spec"`
// status defines the observed state of ModuleInstance
// +optional
Status ModuleInstanceStatus `json:"status,omitzero"`
}
ModuleInstance is the Schema for the moduleinstances API
Was: ModuleRelease
func (*ModuleInstance) DeepCopy ¶
func (in *ModuleInstance) DeepCopy() *ModuleInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleInstance.
func (*ModuleInstance) DeepCopyInto ¶
func (in *ModuleInstance) DeepCopyInto(out *ModuleInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ModuleInstance) DeepCopyObject ¶
func (in *ModuleInstance) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ModuleInstance) GetConditions ¶
func (in *ModuleInstance) GetConditions() []metav1.Condition
GetConditions returns the status conditions of the ModuleInstance.
func (*ModuleInstance) SetConditions ¶
func (in *ModuleInstance) SetConditions(conditions []metav1.Condition)
SetConditions sets the status conditions on the ModuleInstance.
type ModuleInstanceList ¶
type ModuleInstanceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitzero"`
Items []ModuleInstance `json:"items"`
}
ModuleInstanceList contains a list of ModuleInstance
func (*ModuleInstanceList) DeepCopy ¶
func (in *ModuleInstanceList) DeepCopy() *ModuleInstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleInstanceList.
func (*ModuleInstanceList) DeepCopyInto ¶
func (in *ModuleInstanceList) DeepCopyInto(out *ModuleInstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ModuleInstanceList) DeepCopyObject ¶
func (in *ModuleInstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ModuleInstanceSpec ¶
type ModuleInstanceSpec struct {
// +optional
Suspend bool `json:"suspend,omitempty"`
// Owner identifies which actor manages this instance. An absent, empty, or
// "operator" value means operator-managed: the controller reconciles
// normally. Only an explicit "cli" makes the operator skip the instance
// (no render/apply/prune, no finalizer) and record a single
// ManagedExternally acknowledgement. There is no CRD default; the
// reconciler carries the operator-managed default semantics.
// +kubebuilder:validation:Enum=cli;operator
// +optional
Owner OwnerType `json:"owner,omitempty"`
// Module identifies the CUE module to evaluate from the OCI registry.
Module ModuleReference `json:"module"`
// Values contains arbitrary release input values.
// +optional
Values *RawValues `json:"values,omitempty"`
// +optional
Prune bool `json:"prune,omitempty"`
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// +optional
Rollout *RolloutSpec `json:"rollout,omitempty"`
}
ModuleInstanceSpec defines the desired state of ModuleInstance
Was: ModuleReleaseSpec
func (*ModuleInstanceSpec) DeepCopy ¶
func (in *ModuleInstanceSpec) DeepCopy() *ModuleInstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleInstanceSpec.
func (*ModuleInstanceSpec) DeepCopyInto ¶
func (in *ModuleInstanceSpec) DeepCopyInto(out *ModuleInstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModuleInstanceStatus ¶
type ModuleInstanceStatus struct {
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// InstanceUUID is the globally-unique identity of the rendered ModuleInstance,
// read from the `module-instance.opmodel.dev/uuid` label on rendered resources.
// Populated on the first successful render; consumed by the prune ownership
// guard (including the deletion path where a fresh render is not available).
// +optional
InstanceUUID string `json:"instanceUUID,omitempty"`
// conditions represent the current state of the ModuleInstance resource.
// Each condition has a unique type and reflects the status of a specific aspect of the resource.
//
// Standard condition types include:
// - "Available": the resource is fully functional
// - "Progressing": the resource is being created or updated
// - "Degraded": the resource failed to reach or maintain its desired state
//
// The status of each condition is one of True, False, or Unknown.
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// +optional
LastAttemptedAction string `json:"lastAttemptedAction,omitempty"`
// +optional
LastAttemptedAt *metav1.Time `json:"lastAttemptedAt,omitempty"`
// +optional
LastAttemptedDuration *metav1.Duration `json:"lastAttemptedDuration,omitempty"`
// +optional
LastAttemptedSourceDigest string `json:"lastAttemptedSourceDigest,omitempty"`
// +optional
LastAttemptedConfigDigest string `json:"lastAttemptedConfigDigest,omitempty"`
// +optional
LastAttemptedRenderDigest string `json:"lastAttemptedRenderDigest,omitempty"`
// +optional
LastAppliedAt *metav1.Time `json:"lastAppliedAt,omitempty"`
// +optional
LastAppliedSourceDigest string `json:"lastAppliedSourceDigest,omitempty"`
// +optional
LastAppliedConfigDigest string `json:"lastAppliedConfigDigest,omitempty"`
// +optional
LastAppliedRenderDigest string `json:"lastAppliedRenderDigest,omitempty"`
// +optional
FailureCounters *FailureCounters `json:"failureCounters,omitempty"`
// +optional
Inventory *Inventory `json:"inventory,omitempty"`
// +optional
History []HistoryEntry `json:"history,omitempty"`
// NextRetryAt indicates when the controller will next attempt reconciliation
// after a transient or stalled failure. Nil when the resource is healthy or no-op.
// +optional
NextRetryAt *metav1.Time `json:"nextRetryAt,omitempty"`
}
ModuleInstanceStatus defines the observed state of ModuleInstance.
func (*ModuleInstanceStatus) DeepCopy ¶
func (in *ModuleInstanceStatus) DeepCopy() *ModuleInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleInstanceStatus.
func (*ModuleInstanceStatus) DeepCopyInto ¶
func (in *ModuleInstanceStatus) DeepCopyInto(out *ModuleInstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModulePackage ¶
type ModulePackage struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitzero"`
// spec defines the desired state of ModulePackage
// +required
Spec ModulePackageSpec `json:"spec"`
// status defines the observed state of ModulePackage
// +optional
Status ModulePackageStatus `json:"status,omitzero"`
}
Was: Release ModulePackage is the Schema for the modulepackages API.
func (*ModulePackage) DeepCopy ¶
func (in *ModulePackage) DeepCopy() *ModulePackage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModulePackage.
func (*ModulePackage) DeepCopyInto ¶
func (in *ModulePackage) DeepCopyInto(out *ModulePackage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ModulePackage) DeepCopyObject ¶
func (in *ModulePackage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ModulePackage) GetConditions ¶
func (in *ModulePackage) GetConditions() []metav1.Condition
GetConditions returns the status conditions of the ModulePackage.
func (*ModulePackage) SetConditions ¶
func (in *ModulePackage) SetConditions(conditions []metav1.Condition)
SetConditions sets the status conditions on the ModulePackage.
type ModulePackageList ¶
type ModulePackageList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitzero"`
Items []ModulePackage `json:"items"`
}
Was: ReleaseList ModulePackageList contains a list of ModulePackage.
func (*ModulePackageList) DeepCopy ¶
func (in *ModulePackageList) DeepCopy() *ModulePackageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModulePackageList.
func (*ModulePackageList) DeepCopyInto ¶
func (in *ModulePackageList) DeepCopyInto(out *ModulePackageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ModulePackageList) DeepCopyObject ¶
func (in *ModulePackageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ModulePackageSpec ¶
type ModulePackageSpec struct {
// SourceRef references a Flux source (OCIRepository, GitRepository, or Bucket)
// that provides the artifact containing the CUE package.
SourceRef SourceReference `json:"sourceRef"`
// Path is the directory within the artifact containing instance.cue.
// Example: "releases/prod/minecraft".
// +kubebuilder:validation:MinLength=1
Path string `json:"path"`
// Interval at which the reconciler re-evaluates the package to detect drift
// and re-apply. Also the requeue interval after transient failures.
// +optional
Interval metav1.Duration `json:"interval,omitempty"`
// DependsOn references other ModulePackage CRs that must be Ready=True before
// this ModulePackage is reconciled. References are same-namespace only.
// +optional
DependsOn []fluxmeta.NamespacedObjectReference `json:"dependsOn,omitempty"`
// Prune enables deletion of stale resources on reconcile and of all owned
// resources on ModulePackage deletion.
// +optional
Prune bool `json:"prune,omitempty"`
// Suspend halts reconciliation when true.
// +optional
Suspend bool `json:"suspend,omitempty"`
// ServiceAccountName is the name of the ServiceAccount used to impersonate
// during apply and prune. Empty means use the controller's identity.
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`
// Rollout configures apply behavior.
// +optional
Rollout *RolloutSpec `json:"rollout,omitempty"`
}
Was: ReleaseSpec ModulePackageSpec defines the desired state of ModulePackage. A ModulePackage points to a Flux source artifact containing a CUE package. The controller fetches the artifact, navigates to spec.path, loads instance.cue, and renders it when it evaluates to #ModuleInstance; any other kind is rejected as unsupported.
func (*ModulePackageSpec) DeepCopy ¶
func (in *ModulePackageSpec) DeepCopy() *ModulePackageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModulePackageSpec.
func (*ModulePackageSpec) DeepCopyInto ¶
func (in *ModulePackageSpec) DeepCopyInto(out *ModulePackageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModulePackageStatus ¶
type ModulePackageStatus struct {
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// conditions represent the current state of the ModulePackage resource.
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// Source is the resolved Flux source artifact metadata.
// +optional
Source *SourceStatus `json:"source,omitempty"`
// +optional
LastAttemptedAction string `json:"lastAttemptedAction,omitempty"`
// +optional
LastAttemptedAt *metav1.Time `json:"lastAttemptedAt,omitempty"`
// +optional
LastAttemptedDuration *metav1.Duration `json:"lastAttemptedDuration,omitempty"`
// +optional
LastAttemptedSourceDigest string `json:"lastAttemptedSourceDigest,omitempty"`
// +optional
LastAttemptedConfigDigest string `json:"lastAttemptedConfigDigest,omitempty"`
// +optional
LastAttemptedRenderDigest string `json:"lastAttemptedRenderDigest,omitempty"`
// +optional
LastAppliedAt *metav1.Time `json:"lastAppliedAt,omitempty"`
// +optional
LastAppliedSourceDigest string `json:"lastAppliedSourceDigest,omitempty"`
// +optional
LastAppliedConfigDigest string `json:"lastAppliedConfigDigest,omitempty"`
// +optional
LastAppliedRenderDigest string `json:"lastAppliedRenderDigest,omitempty"`
// +optional
FailureCounters *FailureCounters `json:"failureCounters,omitempty"`
// +optional
Inventory *Inventory `json:"inventory,omitempty"`
// +optional
History []HistoryEntry `json:"history,omitempty"`
// NextRetryAt indicates when the controller will next attempt reconciliation
// after a transient or stalled failure.
// +optional
NextRetryAt *metav1.Time `json:"nextRetryAt,omitempty"`
}
Was: ReleaseStatus ModulePackageStatus defines the observed state of ModulePackage.
func (*ModulePackageStatus) DeepCopy ¶
func (in *ModulePackageStatus) DeepCopy() *ModulePackageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModulePackageStatus.
func (*ModulePackageStatus) DeepCopyInto ¶
func (in *ModulePackageStatus) DeepCopyInto(out *ModulePackageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ModuleReference ¶
type ModuleReference struct {
// Path is the CUE module import path.
// Example: "opmodel.dev/modules/cert_manager@v0"
// +kubebuilder:validation:MinLength=1
Path string `json:"path"`
// Version is the pinned module version to resolve from the registry.
// Example: "v0.2.1"
// +kubebuilder:validation:MinLength=1
Version string `json:"version"`
}
ModuleReference identifies the CUE module to evaluate from an OCI registry.
func (*ModuleReference) DeepCopy ¶
func (in *ModuleReference) DeepCopy() *ModuleReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ModuleReference.
func (*ModuleReference) DeepCopyInto ¶
func (in *ModuleReference) DeepCopyInto(out *ModuleReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type OwnerType ¶
type OwnerType string
OwnerType identifies which actor manages a ModuleInstance.
const ( // OwnerCLI marks an instance as managed externally by the OPM CLI. The // operator stays hands-off: it renders, applies, prunes nothing, adds no // finalizer, and only records a ManagedExternally acknowledgement. OwnerCLI OwnerType = "cli" // OwnerOperator marks an instance as managed by the operator (the default // semantics). The reconciler also treats an absent or empty owner this way. OwnerOperator OwnerType = "operator" )
type Platform ¶ added in v0.7.0
type Platform struct {
metav1.TypeMeta `json:",inline"`
// metadata is a standard object metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitzero"`
// spec defines the desired state of Platform
// +required
Spec PlatformSpec `json:"spec"`
// status defines the observed state of Platform
// +optional
Status PlatformStatus `json:"status,omitzero"`
}
Platform is the Schema for the platforms API. It is a cluster-scoped singleton (the only permitted name is "cluster") whose spec projects the core #Platform author surface.
func (*Platform) DeepCopy ¶ added in v0.7.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Platform.
func (*Platform) DeepCopyInto ¶ added in v0.7.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Platform) DeepCopyObject ¶ added in v0.7.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Platform) GetConditions ¶ added in v0.7.0
GetConditions returns the status conditions of the Platform.
func (*Platform) SetConditions ¶ added in v0.7.0
SetConditions sets the status conditions on the Platform.
type PlatformList ¶ added in v0.7.0
type PlatformList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitzero"`
Items []Platform `json:"items"`
}
PlatformList contains a list of Platform.
func (*PlatformList) DeepCopy ¶ added in v0.7.0
func (in *PlatformList) DeepCopy() *PlatformList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformList.
func (*PlatformList) DeepCopyInto ¶ added in v0.7.0
func (in *PlatformList) DeepCopyInto(out *PlatformList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PlatformList) DeepCopyObject ¶ added in v0.7.0
func (in *PlatformList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PlatformSpec ¶ added in v0.7.0
type PlatformSpec struct {
// Type is the informational discriminator for the platform (core
// #Platform.type). It does not affect matching; it labels the platform
// flavor for operators and downstream tooling.
// +kubebuilder:validation:MinLength=1
// +required
Type string `json:"type"`
// Registry is the set of catalog subscriptions keyed by major-suffixed
// catalog CUE module path (e.g. "opmodel.dev/catalogs/opm@v2"), projecting
// core #Platform.#registry. The key's major must agree with the major of
// the subscribed version (enhancement 0010 D14).
// +optional
Registry map[string]Subscription `json:"registry,omitempty"`
// SkewPolicy is the operator's response to catalog version skew: a
// module whose cue.mod requires a newer build of an OPM-namespace path
// (core or a catalog) than the platform pins (enhancement 0019 D7/D18).
// "Warn" (the default when unset) renders against the platform's build
// and reports the skew as a RenderWarning event on the workload; "Refuse"
// refuses the render before evaluation and the workload reports
// Ready=False with reason SkewRefused, naming the path and both versions.
// The policy is not part of the generated platform module; it is recorded
// beside it, so changing the field alone bumps the generation, regenerates
// and re-enqueues the workloads.
// +kubebuilder:validation:Enum=Warn;Refuse
// +optional
SkewPolicy *string `json:"skewPolicy,omitempty"`
}
PlatformSpec defines the desired state of Platform. It is a near-1:1 projection of the core #Platform author surface: an informational type discriminator plus a path-keyed registry of catalog subscriptions. The operator generates a platform CUE module from it on its own disk (a cue.mod pinning every subscribed catalog and a platform.cue carrying each catalog by import) and builds that module; the CR stays the API and the module is derived state (enhancement 0019 D6).
func (*PlatformSpec) DeepCopy ¶ added in v0.7.0
func (in *PlatformSpec) DeepCopy() *PlatformSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformSpec.
func (*PlatformSpec) DeepCopyInto ¶ added in v0.7.0
func (in *PlatformSpec) DeepCopyInto(out *PlatformSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PlatformStatus ¶ added in v0.7.0
type PlatformStatus struct {
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// conditions represent the current state of the Platform resource. The
// PlatformReconciler summarizes module generation on the Ready condition:
// Ready=True (reason Generated) when the generated platform module built,
// Ready=False with reason BuildFailed (a pinned build does not exist, a
// key disagrees with its imported catalog, or the module did not build;
// the message names the dependency or entry) or GenerateFailed (the
// module could not be written to the operator's disk).
// +listType=map
// +listMapKey=type
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// operatorVersion is the version of the operator that last patched this
// Platform's status, stamped on every reconcile regardless of outcome
// (enhancement 0006 D24). The CLI reads it as the version-skew ceiling;
// absence means no operator has reconciled the Platform (solo cluster).
// +optional
OperatorVersion string `json:"operatorVersion,omitempty"`
}
PlatformStatus defines the observed state of Platform.
func (*PlatformStatus) DeepCopy ¶ added in v0.7.0
func (in *PlatformStatus) DeepCopy() *PlatformStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlatformStatus.
func (*PlatformStatus) DeepCopyInto ¶ added in v0.7.0
func (in *PlatformStatus) DeepCopyInto(out *PlatformStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RawValues ¶
type RawValues struct {
apiextensionsv1.JSON `json:",inline"`
}
RawValues stores arbitrary CUE/JSON-compatible values.
func (*RawValues) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RawValues.
func (*RawValues) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RolloutSpec ¶
type RolloutSpec struct {
// Strategy controls how apply operations are performed.
// +kubebuilder:validation:Enum=Apply
// +optional
Strategy string `json:"strategy,omitempty"`
// ForceConflicts enables SSA force ownership when desired.
// +optional
ForceConflicts bool `json:"forceConflicts,omitempty"`
}
RolloutSpec configures apply behavior for a release.
func (*RolloutSpec) DeepCopy ¶
func (in *RolloutSpec) DeepCopy() *RolloutSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RolloutSpec.
func (*RolloutSpec) DeepCopyInto ¶
func (in *RolloutSpec) DeepCopyInto(out *RolloutSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SourceReference ¶
type SourceReference = fluxmeta.NamespacedObjectKindReference
SourceReference points to a Flux source object. Used by Release; ModuleInstance uses CUE-native module resolution instead.
type SourceStatus ¶
type SourceStatus struct {
// Ref is the resolved source reference.
// +optional
Ref *SourceReference `json:"ref,omitempty"`
// ArtifactRevision is the revision reported by the source artifact.
// +optional
ArtifactRevision string `json:"artifactRevision,omitempty"`
// ArtifactDigest is the digest reported by the source artifact.
// +optional
ArtifactDigest string `json:"artifactDigest,omitempty"`
// ArtifactURL is the fetch URL reported by the source artifact.
// +optional
ArtifactURL string `json:"artifactURL,omitempty"`
}
SourceStatus describes the resolved source artifact used by a reconcile.
func (*SourceStatus) DeepCopy ¶
func (in *SourceStatus) DeepCopy() *SourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SourceStatus.
func (*SourceStatus) DeepCopyInto ¶
func (in *SourceStatus) DeepCopyInto(out *SourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Subscription ¶ added in v0.7.0
type Subscription struct {
// Enable toggles the subscription. A pointer so that an omitted value
// defers to the schema default (true) rather than serializing as an
// explicit false. A disabled subscription is still pinned and imported by
// the generated module, with enable set to false on its entry.
// +optional
Enable *bool `json:"enable,omitempty"`
// Version names exactly one published catalog build as a bare SemVer
// string (e.g. "2.0.0-alpha.3") — the platform module IS the resolution
// (enhancement 0010 D14); there is no range or allow/deny vocabulary. The
// version's major must agree with the subscription key's `@vN` suffix.
// The operator uses it twice: as the generated cue.mod pin and as the
// entry's stamped expected version, which unifies with the imported
// catalog's own version so wrong bytes fail the build naming the entry
// (enhancement 0019 D13).
// CRD-required is safe against the stored pre-reshape singleton: API
// server validation ratcheting keeps status-subresource patches working
// against a stored object lacking the field (measured in
// test/integration/crdvalidation).
// +kubebuilder:validation:MinLength=1
// +required
Version string `json:"version"`
}
Subscription is a single catalog registry subscription. It becomes one #registry entry of the generated platform module, carrying the catalog by import.
func (*Subscription) DeepCopy ¶ added in v0.7.0
func (in *Subscription) DeepCopy() *Subscription
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subscription.
func (*Subscription) DeepCopyInto ¶ added in v0.7.0
func (in *Subscription) DeepCopyInto(out *Subscription)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.