Documentation ¶
Overview ¶
+kubebuilder:validation:Optional Package v1 is the v1 version of the API.
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type BuildProgress
- type CertExpiry
- type ContainerRuntimeConfig
- type ContainerRuntimeConfigCondition
- type ContainerRuntimeConfigList
- type ContainerRuntimeConfigSpec
- type ContainerRuntimeConfigStatus
- type ContainerRuntimeConfigStatusConditionType
- type ContainerRuntimeConfiguration
- type ContainerRuntimeDefaultRuntime
- type ContainerfileArch
- type ControllerCertificate
- type ControllerConfig
- type ControllerConfigList
- type ControllerConfigSpec
- type ControllerConfigStatus
- type ControllerConfigStatusCondition
- type ControllerConfigStatusConditionType
- type IPFamiliesType
- type ImageDigestFormat
- type ImageRegistryBundle
- type ImageSecretObjectReference
- type ImageTagFormat
- type KubeletConfig
- type KubeletConfigCondition
- type KubeletConfigList
- type KubeletConfigSpec
- type KubeletConfigStatus
- type KubeletConfigStatusConditionType
- type MachineConfig
- type MachineConfigList
- type MachineConfigPool
- type MachineConfigPoolCondition
- type MachineConfigPoolConditionType
- type MachineConfigPoolList
- type MachineConfigPoolReference
- type MachineConfigPoolSpec
- type MachineConfigPoolStatus
- type MachineConfigPoolStatusConfiguration
- type MachineConfigReference
- type MachineConfigSpec
- type MachineOSBuild
- type MachineOSBuildList
- type MachineOSBuildSpec
- type MachineOSBuildStatus
- type MachineOSBuilderReference
- type MachineOSConfig
- type MachineOSConfigList
- type MachineOSConfigReference
- type MachineOSConfigSpec
- type MachineOSConfigStatus
- type MachineOSContainerfile
- type MachineOSImageBuilder
- type MachineOSImageBuilderType
- type NetworkInfo
- type ObjectReference
- type PinnedImageSetRef
- type PoolSynchronizerStatus
- type PoolSynchronizerType
Constants ¶
const ( ContainerRuntimeDefaultRuntimeEmpty = "" ContainerRuntimeDefaultRuntimeRunc = "runc" ContainerRuntimeDefaultRuntimeCrun = "crun" ContainerRuntimeDefaultRuntimeDefault = ContainerRuntimeDefaultRuntimeRunc )
const KubeletConfigRoleLabelPrefix = "pools.operator.machineconfiguration.openshift.io/"
KubeletConfigRoleLabelPrefix is the label that must be present in the KubeletConfig CR
const MachineConfigRoleLabelKey = "machineconfiguration.openshift.io/role"
MachineConfigRoleLabelKey is metadata key in the MachineConfig. Specifies the node role that config should be applied to. For example: `master` or `worker`
Variables ¶
var ( // GroupName is the group name of this api GroupName = "machineconfiguration.openshift.io" // GroupVersion is the version of this api group GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} // Install is a function which adds this version to a scheme Install = schemeBuilder.AddToScheme // SchemeGroupVersion is DEPRECATED SchemeGroupVersion = GroupVersion // AddToScheme is DEPRECATED AddToScheme = Install )
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource is used to validate existence of a resource in this API group
Types ¶
type BuildProgress ¶
type BuildProgress string
BuildProgess highlights some of the key phases of a build to be tracked in Conditions.
const ( // prepared indicates that the build has finished preparing. A build is prepared // by gathering the build inputs, validating them, and making sure we can do an update as specified. MachineOSBuildPrepared BuildProgress = "Prepared" // building indicates that the build has been kicked off with the specified image builder MachineOSBuilding BuildProgress = "Building" // failed indicates that during the build or preparation process, the build failed. MachineOSBuildFailed BuildProgress = "Failed" // interrupted indicates that the user stopped the build process by modifying part of the build config MachineOSBuildInterrupted BuildProgress = "Interrupted" // succeeded indicates that the build has completed and the image is ready to roll out. MachineOSBuildSucceeded BuildProgress = "Succeeded" )
type CertExpiry ¶
type CertExpiry struct { // bundle is the name of the bundle in which the subject certificate resides // +required Bundle string `json:"bundle"` // subject is the subject of the certificate // +required Subject string `json:"subject"` // expiry is the date after which the certificate will no longer be valid // +optional Expiry *metav1.Time `json:"expiry"` }
ceryExpiry contains the bundle name and the expiry date
func (*CertExpiry) DeepCopy ¶
func (in *CertExpiry) DeepCopy() *CertExpiry
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertExpiry.
func (*CertExpiry) DeepCopyInto ¶
func (in *CertExpiry) DeepCopyInto(out *CertExpiry)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (CertExpiry) SwaggerDoc ¶
func (CertExpiry) SwaggerDoc() map[string]string
type ContainerRuntimeConfig ¶
type ContainerRuntimeConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // spec contains the desired container runtime configuration. // +required Spec ContainerRuntimeConfigSpec `json:"spec"` // status contains observed information about the container runtime configuration. // +optional Status ContainerRuntimeConfigStatus `json:"status"` }
ContainerRuntimeConfig describes a customized Container Runtime configuration.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=containerruntimeconfigs,scope=Cluster,shortName=ctrcfg +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1453 +openshift:file-pattern=cvoRunLevel=0000_80,operatorName=machine-config,operatorOrdering=01 +kubebuilder:metadata:labels="openshift.io/operator-managed=" +openshift:compatibility-gen:level=1
func (*ContainerRuntimeConfig) DeepCopy ¶
func (in *ContainerRuntimeConfig) DeepCopy() *ContainerRuntimeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfig.
func (*ContainerRuntimeConfig) DeepCopyInto ¶
func (in *ContainerRuntimeConfig) DeepCopyInto(out *ContainerRuntimeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerRuntimeConfig) DeepCopyObject ¶
func (in *ContainerRuntimeConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ContainerRuntimeConfig) SwaggerDoc ¶
func (ContainerRuntimeConfig) SwaggerDoc() map[string]string
type ContainerRuntimeConfigCondition ¶
type ContainerRuntimeConfigCondition struct { // type specifies the state of the operator's reconciliation functionality. // +optional Type ContainerRuntimeConfigStatusConditionType `json:"type"` // status of the condition, one of True, False, Unknown. // +optional Status corev1.ConditionStatus `json:"status"` // lastTransitionTime is the time of the last update to the current status object. // +nullable // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime"` // reason is the reason for the condition's last transition. Reasons are PascalCase // +optional Reason string `json:"reason,omitempty"` // message provides additional information about the current condition. // This is only to be consumed by humans. // +optional Message string `json:"message,omitempty"` }
ContainerRuntimeConfigCondition defines the state of the ContainerRuntimeConfig
func (*ContainerRuntimeConfigCondition) DeepCopy ¶
func (in *ContainerRuntimeConfigCondition) DeepCopy() *ContainerRuntimeConfigCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfigCondition.
func (*ContainerRuntimeConfigCondition) DeepCopyInto ¶
func (in *ContainerRuntimeConfigCondition) DeepCopyInto(out *ContainerRuntimeConfigCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ContainerRuntimeConfigCondition) SwaggerDoc ¶
func (ContainerRuntimeConfigCondition) SwaggerDoc() map[string]string
type ContainerRuntimeConfigList ¶
type ContainerRuntimeConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []ContainerRuntimeConfig `json:"items"` }
ContainerRuntimeConfigList is a list of ContainerRuntimeConfig resources
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*ContainerRuntimeConfigList) DeepCopy ¶
func (in *ContainerRuntimeConfigList) DeepCopy() *ContainerRuntimeConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfigList.
func (*ContainerRuntimeConfigList) DeepCopyInto ¶
func (in *ContainerRuntimeConfigList) DeepCopyInto(out *ContainerRuntimeConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ContainerRuntimeConfigList) DeepCopyObject ¶
func (in *ContainerRuntimeConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ContainerRuntimeConfigList) SwaggerDoc ¶
func (ContainerRuntimeConfigList) SwaggerDoc() map[string]string
type ContainerRuntimeConfigSpec ¶
type ContainerRuntimeConfigSpec struct { // machineConfigPoolSelector selects which pools the ContainerRuntimeConfig shoud apply to. // A nil selector will result in no pools being selected. // +optional MachineConfigPoolSelector *metav1.LabelSelector `json:"machineConfigPoolSelector,omitempty"` // containerRuntimeConfig defines the tuneables of the container runtime. // +required ContainerRuntimeConfig *ContainerRuntimeConfiguration `json:"containerRuntimeConfig,omitempty"` }
ContainerRuntimeConfigSpec defines the desired state of ContainerRuntimeConfig
func (*ContainerRuntimeConfigSpec) DeepCopy ¶
func (in *ContainerRuntimeConfigSpec) DeepCopy() *ContainerRuntimeConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfigSpec.
func (*ContainerRuntimeConfigSpec) DeepCopyInto ¶
func (in *ContainerRuntimeConfigSpec) DeepCopyInto(out *ContainerRuntimeConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ContainerRuntimeConfigSpec) SwaggerDoc ¶
func (ContainerRuntimeConfigSpec) SwaggerDoc() map[string]string
type ContainerRuntimeConfigStatus ¶
type ContainerRuntimeConfigStatus struct { // observedGeneration represents the generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // conditions represents the latest available observations of current state. // +listType=atomic // +optional Conditions []ContainerRuntimeConfigCondition `json:"conditions"` }
ContainerRuntimeConfigStatus defines the observed state of a ContainerRuntimeConfig
func (*ContainerRuntimeConfigStatus) DeepCopy ¶
func (in *ContainerRuntimeConfigStatus) DeepCopy() *ContainerRuntimeConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfigStatus.
func (*ContainerRuntimeConfigStatus) DeepCopyInto ¶
func (in *ContainerRuntimeConfigStatus) DeepCopyInto(out *ContainerRuntimeConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ContainerRuntimeConfigStatus) SwaggerDoc ¶
func (ContainerRuntimeConfigStatus) SwaggerDoc() map[string]string
type ContainerRuntimeConfigStatusConditionType ¶
type ContainerRuntimeConfigStatusConditionType string
ContainerRuntimeConfigStatusConditionType is the state of the operator's reconciliation functionality.
const ( // ContainerRuntimeConfigSuccess designates a successful application of a ContainerRuntimeConfig CR. ContainerRuntimeConfigSuccess ContainerRuntimeConfigStatusConditionType = "Success" // ContainerRuntimeConfigFailure designates a failure applying a ContainerRuntimeConfig CR. ContainerRuntimeConfigFailure ContainerRuntimeConfigStatusConditionType = "Failure" )
type ContainerRuntimeConfiguration ¶
type ContainerRuntimeConfiguration struct { // pidsLimit specifies the maximum number of processes allowed in a container // +optional PidsLimit *int64 `json:"pidsLimit,omitempty"` // logLevel specifies the verbosity of the logs based on the level it is set to. // Options are fatal, panic, error, warn, info, and debug. // +optional LogLevel string `json:"logLevel,omitempty"` // logSizeMax specifies the Maximum size allowed for the container log file. // Negative numbers indicate that no size limit is imposed. // If it is positive, it must be >= 8192 to match/exceed conmon's read buffer. // +optional LogSizeMax *resource.Quantity `json:"logSizeMax,omitempty"` // overlaySize specifies the maximum size of a container image. // This flag can be used to set quota on the size of container images. (default: 10GB) // +optional OverlaySize *resource.Quantity `json:"overlaySize,omitempty"` // defaultRuntime is the name of the OCI runtime to be used as the default. // +optional DefaultRuntime ContainerRuntimeDefaultRuntime `json:"defaultRuntime,omitempty"` }
ContainerRuntimeConfiguration defines the tuneables of the container runtime
func (*ContainerRuntimeConfiguration) DeepCopy ¶
func (in *ContainerRuntimeConfiguration) DeepCopy() *ContainerRuntimeConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfiguration.
func (*ContainerRuntimeConfiguration) DeepCopyInto ¶
func (in *ContainerRuntimeConfiguration) DeepCopyInto(out *ContainerRuntimeConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ContainerRuntimeConfiguration) SwaggerDoc ¶
func (ContainerRuntimeConfiguration) SwaggerDoc() map[string]string
type ContainerRuntimeDefaultRuntime ¶
type ContainerRuntimeDefaultRuntime string
type ContainerfileArch ¶
type ContainerfileArch string
+enum
const ( // describes the arm64 architecture Arm64 ContainerfileArch = "ARM64" // describes the amd64 architecture Amd64 ContainerfileArch = "AMD64" // describes the ppc64le architecture Ppc ContainerfileArch = "PPC64LE" // describes the s390x architecture S390 ContainerfileArch = "S390X" // describes a containerfile that can be applied to any arch NoArch ContainerfileArch = "NoArch" )
type ControllerCertificate ¶
type ControllerCertificate struct { // subject is the cert subject // +required Subject string `json:"subject"` // signer is the cert Issuer // +required Signer string `json:"signer"` // notBefore is the lower boundary for validity // +optional NotBefore *metav1.Time `json:"notBefore"` // notAfter is the upper boundary for validity // +optional NotAfter *metav1.Time `json:"notAfter"` // bundleFile is the larger bundle a cert comes from // +required BundleFile string `json:"bundleFile"` }
ControllerCertificate contains info about a specific cert.
func (*ControllerCertificate) DeepCopy ¶
func (in *ControllerCertificate) DeepCopy() *ControllerCertificate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerCertificate.
func (*ControllerCertificate) DeepCopyInto ¶
func (in *ControllerCertificate) DeepCopyInto(out *ControllerCertificate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControllerCertificate) SwaggerDoc ¶
func (ControllerCertificate) SwaggerDoc() map[string]string
type ControllerConfig ¶
type ControllerConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // spec contains the desired controller config configuration. // +required Spec ControllerConfigSpec `json:"spec"` // status contains observed information about the controller config. // +optional Status ControllerConfigStatus `json:"status"` }
ControllerConfig describes configuration for MachineConfigController. This is currently only used to drive the MachineConfig objects generated by the TemplateController.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*ControllerConfig) DeepCopy ¶
func (in *ControllerConfig) DeepCopy() *ControllerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfig.
func (*ControllerConfig) DeepCopyInto ¶
func (in *ControllerConfig) DeepCopyInto(out *ControllerConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControllerConfig) DeepCopyObject ¶
func (in *ControllerConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ControllerConfig) SwaggerDoc ¶
func (ControllerConfig) SwaggerDoc() map[string]string
type ControllerConfigList ¶
type ControllerConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []ControllerConfig `json:"items"` }
ControllerConfigList is a list of ControllerConfig resources
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*ControllerConfigList) DeepCopy ¶
func (in *ControllerConfigList) DeepCopy() *ControllerConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigList.
func (*ControllerConfigList) DeepCopyInto ¶
func (in *ControllerConfigList) DeepCopyInto(out *ControllerConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ControllerConfigList) DeepCopyObject ¶
func (in *ControllerConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (ControllerConfigList) SwaggerDoc ¶
func (ControllerConfigList) SwaggerDoc() map[string]string
type ControllerConfigSpec ¶
type ControllerConfigSpec struct { // clusterDNSIP is the cluster DNS IP address // +required ClusterDNSIP string `json:"clusterDNSIP"` // cloudProviderConfig is the configuration for the given cloud provider // +required CloudProviderConfig string `json:"cloudProviderConfig"` // platform is deprecated, use Infra.Status.PlatformStatus.Type instead // +optional Platform string `json:"platform,omitempty"` // etcdDiscoveryDomain is deprecated, use Infra.Status.EtcdDiscoveryDomain instead // +optional EtcdDiscoveryDomain string `json:"etcdDiscoveryDomain,omitempty"` // kubeAPIServerServingCAData managed Kubelet to API Server Cert... Rotated automatically // +required KubeAPIServerServingCAData []byte `json:"kubeAPIServerServingCAData"` // rootCAData specifies the root CA data // +required RootCAData []byte `json:"rootCAData"` // cloudProviderCAData specifies the cloud provider CA data // +required // +nullable CloudProviderCAData []byte `json:"cloudProviderCAData"` // additionalTrustBundle is a certificate bundle that will be added to the nodes // trusted certificate store. // +required // +nullable AdditionalTrustBundle []byte `json:"additionalTrustBundle"` // imageRegistryBundleUserData is Image Registry Data provided by the user // +listType=atomic // +optional ImageRegistryBundleUserData []ImageRegistryBundle `json:"imageRegistryBundleUserData"` // imageRegistryBundleData is the ImageRegistryData // +listType=atomic // +optional ImageRegistryBundleData []ImageRegistryBundle `json:"imageRegistryBundleData"` // pullSecret is the default pull secret that needs to be installed // on all machines. // +optional PullSecret *corev1.ObjectReference `json:"pullSecret,omitempty"` // internalRegistryPullSecret is the pull secret for the internal registry, used by // rpm-ostree to pull images from the internal registry if present // +optional // +nullable InternalRegistryPullSecret []byte `json:"internalRegistryPullSecret"` // images is map of images that are used by the controller to render templates under ./templates/ // +required Images map[string]string `json:"images"` // baseOSContainerImage is the new-format container image for operating system updates. // +required BaseOSContainerImage string `json:"baseOSContainerImage"` // baseOSExtensionsContainerImage is the matching extensions container for the new-format container // +optional BaseOSExtensionsContainerImage string `json:"baseOSExtensionsContainerImage"` // osImageURL is the old-format container image that contains the OS update payload. // +optional OSImageURL string `json:"osImageURL"` // releaseImage is the image used when installing the cluster // +required ReleaseImage string `json:"releaseImage"` // proxy holds the current proxy configuration for the nodes // +required // +nullable Proxy *configv1.ProxyStatus `json:"proxy"` // infra holds the infrastructure details // +kubebuilder:validation:EmbeddedResource // +required // +nullable Infra *configv1.Infrastructure `json:"infra"` // dns holds the cluster dns details // +kubebuilder:validation:EmbeddedResource // +required // +nullable DNS *configv1.DNS `json:"dns"` // ipFamilies indicates the IP families in use by the cluster network // +required IPFamilies IPFamiliesType `json:"ipFamilies"` // networkType holds the type of network the cluster is using // XXX: this is temporary and will be dropped as soon as possible in favor of a better support // to start network related services the proper way. // Nobody is also changing this once the cluster is up and running the first time, so, disallow // regeneration if this changes. // +optional NetworkType string `json:"networkType,omitempty"` // network contains additional network related information // +required // +nullable Network *NetworkInfo `json:"network"` }
ControllerConfigSpec is the spec for ControllerConfig resource.
func (*ControllerConfigSpec) DeepCopy ¶
func (in *ControllerConfigSpec) DeepCopy() *ControllerConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigSpec.
func (*ControllerConfigSpec) DeepCopyInto ¶
func (in *ControllerConfigSpec) DeepCopyInto(out *ControllerConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControllerConfigSpec) SwaggerDoc ¶
func (ControllerConfigSpec) SwaggerDoc() map[string]string
type ControllerConfigStatus ¶
type ControllerConfigStatus struct { // observedGeneration represents the generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // conditions represents the latest available observations of current state. // +listType=map // +listMapKey=type // +optional Conditions []ControllerConfigStatusCondition `json:"conditions"` // controllerCertificates represents the latest available observations of the automatically rotating certificates in the MCO. // +listType=atomic // +optional ControllerCertificates []ControllerCertificate `json:"controllerCertificates"` }
ControllerConfigStatus is the status for ControllerConfig
func (*ControllerConfigStatus) DeepCopy ¶
func (in *ControllerConfigStatus) DeepCopy() *ControllerConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigStatus.
func (*ControllerConfigStatus) DeepCopyInto ¶
func (in *ControllerConfigStatus) DeepCopyInto(out *ControllerConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControllerConfigStatus) SwaggerDoc ¶
func (ControllerConfigStatus) SwaggerDoc() map[string]string
type ControllerConfigStatusCondition ¶
type ControllerConfigStatusCondition struct { // type specifies the state of the operator's reconciliation functionality. // +required Type ControllerConfigStatusConditionType `json:"type"` // status of the condition, one of True, False, Unknown. // +required Status corev1.ConditionStatus `json:"status"` // lastTransitionTime is the time of the last update to the current status object. // +required // +nullable LastTransitionTime metav1.Time `json:"lastTransitionTime"` // reason is the reason for the condition's last transition. Reasons are PascalCase // +optional Reason string `json:"reason,omitempty"` // message provides additional information about the current condition. // This is only to be consumed by humans. // +optional Message string `json:"message,omitempty"` }
ControllerConfigStatusCondition contains condition information for ControllerConfigStatus
func (*ControllerConfigStatusCondition) DeepCopy ¶
func (in *ControllerConfigStatusCondition) DeepCopy() *ControllerConfigStatusCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigStatusCondition.
func (*ControllerConfigStatusCondition) DeepCopyInto ¶
func (in *ControllerConfigStatusCondition) DeepCopyInto(out *ControllerConfigStatusCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ControllerConfigStatusCondition) SwaggerDoc ¶
func (ControllerConfigStatusCondition) SwaggerDoc() map[string]string
type ControllerConfigStatusConditionType ¶
type ControllerConfigStatusConditionType string
ControllerConfigStatusConditionType valid conditions of a ControllerConfigStatus
const ( // TemplateControllerRunning means the template controller is currently running. TemplateControllerRunning ControllerConfigStatusConditionType = "TemplateControllerRunning" // TemplateControllerCompleted means the template controller has completed reconciliation. TemplateControllerCompleted ControllerConfigStatusConditionType = "TemplateControllerCompleted" // TemplateControllerFailing means the template controller is failing. TemplateControllerFailing ControllerConfigStatusConditionType = "TemplateControllerFailing" )
type IPFamiliesType ¶
type IPFamiliesType string
IPFamiliesType indicates whether the cluster network is IPv4-only, IPv6-only, or dual-stack
const ( IPFamiliesIPv4 IPFamiliesType = "IPv4" IPFamiliesIPv6 IPFamiliesType = "IPv6" IPFamiliesDualStack IPFamiliesType = "DualStack" IPFamiliesDualStackIPv6Primary IPFamiliesType = "DualStackIPv6Primary" )
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 ImageRegistryBundle ¶
type ImageRegistryBundle struct { // file holds the name of the file where the bundle will be written to disk // +required File string `json:"file"` // data holds the contents of the bundle that will be written to the file location // +required Data []byte `json:"data"` }
ImageRegistryBundle contains information for writing image registry certificates
func (*ImageRegistryBundle) DeepCopy ¶
func (in *ImageRegistryBundle) DeepCopy() *ImageRegistryBundle
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryBundle.
func (*ImageRegistryBundle) DeepCopyInto ¶
func (in *ImageRegistryBundle) DeepCopyInto(out *ImageRegistryBundle)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageRegistryBundle) SwaggerDoc ¶
func (ImageRegistryBundle) SwaggerDoc() map[string]string
type ImageSecretObjectReference ¶
type ImageSecretObjectReference struct { // name is the name of the secret used to push or pull this MachineOSConfig object. // Must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character. // This secret must be in the openshift-machine-config-operator namespace. // +kubebuilder:validation:MaxLength:=253 // +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character." // +required Name string `json:"name"` }
Refers to the name of an image registry push/pull secret needed in the build process.
func (*ImageSecretObjectReference) DeepCopy ¶
func (in *ImageSecretObjectReference) DeepCopy() *ImageSecretObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageSecretObjectReference.
func (*ImageSecretObjectReference) DeepCopyInto ¶
func (in *ImageSecretObjectReference) DeepCopyInto(out *ImageSecretObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ImageSecretObjectReference) SwaggerDoc ¶
func (ImageSecretObjectReference) SwaggerDoc() map[string]string
type ImageTagFormat ¶
type ImageTagFormat string
ImageTagFormat is a type that conforms to the format host[:port][/namespace]/name:<tag> or svc_name.namespace.svc[:port]/repository/name:<tag>. 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.matches('^([a-zA-Z0-9-]+\\.)+[a-zA-Z0-9-]+(:[0-9]{2,5})?(/[a-zA-Z0-9-_]{1,61})*/[a-zA-Z0-9-_.]+:[a-zA-Z0-9._-]+$') || self.matches('^[^.]+\\.[^.]+\\.svc:\\d+\\/[^\\/]+\\/[^\\/]+:[^\\/]+$')`,message="the OCI Image name should follow the host[:port][/namespace]/name format, resembling a valid URL without the scheme. Or it must be a valid .svc followed by a port, repository, image name, and tag."
type KubeletConfig ¶
type KubeletConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // spec contains the desired kubelet configuration. // +required Spec KubeletConfigSpec `json:"spec"` // status contains observed information about the kubelet configuration. // +optional Status KubeletConfigStatus `json:"status"` }
KubeletConfig describes a customized Kubelet configuration.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=kubeletconfigs,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1453 +openshift:file-pattern=cvoRunLevel=0000_80,operatorName=machine-config,operatorOrdering=01 +kubebuilder:metadata:labels="openshift.io/operator-managed=" +openshift:compatibility-gen:level=1
func (*KubeletConfig) DeepCopy ¶
func (in *KubeletConfig) DeepCopy() *KubeletConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig.
func (*KubeletConfig) DeepCopyInto ¶
func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeletConfig) DeepCopyObject ¶
func (in *KubeletConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (KubeletConfig) SwaggerDoc ¶
func (KubeletConfig) SwaggerDoc() map[string]string
type KubeletConfigCondition ¶
type KubeletConfigCondition struct { // type specifies the state of the operator's reconciliation functionality. // +optional Type KubeletConfigStatusConditionType `json:"type"` // status of the condition, one of True, False, Unknown. // +optional Status corev1.ConditionStatus `json:"status"` // lastTransitionTime is the time of the last update to the current status object. // +optional // +nullable LastTransitionTime metav1.Time `json:"lastTransitionTime"` // reason is the reason for the condition's last transition. Reasons are PascalCase // +optional Reason string `json:"reason,omitempty"` // message provides additional information about the current condition. // This is only to be consumed by humans. // +optional Message string `json:"message,omitempty"` }
KubeletConfigCondition defines the state of the KubeletConfig
func (*KubeletConfigCondition) DeepCopy ¶
func (in *KubeletConfigCondition) DeepCopy() *KubeletConfigCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigCondition.
func (*KubeletConfigCondition) DeepCopyInto ¶
func (in *KubeletConfigCondition) DeepCopyInto(out *KubeletConfigCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KubeletConfigCondition) SwaggerDoc ¶
func (KubeletConfigCondition) SwaggerDoc() map[string]string
type KubeletConfigList ¶
type KubeletConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []KubeletConfig `json:"items"` }
KubeletConfigList is a list of KubeletConfig resources
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*KubeletConfigList) DeepCopy ¶
func (in *KubeletConfigList) DeepCopy() *KubeletConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigList.
func (*KubeletConfigList) DeepCopyInto ¶
func (in *KubeletConfigList) DeepCopyInto(out *KubeletConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeletConfigList) DeepCopyObject ¶
func (in *KubeletConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (KubeletConfigList) SwaggerDoc ¶
func (KubeletConfigList) SwaggerDoc() map[string]string
type KubeletConfigSpec ¶
type KubeletConfigSpec struct { // +optional AutoSizingReserved *bool `json:"autoSizingReserved,omitempty"` // +optional LogLevel *int32 `json:"logLevel,omitempty"` // machineConfigPoolSelector selects which pools the KubeletConfig shoud apply to. // A nil selector will result in no pools being selected. // +optional MachineConfigPoolSelector *metav1.LabelSelector `json:"machineConfigPoolSelector,omitempty"` // kubeletConfig fields are defined in kubernetes upstream. Please refer to the types defined in the version/commit used by // OpenShift of the upstream kubernetes. It's important to note that, since the fields of the kubelet configuration are directly fetched from // upstream the validation of those values is handled directly by the kubelet. Please refer to the upstream version of the relevant kubernetes // for the valid values of these fields. Invalid values of the kubelet configuration fields may render cluster nodes unusable. // +optional KubeletConfig *runtime.RawExtension `json:"kubeletConfig,omitempty"` // If unset, the default is based on the apiservers.config.openshift.io/cluster resource. // Note that only Old and Intermediate profiles are currently supported, and // the maximum available minTLSVersion is VersionTLS12. // +optional TLSSecurityProfile *configv1.TLSSecurityProfile `json:"tlsSecurityProfile,omitempty"` }
KubeletConfigSpec defines the desired state of KubeletConfig
func (*KubeletConfigSpec) DeepCopy ¶
func (in *KubeletConfigSpec) DeepCopy() *KubeletConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigSpec.
func (*KubeletConfigSpec) DeepCopyInto ¶
func (in *KubeletConfigSpec) DeepCopyInto(out *KubeletConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KubeletConfigSpec) SwaggerDoc ¶
func (KubeletConfigSpec) SwaggerDoc() map[string]string
type KubeletConfigStatus ¶
type KubeletConfigStatus struct { // observedGeneration represents the generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // conditions represents the latest available observations of current state. // +optional Conditions []KubeletConfigCondition `json:"conditions"` }
KubeletConfigStatus defines the observed state of a KubeletConfig
func (*KubeletConfigStatus) DeepCopy ¶
func (in *KubeletConfigStatus) DeepCopy() *KubeletConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigStatus.
func (*KubeletConfigStatus) DeepCopyInto ¶
func (in *KubeletConfigStatus) DeepCopyInto(out *KubeletConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (KubeletConfigStatus) SwaggerDoc ¶
func (KubeletConfigStatus) SwaggerDoc() map[string]string
type KubeletConfigStatusConditionType ¶
type KubeletConfigStatusConditionType string
KubeletConfigStatusConditionType is the state of the operator's reconciliation functionality.
const ( // KubeletConfigSuccess designates a successful application of a KubeletConfig CR. KubeletConfigSuccess KubeletConfigStatusConditionType = "Success" // KubeletConfigFailure designates a failure applying a KubeletConfig CR. KubeletConfigFailure KubeletConfigStatusConditionType = "Failure" )
type MachineConfig ¶
type MachineConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec MachineConfigSpec `json:"spec"` }
MachineConfig defines the configuration for a machine
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=machineconfigs,scope=Cluster,shortName=mc +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1453 +openshift:file-pattern=cvoRunLevel=0000_80,operatorName=machine-config,operatorOrdering=01 +kubebuilder:metadata:labels="openshift.io/operator-managed=" +kubebuilder:printcolumn:name=GeneratedByController,JSONPath=.metadata.annotations.machineconfiguration\.openshift\.io/generated-by-controller-version,type=string,description=Version of the controller that generated the machineconfig. This will be empty if the machineconfig is not managed by a controller. +kubebuilder:printcolumn:name=IgnitionVersion,JSONPath=.spec.config.ignition.version,type=string,description=Version of the Ignition Config defined in the machineconfig. +kubebuilder:printcolumn:name=Age,JSONPath=.metadata.creationTimestamp,type=date +openshift:compatibility-gen:level=1
func (*MachineConfig) DeepCopy ¶
func (in *MachineConfig) DeepCopy() *MachineConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfig.
func (*MachineConfig) DeepCopyInto ¶
func (in *MachineConfig) DeepCopyInto(out *MachineConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineConfig) DeepCopyObject ¶
func (in *MachineConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MachineConfig) SwaggerDoc ¶
func (MachineConfig) SwaggerDoc() map[string]string
type MachineConfigList ¶
type MachineConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []MachineConfig `json:"items"` }
MachineConfigList is a list of MachineConfig resources
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*MachineConfigList) DeepCopy ¶
func (in *MachineConfigList) DeepCopy() *MachineConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigList.
func (*MachineConfigList) DeepCopyInto ¶
func (in *MachineConfigList) DeepCopyInto(out *MachineConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineConfigList) DeepCopyObject ¶
func (in *MachineConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MachineConfigList) SwaggerDoc ¶
func (MachineConfigList) SwaggerDoc() map[string]string
type MachineConfigPool ¶
type MachineConfigPool struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // spec contains the desired machine config pool configuration. // +required Spec MachineConfigPoolSpec `json:"spec"` // status contains observed information about the machine config pool. // +optional Status MachineConfigPoolStatus `json:"status"` }
MachineConfigPool describes a pool of MachineConfigs.
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=machineconfigpools,scope=Cluster,shortName=mcp +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1453 +openshift:file-pattern=cvoRunLevel=0000_80,operatorName=machine-config,operatorOrdering=01 +kubebuilder:metadata:labels="openshift.io/operator-managed=" +kubebuilder:printcolumn:name=Config,JSONPath=.status.configuration.name,type=string +kubebuilder:printcolumn:name=Updated,JSONPath=.status.conditions[?(@.type=="Updated")].status,type=string,description=When all the machines in the pool are updated to the correct machine config. +kubebuilder:printcolumn:name=Updating,JSONPath=.status.conditions[?(@.type=="Updating")].status,type=string,description=When at least one of machine is not either not updated or is in the process of updating to the desired machine config. +kubebuilder:printcolumn:name=Degraded,JSONPath=.status.conditions[?(@.type=="Degraded")].status,type=string,description=When progress is blocked on updating one or more nodes or the pool configuration is failing. +kubebuilder:printcolumn:name=MachineCount,JSONPath=.status.machineCount,type=number,description=Total number of machines in the machine config pool +kubebuilder:printcolumn:name=ReadyMachineCount,JSONPath=.status.readyMachineCount,type=number,description=Total number of ready machines targeted by the pool +kubebuilder:printcolumn:name=UpdatedMachineCount,JSONPath=.status.updatedMachineCount,type=number,description=Total number of machines targeted by the pool that have the CurrentMachineConfig as their config +kubebuilder:printcolumn:name=DegradedMachineCount,JSONPath=.status.degradedMachineCount,type=number,description=Total number of machines marked degraded (or unreconcilable) +kubebuilder:printcolumn:name=Age,JSONPath=.metadata.creationTimestamp,type=date +openshift:compatibility-gen:level=1
func (*MachineConfigPool) DeepCopy ¶
func (in *MachineConfigPool) DeepCopy() *MachineConfigPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPool.
func (*MachineConfigPool) DeepCopyInto ¶
func (in *MachineConfigPool) DeepCopyInto(out *MachineConfigPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineConfigPool) DeepCopyObject ¶
func (in *MachineConfigPool) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MachineConfigPool) SwaggerDoc ¶
func (MachineConfigPool) SwaggerDoc() map[string]string
type MachineConfigPoolCondition ¶
type MachineConfigPoolCondition struct { // type of the condition, currently ('Done', 'Updating', 'Failed'). // +optional Type MachineConfigPoolConditionType `json:"type"` // status of the condition, one of ('True', 'False', 'Unknown'). // +optional Status corev1.ConditionStatus `json:"status"` // lastTransitionTime is the timestamp corresponding to the last status // change of this condition. // +nullable // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime"` // reason is a brief machine readable explanation for the condition's last // transition. // +optional Reason string `json:"reason"` // message is a human readable description of the details of the last // transition, complementing reason. // +optional Message string `json:"message"` }
MachineConfigPoolCondition contains condition information for an MachineConfigPool.
func (*MachineConfigPoolCondition) DeepCopy ¶
func (in *MachineConfigPoolCondition) DeepCopy() *MachineConfigPoolCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolCondition.
func (*MachineConfigPoolCondition) DeepCopyInto ¶
func (in *MachineConfigPoolCondition) DeepCopyInto(out *MachineConfigPoolCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineConfigPoolCondition) SwaggerDoc ¶
func (MachineConfigPoolCondition) SwaggerDoc() map[string]string
type MachineConfigPoolConditionType ¶
type MachineConfigPoolConditionType string
MachineConfigPoolConditionType valid conditions of a MachineConfigPool
const ( // MachineConfigPoolUpdated means MachineConfigPool is updated completely. // When the all the machines in the pool are updated to the correct machine config. MachineConfigPoolUpdated MachineConfigPoolConditionType = "Updated" // MachineConfigPoolUpdating means MachineConfigPool is updating. // When at least one of machine is not either not updated or is in the process of updating // to the desired machine config. MachineConfigPoolUpdating MachineConfigPoolConditionType = "Updating" // MachineConfigPoolNodeDegraded means the update for one of the machine is not progressing MachineConfigPoolNodeDegraded MachineConfigPoolConditionType = "NodeDegraded" // MachineConfigPoolRenderDegraded means the rendered configuration for the pool cannot be generated because of an error MachineConfigPoolRenderDegraded MachineConfigPoolConditionType = "RenderDegraded" // MachineConfigPoolPinnedImageSetsDegraded means the pinned image sets for the pool cannot be populated because of an error // +openshift:enable:FeatureGate=PinnedImages MachineConfigPoolPinnedImageSetsDegraded MachineConfigPoolConditionType = "PinnedImageSetsDegraded" // MachineConfigPoolSynchronizerDegraded means the pool synchronizer can not be updated because of an error // +openshift:enable:FeatureGate=PinnedImages MachineConfigPoolSynchronizerDegraded MachineConfigPoolConditionType = "PoolSynchronizerDegraded" // MachineConfigPoolDegraded is the overall status of the pool based, today, on whether we fail with NodeDegraded or RenderDegraded MachineConfigPoolDegraded MachineConfigPoolConditionType = "Degraded" MachineConfigPoolBuildPending MachineConfigPoolConditionType = "BuildPending" MachineConfigPoolBuilding MachineConfigPoolConditionType = "Building" MachineConfigPoolBuildSuccess MachineConfigPoolConditionType = "BuildSuccess" MachineConfigPoolBuildFailed MachineConfigPoolConditionType = "BuildFailed" MachineConfigPoolBuildInterrupted MachineConfigPoolConditionType = "BuildInterrupted" )
type MachineConfigPoolList ¶
type MachineConfigPoolList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []MachineConfigPool `json:"items"` }
MachineConfigPoolList is a list of MachineConfigPool resources
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*MachineConfigPoolList) DeepCopy ¶
func (in *MachineConfigPoolList) DeepCopy() *MachineConfigPoolList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolList.
func (*MachineConfigPoolList) DeepCopyInto ¶
func (in *MachineConfigPoolList) DeepCopyInto(out *MachineConfigPoolList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineConfigPoolList) DeepCopyObject ¶
func (in *MachineConfigPoolList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MachineConfigPoolList) SwaggerDoc ¶
func (MachineConfigPoolList) SwaggerDoc() map[string]string
type MachineConfigPoolReference ¶
type MachineConfigPoolReference struct { // name of the MachineConfigPool object. // This value should be at most 253 characters, and must contain only lowercase // alphanumeric characters, hyphens and periods, and should start and end with an alphanumeric character. // +kubebuilder:validation:MaxLength:=253 // +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character." // +required Name string `json:"name"` }
Refers to the name of a MachineConfigPool (e.g., "worker", "infra", etc.): the MachineOSBuilder pod validates that the user has provided a valid pool
func (*MachineConfigPoolReference) DeepCopy ¶
func (in *MachineConfigPoolReference) DeepCopy() *MachineConfigPoolReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolReference.
func (*MachineConfigPoolReference) DeepCopyInto ¶
func (in *MachineConfigPoolReference) DeepCopyInto(out *MachineConfigPoolReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineConfigPoolReference) SwaggerDoc ¶
func (MachineConfigPoolReference) SwaggerDoc() map[string]string
type MachineConfigPoolSpec ¶
type MachineConfigPoolSpec struct { // machineConfigSelector specifies a label selector for MachineConfigs. // Refer https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ on how label and selectors work. // +optional MachineConfigSelector *metav1.LabelSelector `json:"machineConfigSelector,omitempty"` // nodeSelector specifies a label selector for Machines // +optional NodeSelector *metav1.LabelSelector `json:"nodeSelector,omitempty"` // paused specifies whether or not changes to this machine config pool should be stopped. // This includes generating new desiredMachineConfig and update of machines. // +optional Paused bool `json:"paused"` // of nodes in the pool that can go Unavailable during an update. // This includes nodes Unavailable for any reason, including user // initiated cordons, failing nodes, etc. The default value is 1. // // A value larger than 1 will mean multiple nodes going unavailable during // the update, which may affect your workload stress on the remaining nodes. // You cannot set this value to 0 to stop updates (it will default back to 1); // to stop updates, use the 'paused' property instead. Drain will respect // Pod Disruption Budgets (PDBs) such as etcd quorum guards, even if // maxUnavailable is greater than one. // +optional MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"` // The targeted MachineConfig object for the machine config pool. // +optional Configuration MachineConfigPoolStatusConfiguration `json:"configuration"` // pinnedImageSets specifies a sequence of PinnedImageSetRef objects for the // pool. Nodes within this pool will preload and pin images defined in the // PinnedImageSet. Before pulling images the MachineConfigDaemon will ensure // the total uncompressed size of all the images does not exceed available // resources. If the total size of the images exceeds the available // resources the controller will report a Degraded status to the // MachineConfigPool and not attempt to pull any images. Also to help ensure // the kubelet can mitigate storage risk, the pinned_image configuration and // subsequent service reload will happen only after all of the images have // been pulled for each set. Images from multiple PinnedImageSets are loaded // and pinned sequentially as listed. Duplicate and existing images will be // skipped. // // Any failure to prefetch or pin images will result in a Degraded pool. // Resolving these failures is the responsibility of the user. The admin // should be proactive in ensuring adequate storage and proper image // authentication exists in advance. // +openshift:enable:FeatureGate=PinnedImages // +optional // +listType=map // +listMapKey=name // +kubebuilder:validation:MaxItems=100 PinnedImageSets []PinnedImageSetRef `json:"pinnedImageSets,omitempty"` }
MachineConfigPoolSpec is the spec for MachineConfigPool resource.
func (*MachineConfigPoolSpec) DeepCopy ¶
func (in *MachineConfigPoolSpec) DeepCopy() *MachineConfigPoolSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolSpec.
func (*MachineConfigPoolSpec) DeepCopyInto ¶
func (in *MachineConfigPoolSpec) DeepCopyInto(out *MachineConfigPoolSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineConfigPoolSpec) SwaggerDoc ¶
func (MachineConfigPoolSpec) SwaggerDoc() map[string]string
type MachineConfigPoolStatus ¶
type MachineConfigPoolStatus struct { // observedGeneration represents the generation observed by the controller. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // configuration represents the current MachineConfig object for the machine config pool. // +optional Configuration MachineConfigPoolStatusConfiguration `json:"configuration"` // machineCount represents the total number of machines in the machine config pool. // +optional MachineCount int32 `json:"machineCount"` // updatedMachineCount represents the total number of machines targeted by the pool that have the CurrentMachineConfig as their config. // +optional UpdatedMachineCount int32 `json:"updatedMachineCount"` // readyMachineCount represents the total number of ready machines targeted by the pool. // +optional ReadyMachineCount int32 `json:"readyMachineCount"` // A node is marked unavailable if it is in updating state or NodeReady condition is false. // +optional UnavailableMachineCount int32 `json:"unavailableMachineCount"` // degradedMachineCount represents the total number of machines marked degraded (or unreconcilable). // A node is marked degraded if applying a configuration failed.. // +optional DegradedMachineCount int32 `json:"degradedMachineCount"` // conditions represents the latest available observations of current state. // +listType=atomic // +optional Conditions []MachineConfigPoolCondition `json:"conditions"` // certExpirys keeps track of important certificate expiration data // +listType=atomic // +optional CertExpirys []CertExpiry `json:"certExpirys"` // poolSynchronizersStatus is the status of the machines managed by the pool synchronizers. // +openshift:enable:FeatureGate=PinnedImages // +listType=map // +listMapKey=poolSynchronizerType // +optional PoolSynchronizersStatus []PoolSynchronizerStatus `json:"poolSynchronizersStatus,omitempty"` }
MachineConfigPoolStatus is the status for MachineConfigPool resource.
func (*MachineConfigPoolStatus) DeepCopy ¶
func (in *MachineConfigPoolStatus) DeepCopy() *MachineConfigPoolStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolStatus.
func (*MachineConfigPoolStatus) DeepCopyInto ¶
func (in *MachineConfigPoolStatus) DeepCopyInto(out *MachineConfigPoolStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineConfigPoolStatus) SwaggerDoc ¶
func (MachineConfigPoolStatus) SwaggerDoc() map[string]string
type MachineConfigPoolStatusConfiguration ¶
type MachineConfigPoolStatusConfiguration struct { corev1.ObjectReference `json:",inline"` // source is the list of MachineConfig objects that were used to generate the single MachineConfig object specified in `content`. // +listType=atomic // +optional Source []corev1.ObjectReference `json:"source,omitempty"` }
MachineConfigPoolStatusConfiguration stores the current configuration for the pool, and optionally also stores the list of MachineConfig objects used to generate the configuration.
func (*MachineConfigPoolStatusConfiguration) DeepCopy ¶
func (in *MachineConfigPoolStatusConfiguration) DeepCopy() *MachineConfigPoolStatusConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolStatusConfiguration.
func (*MachineConfigPoolStatusConfiguration) DeepCopyInto ¶
func (in *MachineConfigPoolStatusConfiguration) DeepCopyInto(out *MachineConfigPoolStatusConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineConfigPoolStatusConfiguration) SwaggerDoc ¶
func (MachineConfigPoolStatusConfiguration) SwaggerDoc() map[string]string
type MachineConfigReference ¶
type MachineConfigReference struct { // name is the name of the rendered MachineConfig object. // This value should be between 10 and 253 characters, and must contain only lowercase // alphanumeric characters, hyphens and periods, and should start and end with an alphanumeric character. // +kubebuilder:validation:MinLength:=10 // +kubebuilder:validation:MaxLength:=253 // +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character." // +required Name string `json:"name"` }
Refers to the name of a rendered MachineConfig (e.g., "rendered-worker-ec40d2965ff81bce7cd7a7e82a680739", etc.): the build targets this MachineConfig, this is often used to tell us whether we need an update.
func (*MachineConfigReference) DeepCopy ¶
func (in *MachineConfigReference) DeepCopy() *MachineConfigReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigReference.
func (*MachineConfigReference) DeepCopyInto ¶
func (in *MachineConfigReference) DeepCopyInto(out *MachineConfigReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineConfigReference) SwaggerDoc ¶
func (MachineConfigReference) SwaggerDoc() map[string]string
type MachineConfigSpec ¶
type MachineConfigSpec struct { // osImageURL specifies the remote location that will be used to // fetch the OS. // +optional OSImageURL string `json:"osImageURL"` // baseOSExtensionsContainerImage specifies the remote location that will be used // to fetch the extensions container matching a new-format OS image // +optional BaseOSExtensionsContainerImage string `json:"baseOSExtensionsContainerImage"` // config is a Ignition Config object. // +optional Config runtime.RawExtension `json:"config"` // kernelArguments contains a list of kernel arguments to be added // +listType=atomic // +nullable // +optional KernelArguments []string `json:"kernelArguments"` // extensions contains a list of additional features that can be enabled on host // +listType=atomic // +optional Extensions []string `json:"extensions"` // fips controls FIPS mode // +optional FIPS bool `json:"fips"` // kernelType contains which kernel we want to be running like default // (traditional), realtime, 64k-pages (aarch64 only). // +optional KernelType string `json:"kernelType"` }
MachineConfigSpec is the spec for MachineConfig
func (*MachineConfigSpec) DeepCopy ¶
func (in *MachineConfigSpec) DeepCopy() *MachineConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigSpec.
func (*MachineConfigSpec) DeepCopyInto ¶
func (in *MachineConfigSpec) DeepCopyInto(out *MachineConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineConfigSpec) SwaggerDoc ¶
func (MachineConfigSpec) SwaggerDoc() map[string]string
type MachineOSBuild ¶
type MachineOSBuild struct { metav1.TypeMeta `json:",inline"` // metadata is the standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // spec describes the configuration of the machine os build. // It is immutable once set. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="machineOSBuildSpec is immutable once set" // +required Spec MachineOSBuildSpec `json:"spec"` // status describes the last observed state of this machine os build. // +optional Status MachineOSBuildStatus `json:"status,omitempty"` }
MachineOSBuild describes a build process managed and deployed by the MCO Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*MachineOSBuild) DeepCopy ¶
func (in *MachineOSBuild) DeepCopy() *MachineOSBuild
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSBuild.
func (*MachineOSBuild) DeepCopyInto ¶
func (in *MachineOSBuild) DeepCopyInto(out *MachineOSBuild)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineOSBuild) DeepCopyObject ¶
func (in *MachineOSBuild) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MachineOSBuild) SwaggerDoc ¶
func (MachineOSBuild) SwaggerDoc() map[string]string
type MachineOSBuildList ¶
type MachineOSBuildList struct { metav1.TypeMeta `json:",inline"` // metadata is the standard list metadata. // +optional metav1.ListMeta `json:"metadata,omitempty"` // items contains a collection of MachineOSBuild resources. // +optional Items []MachineOSBuild `json:"items,omitempty"` }
MachineOSBuildList describes all of the Builds on the system
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*MachineOSBuildList) DeepCopy ¶
func (in *MachineOSBuildList) DeepCopy() *MachineOSBuildList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSBuildList.
func (*MachineOSBuildList) DeepCopyInto ¶
func (in *MachineOSBuildList) DeepCopyInto(out *MachineOSBuildList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineOSBuildList) DeepCopyObject ¶
func (in *MachineOSBuildList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MachineOSBuildList) SwaggerDoc ¶
func (MachineOSBuildList) SwaggerDoc() map[string]string
type MachineOSBuildSpec ¶
type MachineOSBuildSpec struct { // machineConfig points to the rendered MachineConfig resource to be included in this image build. // +required MachineConfig MachineConfigReference `json:"machineConfig"` // machineOSConfig references the MachineOSConfig resource that this image build extends. // +required MachineOSConfig MachineOSConfigReference `json:"machineOSConfig"` // renderedImagePushSpec is set by the Machine Config Operator from the MachineOSConfig object this build is attached to. // This field describes the location of the final image, which will be pushed by the build once complete. // The format of the image push spec is: host[:port][/namespace]/name:<tag> or svc_name.namespace.svc[:port]/repository/name:<tag>. // The length of the push spec must be between 1 to 447 characters. // +required RenderedImagePushSpec ImageTagFormat `json:"renderedImagePushSpec"` }
MachineOSBuildSpec describes information about a build process primarily populated from a MachineOSConfig object.
func (*MachineOSBuildSpec) DeepCopy ¶
func (in *MachineOSBuildSpec) DeepCopy() *MachineOSBuildSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSBuildSpec.
func (*MachineOSBuildSpec) DeepCopyInto ¶
func (in *MachineOSBuildSpec) DeepCopyInto(out *MachineOSBuildSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineOSBuildSpec) SwaggerDoc ¶
func (MachineOSBuildSpec) SwaggerDoc() map[string]string
type MachineOSBuildStatus ¶
type MachineOSBuildStatus struct { // conditions are state related conditions for the build. Valid types are: // Prepared, Building, Failed, Interrupted, and Succeeded. // Once a Build is marked as Failed, Interrupted or Succeeded, no future conditions can be set. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type // +kubebuilder:validation:MaxItems=8 // +kubebuilder:validation:XValidation:rule="oldSelf.exists(x, x.type=='Failed' && x.status=='True') ? self==oldSelf : true",message="once a Failed condition is set, conditions are immutable" // +kubebuilder:validation:XValidation:rule="oldSelf.exists(x, x.type=='Interrupted' && x.status=='True') ? self==oldSelf : true",message="once an Interrupted condition is set, conditions are immutable" // +kubebuilder:validation:XValidation:rule="oldSelf.exists(x, x.type=='Succeeded' && x.status=='True') ? self==oldSelf : true",message="once an Succeeded condition is set, conditions are immutable" // +optional Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // builder describes the image builder backend used for this build. // +optional Builder *MachineOSBuilderReference `json:"builder,omitempty"` // relatedObjects is a list of references to ephemeral objects such as ConfigMaps or Secrets that are meant to be consumed while the build process runs. // After a successful build or when this MachineOSBuild is deleted, these ephemeral objects will be removed. // In the event of a failed build, the objects will remain until the build is removed to allow for inspection. // +kubebuilder:validation:MaxItems=10 // +listType=map // +listMapKey=name // +listMapKey=resource // +optional RelatedObjects []ObjectReference `json:"relatedObjects,omitempty"` // buildStart is the timestamp corresponding to the build controller initiating the build backend for this MachineOSBuild. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="buildStart is immutable once set" // +optional BuildStart *metav1.Time `json:"buildStart,omitempty"` // buildEnd is the timestamp corresponding to completion of the builder backend. // When omitted the build has either not been started, or is in progress. // It will be populated once the build completes, fails or is interrupted. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="buildEnd is immutable once set" // +optional BuildEnd *metav1.Time `json:"buildEnd,omitempty"` // digestedImagePushSpec describes the fully qualified push spec produced by this build. // The format of the push 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. // +optional DigestedImagePushSpec ImageDigestFormat `json:"digestedImagePushSpec,omitempty"` }
MachineOSBuildStatus describes the state of a build and other helpful information. +kubebuilder:validation:XValidation:rule="has(self.buildEnd) ? has(self.buildStart) && timestamp(self.buildStart) < timestamp(self.buildEnd) : true",message="buildEnd must be after buildStart"
func (*MachineOSBuildStatus) DeepCopy ¶
func (in *MachineOSBuildStatus) DeepCopy() *MachineOSBuildStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSBuildStatus.
func (*MachineOSBuildStatus) DeepCopyInto ¶
func (in *MachineOSBuildStatus) DeepCopyInto(out *MachineOSBuildStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineOSBuildStatus) SwaggerDoc ¶
func (MachineOSBuildStatus) SwaggerDoc() map[string]string
type MachineOSBuilderReference ¶
type MachineOSBuilderReference struct { // imageBuilderType describes the type of image builder used to build this image. // Valid values are Job only. // When set to Job, a pod based builder, using buildah, is launched to build the specified image. // +unionDiscriminator // +required ImageBuilderType MachineOSImageBuilderType `json:"imageBuilderType"` // job is a reference to the job object that is managing the image build. // This is required if the imageBuilderType is Job, and forbidden otherwise. // +unionMember // +optional Job *ObjectReference `json:"job,omitempty"` }
MachineOSBuilderReference describes which ImageBuilder backend to use for this build +union +kubebuilder:validation:XValidation:rule="has(self.imageBuilderType) && self.imageBuilderType == 'Job' ? has(self.job) : !has(self.job)",message="job is required when imageBuilderType is Job, and forbidden otherwise"
func (*MachineOSBuilderReference) DeepCopy ¶
func (in *MachineOSBuilderReference) DeepCopy() *MachineOSBuilderReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSBuilderReference.
func (*MachineOSBuilderReference) DeepCopyInto ¶
func (in *MachineOSBuilderReference) DeepCopyInto(out *MachineOSBuilderReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineOSBuilderReference) SwaggerDoc ¶
func (MachineOSBuilderReference) SwaggerDoc() map[string]string
type MachineOSConfig ¶
type MachineOSConfig struct { metav1.TypeMeta `json:",inline"` // metadata is the standard object metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // spec describes the configuration of the machineosconfig // +required Spec MachineOSConfigSpec `json:"spec"` // status describes the status of the machineosconfig // +optional Status MachineOSConfigStatus `json:"status,omitempty"` }
MachineOSConfig describes the configuration for a build process managed by the MCO Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*MachineOSConfig) DeepCopy ¶
func (in *MachineOSConfig) DeepCopy() *MachineOSConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSConfig.
func (*MachineOSConfig) DeepCopyInto ¶
func (in *MachineOSConfig) DeepCopyInto(out *MachineOSConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineOSConfig) DeepCopyObject ¶
func (in *MachineOSConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MachineOSConfig) SwaggerDoc ¶
func (MachineOSConfig) SwaggerDoc() map[string]string
type MachineOSConfigList ¶
type MachineOSConfigList struct { metav1.TypeMeta `json:",inline"` // metadata is the standard list metadata. // +optional metav1.ListMeta `json:"metadata,omitempty"` // items contains a collection of MachineOSConfig resources. // +optional Items []MachineOSConfig `json:"items"` }
MachineOSConfigList describes all configurations for image builds on the system
Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1
func (*MachineOSConfigList) DeepCopy ¶
func (in *MachineOSConfigList) DeepCopy() *MachineOSConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSConfigList.
func (*MachineOSConfigList) DeepCopyInto ¶
func (in *MachineOSConfigList) DeepCopyInto(out *MachineOSConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MachineOSConfigList) DeepCopyObject ¶
func (in *MachineOSConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (MachineOSConfigList) SwaggerDoc ¶
func (MachineOSConfigList) SwaggerDoc() map[string]string
type MachineOSConfigReference ¶
type MachineOSConfigReference struct { // name of the MachineOSConfig. // The name must contain only lowercase alphanumeric characters, '-' or '.' and start/end with an alphanumeric character. // +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character." // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=253 // +required Name string `json:"name"` }
MachineOSConfigReference refers to the MachineOSConfig this build is based off of
func (*MachineOSConfigReference) DeepCopy ¶
func (in *MachineOSConfigReference) DeepCopy() *MachineOSConfigReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSConfigReference.
func (*MachineOSConfigReference) DeepCopyInto ¶
func (in *MachineOSConfigReference) DeepCopyInto(out *MachineOSConfigReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineOSConfigReference) SwaggerDoc ¶
func (MachineOSConfigReference) SwaggerDoc() map[string]string
type MachineOSConfigSpec ¶
type MachineOSConfigSpec struct { // machineConfigPool is the pool which the build is for. // The Machine Config Operator will perform the build and roll out the built image to the specified pool. // +required MachineConfigPool MachineConfigPoolReference `json:"machineConfigPool"` // imageBuilder describes which image builder will be used in each build triggered by this MachineOSConfig. // Currently supported type(s): Job // +required ImageBuilder MachineOSImageBuilder `json:"imageBuilder"` // baseImagePullSecret is the secret used to pull the base image. // Must live in the openshift-machine-config-operator namespace if provided. // Defaults to using the cluster-wide pull secret if not specified. This is provided during install time of the cluster, and lives in the openshift-config namespace as a secret. // +optional BaseImagePullSecret *ImageSecretObjectReference `json:"baseImagePullSecret,omitempty"` // renderedImagePushSecret is the secret used to connect to a user registry. // The final image push and pull secrets should be separate and assume the principal of least privilege. // The push secret with write privilege is only required to be present on the node hosting the MachineConfigController pod. // The pull secret with read only privileges is required on all nodes. // By separating the two secrets, the risk of write credentials becoming compromised is reduced. // +required RenderedImagePushSecret ImageSecretObjectReference `json:"renderedImagePushSecret"` // renderedImagePushSpec describes the location of the final image. // The MachineOSConfig object will use the in cluster image registry configuration. // If you wish to use a mirror or any other settings specific to registries.conf, please specify those in the cluster wide registries.conf via the cluster image.config, ImageContentSourcePolicies, ImageDigestMirrorSet, or ImageTagMirrorSet objects. // The format of the image push spec is: host[:port][/namespace]/name:<tag> or svc_name.namespace.svc[:port]/repository/name:<tag>. // The length of the push spec must be between 1 to 447 characters. // +required RenderedImagePushSpec ImageTagFormat `json:"renderedImagePushSpec"` // containerFile describes the custom data the user has specified to build into the image. // This is also commonly called a Dockerfile and you can treat it as such. The content is the content of your Dockerfile. // See https://github.com/containers/common/blob/main/docs/Containerfile.5.md for the spec reference. // This is a list indexed by architecture name (e.g. AMD64), and allows specifying one containerFile per arch, up to 4. // +patchMergeKey=containerfileArch // +patchStrategy=merge // +listType=map // +listMapKey=containerfileArch // +kubebuilder:validation:MinItems=0 // +kubebuilder:validation:MaxItems=4 // +optional Containerfile []MachineOSContainerfile `json:"containerFile" patchStrategy:"merge" patchMergeKey:"containerfileArch"` }
MachineOSConfigSpec describes user-configurable options as well as information about a build process.
func (*MachineOSConfigSpec) DeepCopy ¶
func (in *MachineOSConfigSpec) DeepCopy() *MachineOSConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSConfigSpec.
func (*MachineOSConfigSpec) DeepCopyInto ¶
func (in *MachineOSConfigSpec) DeepCopyInto(out *MachineOSConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineOSConfigSpec) SwaggerDoc ¶
func (MachineOSConfigSpec) SwaggerDoc() map[string]string
type MachineOSConfigStatus ¶
type MachineOSConfigStatus struct { // conditions are state related conditions for the object. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type // +optional // TODO(jerzhang): add godoc after conditions are finalized. Also consider adding printer columns. Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` // observedGeneration represents the generation of the MachineOSConfig object observed by the Machine Config Operator's build controller. // +kubebuilder:validation:XValidation:rule="self >= oldSelf", message="observedGeneration must not move backwards" // +kubebuilder:validation:Minimum=0 // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // currentImagePullSpec is the fully qualified image pull spec used by the MCO to pull down the new OSImage. This includes the sha256 image digest. // This is generated when the Machine Config Operator's build controller successfully completes the build, and is populated from the corresponding // MachineOSBuild object's FinalImagePushSpec. This may change after completion in reaction to spec changes that would cause a new image build, // but will not be removed. // 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. // +optional CurrentImagePullSpec ImageDigestFormat `json:"currentImagePullSpec,omitempty"` // machineOSBuild is a reference to the MachineOSBuild object for this MachineOSConfig, which contains the status for the image build. // +optional MachineOSBuild *ObjectReference `json:"machineOSBuild,omitempty"` }
MachineOSConfigStatus describes the status this config object and relates it to the builds associated with this MachineOSConfig
func (*MachineOSConfigStatus) DeepCopy ¶
func (in *MachineOSConfigStatus) DeepCopy() *MachineOSConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSConfigStatus.
func (*MachineOSConfigStatus) DeepCopyInto ¶
func (in *MachineOSConfigStatus) DeepCopyInto(out *MachineOSConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineOSConfigStatus) SwaggerDoc ¶
func (MachineOSConfigStatus) SwaggerDoc() map[string]string
type MachineOSContainerfile ¶
type MachineOSContainerfile struct { // containerfileArch describes the architecture this containerfile is to be built for. // This arch is optional. If the user does not specify an architecture, it is assumed // that the content can be applied to all architectures, or in a single arch cluster: the only architecture. // +kubebuilder:validation:Enum:=ARM64;AMD64;PPC64LE;S390X;NoArch // +kubebuilder:default:=NoArch // +optional ContainerfileArch ContainerfileArch `json:"containerfileArch,omitempty"` // content is an embedded Containerfile/Dockerfile that defines the contents to be built into your image. // See https://github.com/containers/common/blob/main/docs/Containerfile.5.md for the spec reference. // for example, this would add the tree package to your hosts: // FROM configs AS final // RUN rpm-ostree install tree && \ // ostree container commit // This is a required field and can have a maximum length of **4096** characters. // +required // +kubebuilder:validation:MaxLength=4096 Content string `json:"content"` }
MachineOSContainerfile contains all custom content the user wants built into the image
func (*MachineOSContainerfile) DeepCopy ¶
func (in *MachineOSContainerfile) DeepCopy() *MachineOSContainerfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSContainerfile.
func (*MachineOSContainerfile) DeepCopyInto ¶
func (in *MachineOSContainerfile) DeepCopyInto(out *MachineOSContainerfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineOSContainerfile) SwaggerDoc ¶
func (MachineOSContainerfile) SwaggerDoc() map[string]string
type MachineOSImageBuilder ¶
type MachineOSImageBuilder struct { // imageBuilderType specifies the backend to be used to build the image. // +kubebuilder:validation:Enum:=Job // Valid options are: Job // +required ImageBuilderType MachineOSImageBuilderType `json:"imageBuilderType"` }
func (*MachineOSImageBuilder) DeepCopy ¶
func (in *MachineOSImageBuilder) DeepCopy() *MachineOSImageBuilder
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineOSImageBuilder.
func (*MachineOSImageBuilder) DeepCopyInto ¶
func (in *MachineOSImageBuilder) DeepCopyInto(out *MachineOSImageBuilder)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (MachineOSImageBuilder) SwaggerDoc ¶
func (MachineOSImageBuilder) SwaggerDoc() map[string]string
type MachineOSImageBuilderType ¶
type MachineOSImageBuilderType string
+enum
const ( // describes that the machine-os-builder will use a Job to spin up a custom pod builder that uses buildah JobBuilder MachineOSImageBuilderType = "Job" )
type NetworkInfo ¶
type NetworkInfo struct { // mtuMigration contains the MTU migration configuration. // +required // +nullable MTUMigration *configv1.MTUMigration `json:"mtuMigration"` }
Network contains network related configuration
func (*NetworkInfo) DeepCopy ¶
func (in *NetworkInfo) DeepCopy() *NetworkInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInfo.
func (*NetworkInfo) DeepCopyInto ¶
func (in *NetworkInfo) DeepCopyInto(out *NetworkInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NetworkInfo) SwaggerDoc ¶
func (NetworkInfo) SwaggerDoc() map[string]string
type ObjectReference ¶
type ObjectReference struct { // group of the referent. // The name must contain only lowercase alphanumeric characters, '-' or '.' and start/end with an alphanumeric character. // Example: "", "apps", "build.openshift.io", etc. // +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character." // +kubebuilder:validation:MaxLength:=253 // +required Group string `json:"group"` // resource of the referent. // This value should consist of at most 63 characters, and of only lowercase alphanumeric characters and hyphens, // and should start and end with an alphanumeric character. // Example: "deployments", "deploymentconfigs", "pods", etc. // +required // +kubebuilder:validation:XValidation:rule=`!format.dns1123Label().validate(self).hasValue()`,message="the value must consist of only lowercase alphanumeric characters and hyphens" // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 Resource string `json:"resource"` // namespace of the referent. // This value should consist of at most 63 characters, and of only lowercase alphanumeric characters and hyphens, // and should start and end with an alphanumeric character. // +kubebuilder:validation:XValidation:rule=`!format.dns1123Label().validate(self).hasValue()`,message="the value must consist of only lowercase alphanumeric characters and hyphens" // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 // +optional Namespace string `json:"namespace,omitempty"` // name of the referent. // The name must contain only lowercase alphanumeric characters, '-' or '.' and start/end with an alphanumeric character. // +kubebuilder:validation:XValidation:rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character." // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=253 // +required Name string `json:"name"` }
ObjectReference contains enough information to let you inspect or modify the referred object.
func (*ObjectReference) DeepCopy ¶
func (in *ObjectReference) DeepCopy() *ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
func (*ObjectReference) DeepCopyInto ¶
func (in *ObjectReference) DeepCopyInto(out *ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (ObjectReference) SwaggerDoc ¶
func (ObjectReference) SwaggerDoc() map[string]string
type PinnedImageSetRef ¶
type PinnedImageSetRef struct { // name is a reference to the name of a PinnedImageSet. Must adhere to // RFC-1123 (https://tools.ietf.org/html/rfc1123). // Made up of one of more period-separated (.) segments, where each segment // consists of alphanumeric characters and hyphens (-), must begin and end // with an alphanumeric character, and is at most 63 characters in length. // The total length of the name must not exceed 253 characters. // +openshift:enable:FeatureGate=PinnedImages // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=253 // +kubebuilder:validation:Pattern=`^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$` // +required Name string `json:"name"` }
func (*PinnedImageSetRef) DeepCopy ¶
func (in *PinnedImageSetRef) DeepCopy() *PinnedImageSetRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PinnedImageSetRef.
func (*PinnedImageSetRef) DeepCopyInto ¶
func (in *PinnedImageSetRef) DeepCopyInto(out *PinnedImageSetRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PinnedImageSetRef) SwaggerDoc ¶
func (PinnedImageSetRef) SwaggerDoc() map[string]string
type PoolSynchronizerStatus ¶
type PoolSynchronizerStatus struct { // poolSynchronizerType describes the type of the pool synchronizer. // +required PoolSynchronizerType PoolSynchronizerType `json:"poolSynchronizerType"` // machineCount is the number of machines that are managed by the node synchronizer. // +required // +kubebuilder:validation:Minimum=0 MachineCount int64 `json:"machineCount"` // updatedMachineCount is the number of machines that have been updated by the node synchronizer. // +required // +kubebuilder:validation:Minimum=0 UpdatedMachineCount int64 `json:"updatedMachineCount"` // readyMachineCount is the number of machines managed by the node synchronizer that are in a ready state. // +required // +kubebuilder:validation:Minimum=0 ReadyMachineCount int64 `json:"readyMachineCount"` // availableMachineCount is the number of machines managed by the node synchronizer which are available. // +required // +kubebuilder:validation:Minimum=0 AvailableMachineCount int64 `json:"availableMachineCount"` // +required // +kubebuilder:validation:Minimum=0 UnavailableMachineCount int64 `json:"unavailableMachineCount"` // +kubebuilder:validation:XValidation:rule="self >= oldSelf || (self == 0 && oldSelf > 0)", message="observedGeneration must not move backwards except to zero" // observedGeneration is the last generation change that has been applied. // +kubebuilder:validation:Minimum=0 // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` }
+kubebuilder:validation:XValidation:rule="self.machineCount >= self.updatedMachineCount", message="machineCount must be greater than or equal to updatedMachineCount" +kubebuilder:validation:XValidation:rule="self.machineCount >= self.availableMachineCount", message="machineCount must be greater than or equal to availableMachineCount" +kubebuilder:validation:XValidation:rule="self.machineCount >= self.unavailableMachineCount", message="machineCount must be greater than or equal to unavailableMachineCount" +kubebuilder:validation:XValidation:rule="self.machineCount >= self.readyMachineCount", message="machineCount must be greater than or equal to readyMachineCount" +kubebuilder:validation:XValidation:rule="self.availableMachineCount >= self.readyMachineCount", message="availableMachineCount must be greater than or equal to readyMachineCount"
func (*PoolSynchronizerStatus) DeepCopy ¶
func (in *PoolSynchronizerStatus) DeepCopy() *PoolSynchronizerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolSynchronizerStatus.
func (*PoolSynchronizerStatus) DeepCopyInto ¶
func (in *PoolSynchronizerStatus) DeepCopyInto(out *PoolSynchronizerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (PoolSynchronizerStatus) SwaggerDoc ¶
func (PoolSynchronizerStatus) SwaggerDoc() map[string]string
type PoolSynchronizerType ¶
type PoolSynchronizerType string
PoolSynchronizerType is an enum that describe the type of pool synchronizer. A pool synchronizer is a one or more controllers that manages the on disk state of a set of machines within a pool. +kubebuilder:validation:Enum:="PinnedImageSets" +kubebuilder:validation:MaxLength=256
const ( // PinnedImageSets represents a pool synchronizer for pinned image sets. PinnedImageSets PoolSynchronizerType = "PinnedImageSets" )