Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Index ¶
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type ImageDigestFormat
- type InternalReleaseImage
- func (in *InternalReleaseImage) DeepCopy() *InternalReleaseImage
- func (in *InternalReleaseImage) DeepCopyInto(out *InternalReleaseImage)
- func (in *InternalReleaseImage) DeepCopyObject() runtime.Object
- func (in InternalReleaseImage) OpenAPIModelName() string
- func (InternalReleaseImage) SwaggerDoc() map[string]string
- type InternalReleaseImageBundleStatus
- func (in *InternalReleaseImageBundleStatus) DeepCopy() *InternalReleaseImageBundleStatus
- func (in *InternalReleaseImageBundleStatus) DeepCopyInto(out *InternalReleaseImageBundleStatus)
- func (in InternalReleaseImageBundleStatus) OpenAPIModelName() string
- func (InternalReleaseImageBundleStatus) SwaggerDoc() map[string]string
- type InternalReleaseImageConditionType
- type InternalReleaseImageList
- func (in *InternalReleaseImageList) DeepCopy() *InternalReleaseImageList
- func (in *InternalReleaseImageList) DeepCopyInto(out *InternalReleaseImageList)
- func (in *InternalReleaseImageList) DeepCopyObject() runtime.Object
- func (in InternalReleaseImageList) OpenAPIModelName() string
- func (InternalReleaseImageList) SwaggerDoc() map[string]string
- type InternalReleaseImageRef
- type InternalReleaseImageSpec
- type InternalReleaseImageStatus
- type InternalReleaseImageStatusConditionType
- type OSImageStream
- type OSImageStreamList
- type OSImageStreamSet
- type OSImageStreamSpec
- type OSImageStreamStatus
Constants ¶
This section is empty.
Variables ¶
var ( GroupName = "machineconfiguration.openshift.io" GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} // Install is a function which adds this version to a scheme Install = schemeBuilder.AddToScheme // SchemeGroupVersion generated code relies on this name // Deprecated SchemeGroupVersion = GroupVersion // AddToScheme exists solely to keep the old generators creating valid code // DEPRECATED AddToScheme = schemeBuilder.AddToScheme )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource generated code relies on this being here, but it logically belongs to the group DEPRECATED
Types ¶
type ImageDigestFormat ¶
type ImageDigestFormat string
ImageDigestFormat is a type that conforms to the format host[:port][/namespace]/name@sha256:<digest>. The digest must be 64 characters long, and consist only of lowercase hexadecimal characters, a-f and 0-9. The length of the field must be between 1 to 447 characters. +kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=447 +kubebuilder:validation:XValidation:rule=`(self.split('@').size() == 2 && self.split('@')[1].matches('^sha256:[a-f0-9]{64}$'))`,message="the OCI Image reference must end with a valid '@sha256:<digest>' suffix, where '<digest>' is 64 characters long" +kubebuilder:validation:XValidation:rule=`(self.split('@')[0].matches('^([a-zA-Z0-9-]+\\.)+[a-zA-Z0-9-]+(:[0-9]{2,5})?/([a-zA-Z0-9-_]{0,61}/)?[a-zA-Z0-9-_.]*?$'))`,message="the OCI Image name should follow the host[:port][/namespace]/name format, resembling a valid URL without the scheme"
type InternalReleaseImage ¶
type InternalReleaseImage struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +required
metav1.ObjectMeta `json:"metadata,omitempty"`
// spec describes the configuration of this internal release image.
// +required
Spec InternalReleaseImageSpec `json:"spec,omitempty,omitzero"`
// status describes the last observed state of this internal release image.
// +optional
Status InternalReleaseImageStatus `json:"status,omitempty,omitzero"`
}
InternalReleaseImage is used to keep track and manage a set of release bundles (OCP and OLM operators images) that are stored into the control planes nodes.
Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. +openshift:compatibility-gen:level=4
func (*InternalReleaseImage) DeepCopy ¶
func (in *InternalReleaseImage) DeepCopy() *InternalReleaseImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalReleaseImage.
func (*InternalReleaseImage) DeepCopyInto ¶
func (in *InternalReleaseImage) DeepCopyInto(out *InternalReleaseImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InternalReleaseImage) DeepCopyObject ¶
func (in *InternalReleaseImage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (InternalReleaseImage) OpenAPIModelName ¶
func (in InternalReleaseImage) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (InternalReleaseImage) SwaggerDoc ¶
func (InternalReleaseImage) SwaggerDoc() map[string]string
type InternalReleaseImageBundleStatus ¶
type InternalReleaseImageBundleStatus struct {
// conditions represent the observations of an internal release image current state. Valid types are:
// Mounted, Installing, Available, Removing and Degraded.
//
// If Mounted is true, that means that a valid ISO has been discovered and mounted on one of the cluster nodes.
// If Installing is true, that means that a new release bundle is currently being copied on one (or more) cluster nodes, and not yet completed.
// If Available is true, it means that the release has been previously installed on all the cluster nodes, and it can be used.
// If Removing is true, it means that a release deletion is in progress on one (or more) cluster nodes, and not yet completed.
// If Degraded is true, that means something has gone wrong (possibly on one or more cluster nodes).
//
// In general, after installing a new release bundle, it is required to wait for the Conditions "Available" to become "True" (and all
// the other conditions to be equal to "False") before being able to pull its content.
//
// +listType=map
// +listMapKey=type
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=5
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// name indicates the desired release bundle identifier. This field is required and must be between 1 and 64 characters long.
// The expected name format is ocp-release-bundle-<version>-<arch|stream>.
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=64
// +kubebuilder:validation:XValidation:rule=`self.matches('^ocp-release-bundle-[0-9]+\\.[0-9]+\\.[0-9]+-[A-Za-z0-9._-]+$')`,message="must be ocp-release-bundle-<version>-<arch|stream> and <= 64 chars"
// +required
Name string `json:"name,omitempty"`
// image is an OCP release image referenced by digest.
// The format of the image pull spec is: host[:port][/namespace]/name@sha256:<digest>,
// where the digest must be 64 characters long, and consist only of lowercase hexadecimal characters, a-f and 0-9.
// The length of the whole spec must be between 1 to 447 characters.
// The field is optional, and it will be provided after a release will be successfully installed.
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=447
// +kubebuilder:validation:XValidation:rule=`(self.split('@').size() == 2 && self.split('@')[1].matches('^sha256:[a-f0-9]{64}$'))`,message="the OCI Image reference must end with a valid '@sha256:<digest>' suffix, where '<digest>' is 64 characters long"
// +kubebuilder:validation:XValidation:rule=`(self.split('@')[0].matches('^([a-zA-Z0-9-]+\\.)+[a-zA-Z0-9-]+(:[0-9]{2,5})?/([a-zA-Z0-9-_]{0,61}/)?[a-zA-Z0-9-_.]*?$'))`,message="the OCI Image name should follow the host[:port][/namespace]/name format, resembling a valid URL without the scheme"
// +optional
Image string `json:"image,omitempty"`
}
func (*InternalReleaseImageBundleStatus) DeepCopy ¶
func (in *InternalReleaseImageBundleStatus) DeepCopy() *InternalReleaseImageBundleStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalReleaseImageBundleStatus.
func (*InternalReleaseImageBundleStatus) DeepCopyInto ¶
func (in *InternalReleaseImageBundleStatus) DeepCopyInto(out *InternalReleaseImageBundleStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (InternalReleaseImageBundleStatus) OpenAPIModelName ¶
func (in InternalReleaseImageBundleStatus) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (InternalReleaseImageBundleStatus) SwaggerDoc ¶
func (InternalReleaseImageBundleStatus) SwaggerDoc() map[string]string
type InternalReleaseImageConditionType ¶
type InternalReleaseImageConditionType string
InternalReleaseImageConditionType is each possible state for each possible InternalReleaseImageBundleStatus conditions type. +enum
const ( // InternalReleaseImageConditionTypeMounted describes a new release, not yet installed, that has been discovered when an ISO has been attached to // one of the control plane nodes InternalReleaseImageConditionTypeMounted InternalReleaseImageConditionType = "Mounted" // InternalReleaseImageConditionTypeInstalling describes a new release that is getting installed in the cluster. Due the size of the data // transfered, the operation could take several minutes. The condition will remain in such state until all the control plane nodes will // complete the installing operation InternalReleaseImageConditionTypeInstalling InternalReleaseImageConditionType = "Installing" // InternalReleaseImageConditionTypeAvailable describes a release that has been successfully installed in the cluster, ready to be consumed. This // means that the release has been successfully installed on all the control plane nodes InternalReleaseImageConditionTypeAvailable InternalReleaseImageConditionType = "Available" // InternalReleaseImageConditionTypeRemoving describes an existing release that is getting removed from the cluster. The condition will remain in such // state until all the control plane nodes will complete the removal operation InternalReleaseImageConditionTypeRemoving InternalReleaseImageConditionType = "Removing" // InternalReleaseImageConditionTypeDegraded describes a failure, happened in one or more control plane nodes, for the current release InternalReleaseImageConditionTypeDegraded InternalReleaseImageConditionType = "Degraded" )
type InternalReleaseImageList ¶
type InternalReleaseImageList struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard list's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ListMeta `json:"metadata"`
Items []InternalReleaseImage `json:"items"`
}
InternalReleaseImageList is a list of InternalReleaseImage resources
Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. +openshift:compatibility-gen:level=4
func (*InternalReleaseImageList) DeepCopy ¶
func (in *InternalReleaseImageList) DeepCopy() *InternalReleaseImageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalReleaseImageList.
func (*InternalReleaseImageList) DeepCopyInto ¶
func (in *InternalReleaseImageList) DeepCopyInto(out *InternalReleaseImageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InternalReleaseImageList) DeepCopyObject ¶
func (in *InternalReleaseImageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (InternalReleaseImageList) OpenAPIModelName ¶
func (in InternalReleaseImageList) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (InternalReleaseImageList) SwaggerDoc ¶
func (InternalReleaseImageList) SwaggerDoc() map[string]string
type InternalReleaseImageRef ¶
type InternalReleaseImageRef struct {
// name indicates the desired release bundle identifier. This field is required and must be between 1 and 64 characters long.
// The expected name format is ocp-release-bundle-<version>-<arch|stream>.
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=64
// +kubebuilder:validation:XValidation:rule=`self.matches('^ocp-release-bundle-[0-9]+\\.[0-9]+\\.[0-9]+-[A-Za-z0-9._-]+$')`,message="must be ocp-release-bundle-<version>-<arch|stream> and <= 64 chars"
Name string `json:"name,omitempty"`
}
InternalReleaseImageRef is used to provide a simple reference for a release bundle. Currently it contains only the name field.
func (*InternalReleaseImageRef) DeepCopy ¶
func (in *InternalReleaseImageRef) DeepCopy() *InternalReleaseImageRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalReleaseImageRef.
func (*InternalReleaseImageRef) DeepCopyInto ¶
func (in *InternalReleaseImageRef) DeepCopyInto(out *InternalReleaseImageRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (InternalReleaseImageRef) OpenAPIModelName ¶
func (in InternalReleaseImageRef) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (InternalReleaseImageRef) SwaggerDoc ¶
func (InternalReleaseImageRef) SwaggerDoc() map[string]string
type InternalReleaseImageSpec ¶
type InternalReleaseImageSpec struct {
// releases is a list of release bundle identifiers that the user wants to
// add/remove to/from the control plane nodes.
// Entries must be unique, keyed on the name field.
// releases must contain at least one entry and must not exceed 16 entries.
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=16
// +listType=map
// +listMapKey=name
// +required
Releases []InternalReleaseImageRef `json:"releases,omitempty"`
}
InternalReleaseImageSpec defines the desired state of a InternalReleaseImage.
func (*InternalReleaseImageSpec) DeepCopy ¶
func (in *InternalReleaseImageSpec) DeepCopy() *InternalReleaseImageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalReleaseImageSpec.
func (*InternalReleaseImageSpec) DeepCopyInto ¶
func (in *InternalReleaseImageSpec) DeepCopyInto(out *InternalReleaseImageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (InternalReleaseImageSpec) OpenAPIModelName ¶
func (in InternalReleaseImageSpec) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (InternalReleaseImageSpec) SwaggerDoc ¶
func (InternalReleaseImageSpec) SwaggerDoc() map[string]string
type InternalReleaseImageStatus ¶
type InternalReleaseImageStatus struct {
// conditions represent the observations of the InternalReleaseImage controller current state.
// Valid types are: Degraded.
// If Degraded is true, that means something has gone wrong in the controller.
// +listType=map
// +listMapKey=type
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=20
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// releases is a list of the release bundles currently owned and managed by the
// cluster.
// A release bundle content could be safely pulled only when its Conditions field
// contains at least an Available entry set to "True" and Degraded to "False".
// Entries must be unique, keyed on the name field.
// releases must contain at least one entry and must not exceed 32 entries.
// +listType=map
// +listMapKey=name
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=32
// +required
Releases []InternalReleaseImageBundleStatus `json:"releases,omitempty"`
}
InternalReleaseImageStatus describes the current state of a InternalReleaseImage.
func (*InternalReleaseImageStatus) DeepCopy ¶
func (in *InternalReleaseImageStatus) DeepCopy() *InternalReleaseImageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalReleaseImageStatus.
func (*InternalReleaseImageStatus) DeepCopyInto ¶
func (in *InternalReleaseImageStatus) DeepCopyInto(out *InternalReleaseImageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (InternalReleaseImageStatus) OpenAPIModelName ¶
func (in InternalReleaseImageStatus) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (InternalReleaseImageStatus) SwaggerDoc ¶
func (InternalReleaseImageStatus) SwaggerDoc() map[string]string
type InternalReleaseImageStatusConditionType ¶
type InternalReleaseImageStatusConditionType string
InternalReleaseImageStatusConditionType describes the possible states for InternalReleaseImageStatus. +enum
const ( // InternalReleaseImageStatusConditionTypeDegraded describes a failure in the controller. InternalReleaseImageStatusConditionTypeDegraded InternalReleaseImageStatusConditionType = "Degraded" )
type OSImageStream ¶
type OSImageStream struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
// spec contains the desired OSImageStream config configuration.
// +required
Spec *OSImageStreamSpec `json:"spec,omitempty"`
// status describes the last observed state of this OSImageStream.
// Populated by the MachineConfigOperator after reading release metadata.
// When not present, the controller has not yet reconciled this resource.
// +optional
Status OSImageStreamStatus `json:"status,omitempty,omitzero"`
}
OSImageStream describes a set of streams and associated images available for the MachineConfigPools to be used as base OS images.
The resource is a singleton named "cluster".
Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. +openshift:compatibility-gen:level=4 +kubebuilder:object:root=true +kubebuilder:resource:path=osimagestreams,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/2555 +openshift:file-pattern=cvoRunLevel=0000_80,operatorName=machine-config,operatorOrdering=01 +openshift:enable:FeatureGate=OSStreams +kubebuilder:metadata:labels=openshift.io/operator-managed= +kubebuilder:validation:XValidation:rule="self.metadata.name == 'cluster'",message="osimagestream is a singleton, .metadata.name must be 'cluster'" +kubebuilder:validation:XValidation:rule="self.spec == oldSelf.spec || !has(self.spec.defaultStream) || !has(self.status) || self.spec.defaultStream in self.status.availableStreams.map(s, s.name)",message="spec.defaultStream must reference an existing stream name from status.availableStreams"
func (*OSImageStream) DeepCopy ¶
func (in *OSImageStream) DeepCopy() *OSImageStream
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSImageStream.
func (*OSImageStream) DeepCopyInto ¶
func (in *OSImageStream) DeepCopyInto(out *OSImageStream)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OSImageStream) DeepCopyObject ¶
func (in *OSImageStream) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (OSImageStream) OpenAPIModelName ¶
func (in OSImageStream) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (OSImageStream) SwaggerDoc ¶
func (OSImageStream) SwaggerDoc() map[string]string
type OSImageStreamList ¶
type OSImageStreamList struct {
metav1.TypeMeta `json:",inline"`
// metadata is the standard list's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
metav1.ListMeta `json:"metadata"`
Items []OSImageStream `json:"items"`
}
OSImageStreamList is a list of OSImageStream resources
Compatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. +openshift:compatibility-gen:level=4
func (*OSImageStreamList) DeepCopy ¶
func (in *OSImageStreamList) DeepCopy() *OSImageStreamList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSImageStreamList.
func (*OSImageStreamList) DeepCopyInto ¶
func (in *OSImageStreamList) DeepCopyInto(out *OSImageStreamList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*OSImageStreamList) DeepCopyObject ¶
func (in *OSImageStreamList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (OSImageStreamList) OpenAPIModelName ¶
func (in OSImageStreamList) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (OSImageStreamList) SwaggerDoc ¶
func (OSImageStreamList) SwaggerDoc() map[string]string
type OSImageStreamSet ¶
type OSImageStreamSet struct {
// name is the required identifier of the stream.
//
// name is determined by the operator based on the OCI label of the
// discovered OS or Extension Image.
//
// Must be a valid RFC 1123 subdomain between 1 and 253 characters in length,
// consisting of lowercase alphanumeric characters, hyphens ('-'), and periods ('.').
//
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
// +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character."
Name string `json:"name,omitempty"`
// osImage is a required OS Image referenced by digest.
//
// osImage contains the immutable, fundamental operating system components, including the kernel
// and base utilities, that define the core environment for the node's host operating system.
//
// The format of the image pull spec is: host[:port][/namespace]/name@sha256:<digest>,
// where the digest must be 64 characters long, and consist only of lowercase hexadecimal characters, a-f and 0-9.
// The length of the whole spec must be between 1 to 447 characters.
// +required
OSImage ImageDigestFormat `json:"osImage,omitempty"`
// osExtensionsImage is a required OS Extensions Image referenced by digest.
//
// osExtensionsImage bundles the extra repositories used to enable extensions, augmenting
// the base operating system without modifying the underlying immutable osImage.
//
// The format of the image pull spec is: host[:port][/namespace]/name@sha256:<digest>,
// where the digest must be 64 characters long, and consist only of lowercase hexadecimal characters, a-f and 0-9.
// The length of the whole spec must be between 1 to 447 characters.
// +required
OSExtensionsImage ImageDigestFormat `json:"osExtensionsImage,omitempty"`
}
func (*OSImageStreamSet) DeepCopy ¶
func (in *OSImageStreamSet) DeepCopy() *OSImageStreamSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSImageStreamSet.
func (*OSImageStreamSet) DeepCopyInto ¶
func (in *OSImageStreamSet) DeepCopyInto(out *OSImageStreamSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (OSImageStreamSet) OpenAPIModelName ¶
func (in OSImageStreamSet) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (OSImageStreamSet) SwaggerDoc ¶
func (OSImageStreamSet) SwaggerDoc() map[string]string
type OSImageStreamSpec ¶
type OSImageStreamSpec struct {
// defaultStream is the desired name of the stream that should be used as the
// default when no specific stream is requested by a MachineConfigPool.
//
// This field is set by the installer during installation. Users may need to
// update it if the currently selected stream is no longer available, for
// example when the stream has reached its End of Life.
// The MachineConfigOperator uses this value to determine which stream from
// status.availableStreams to apply as the default for MachineConfigPools
// that do not specify a stream override.
//
// When status.availableStreams has been populated by the operator, updating
// this field requires that the new value references the name of one of the
// streams in status.availableStreams. Status-only updates by the operator
// are not subject to this constraint, allowing the operator to update
// availableStreams independently of this field.
// During initial creation, before the operator has populated status, any
// valid value is accepted.
//
// When omitted, the operator determines the default stream automatically.
// Once set, this field cannot be removed.
//
// It must be a valid RFC 1123 subdomain between 1 and 253 characters in length,
// consisting of lowercase alphanumeric characters, hyphens ('-'), and periods ('.').
//
// +optional
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
// +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character."
DefaultStream string `json:"defaultStream,omitempty"`
}
OSImageStreamSpec defines the desired state of a OSImageStream. +kubebuilder:validation:XValidation:rule="!has(oldSelf.defaultStream) || has(self.defaultStream)",message="spec.defaultStream cannot be removed once set"
func (*OSImageStreamSpec) DeepCopy ¶
func (in *OSImageStreamSpec) DeepCopy() *OSImageStreamSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSImageStreamSpec.
func (*OSImageStreamSpec) DeepCopyInto ¶
func (in *OSImageStreamSpec) DeepCopyInto(out *OSImageStreamSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (OSImageStreamSpec) OpenAPIModelName ¶
func (in OSImageStreamSpec) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (OSImageStreamSpec) SwaggerDoc ¶
func (OSImageStreamSpec) SwaggerDoc() map[string]string
type OSImageStreamStatus ¶
type OSImageStreamStatus struct {
// availableStreams is a list of the available OS Image Streams that can be
// used as the base image for MachineConfigPools.
// availableStreams is required, must have at least one item, must not exceed
// 100 items, and must have unique entries keyed on the name field.
//
// +required
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=100
// +listType=map
// +listMapKey=name
AvailableStreams []OSImageStreamSet `json:"availableStreams,omitempty"`
// defaultStream is the name of the stream that should be used as the default
// when no specific stream is requested by a MachineConfigPool.
//
// It must be a valid RFC 1123 subdomain between 1 and 253 characters in length,
// consisting of lowercase alphanumeric characters, hyphens ('-'), and periods ('.'),
// and must reference the name of one of the streams in availableStreams.
//
// +required
// +kubebuilder:validation:MinLength=1
// +kubebuilder:validation:MaxLength=253
// +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character."
DefaultStream string `json:"defaultStream,omitempty"`
}
OSImageStreamStatus describes the current state of a OSImageStream +kubebuilder:validation:XValidation:rule="self.defaultStream in self.availableStreams.map(s, s.name)",message="defaultStream must reference a stream name from availableStreams"
func (*OSImageStreamStatus) DeepCopy ¶
func (in *OSImageStreamStatus) DeepCopy() *OSImageStreamStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OSImageStreamStatus.
func (*OSImageStreamStatus) DeepCopyInto ¶
func (in *OSImageStreamStatus) DeepCopyInto(out *OSImageStreamStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (OSImageStreamStatus) OpenAPIModelName ¶
func (in OSImageStreamStatus) OpenAPIModelName() string
OpenAPIModelName returns the OpenAPI model name for this type.
func (OSImageStreamStatus) SwaggerDoc ¶
func (OSImageStreamStatus) SwaggerDoc() map[string]string