v1alpha1

package
v0.0.0-...-8127870 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 1, 2026 License: Apache-2.0 Imports: 3 Imported by: 9

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API.

Index

Constants

This section is empty.

Variables

View Source
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 Kind

func Kind(kind string) schema.GroupKind

Kind is used to validate existence of a resource kind in this API group

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalReleaseImageBundleStatus.

func (*InternalReleaseImageBundleStatus) DeepCopyInto

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

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

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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternalReleaseImageStatus.

func (*InternalReleaseImageStatus) DeepCopyInto

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL