diff --git a/machineconfiguration/v1/0000_80_containerruntimeconfig.crd.yaml b/machineconfiguration/v1/0000_80_containerruntimeconfig.crd.yaml index 26c90470258..b315836af6d 100644 --- a/machineconfiguration/v1/0000_80_containerruntimeconfig.crd.yaml +++ b/machineconfiguration/v1/0000_80_containerruntimeconfig.crd.yaml @@ -115,10 +115,6 @@ spec: items: description: ContainerRuntimeConfigCondition defines the state of the ContainerRuntimeConfig type: object - required: - - lastTransitionTime - - status - - type properties: lastTransitionTime: description: lastTransitionTime is the time of the last update to the current status object. @@ -137,6 +133,7 @@ spec: type: description: type specifies the state of the operator's reconciliation functionality. type: string + x-kubernetes-list-type: atomic observedGeneration: description: observedGeneration represents the generation observed by the controller. type: integer diff --git a/machineconfiguration/v1/0000_80_controllerconfig.crd.yaml b/machineconfiguration/v1/0000_80_controllerconfig.crd.yaml index fb7e2c41c3f..ee49210bc54 100644 --- a/machineconfiguration/v1/0000_80_controllerconfig.crd.yaml +++ b/machineconfiguration/v1/0000_80_controllerconfig.crd.yaml @@ -33,7 +33,7 @@ spec: status: {} schema: openAPIV3Schema: - description: "ControllerConfig describes configuration for MachineConfigController. This is currently only used to drive the MachineConfig objects generated by the TemplateController. \n 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." + description: "ControllerConfig describes configuration for MachineConfigController. This is currently only used to drive the MachineConfig objects generated by the TemplateController. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)." type: object required: - spec @@ -52,7 +52,6 @@ spec: required: - additionalTrustBundle - baseOSContainerImage - - baseOSExtensionsContainerImage - cloudProviderCAData - cloudProviderConfig - clusterDNSIP @@ -62,7 +61,6 @@ spec: - ipFamilies - kubeAPIServerServingCAData - network - - osImageURL - proxy - releaseImage - rootCAData @@ -111,6 +109,47 @@ spec: baseDomain: description: "baseDomain is the base domain of the cluster. All managed DNS records will be sub-domains of this base. \n For example, given the base domain `openshift.example.com`, an API server DNS record may be created for `cluster-api.openshift.example.com`. \n Once set, this field cannot be changed." type: string + platform: + description: platform holds configuration specific to the underlying infrastructure provider for DNS. When omitted, this means the user has no opinion and the platform is left to choose reasonable defaults. These defaults are subject to change over time. + type: object + required: + - type + properties: + aws: + description: aws contains DNS configuration specific to the Amazon Web Services cloud provider. + type: object + properties: + privateZoneIAMRole: + description: privateZoneIAMRole contains the ARN of an IAM role that should be assumed when performing operations on the cluster's private hosted zone specified in the cluster DNS config. When left empty, no role should be assumed. + type: string + pattern: ^arn:(aws|aws-cn|aws-us-gov):iam::[0-9]{12}:role\/.*$ + type: + description: "type is the underlying infrastructure provider for the cluster. Allowed values: \"\", \"AWS\". \n Individual components may not support all platforms, and must handle unrecognized platforms with best-effort defaults." + type: string + enum: + - "" + - AWS + - Azure + - BareMetal + - GCP + - Libvirt + - OpenStack + - None + - VSphere + - oVirt + - IBMCloud + - KubeVirt + - EquinixMetal + - PowerVS + - AlibabaCloud + - Nutanix + - External + x-kubernetes-validations: + - rule: self in ['','AWS'] + message: allowed values are '' and 'AWS' + x-kubernetes-validations: + - rule: 'has(self.type) && self.type == ''AWS'' ? has(self.aws) : !has(self.aws)' + message: aws configuration is required when platform is AWS, and forbidden otherwise privateZone: description: "privateZone is the location where all the DNS records that are only available internally to the cluster exist. \n If this field is nil, no private records should be created. \n Once set, this field cannot be changed." type: object @@ -143,13 +182,49 @@ spec: etcdDiscoveryDomain: description: etcdDiscoveryDomain is deprecated, use Infra.Status.EtcdDiscoveryDomain instead type: string + imageRegistryBundleData: + description: imageRegistryBundleData is the ImageRegistryData + type: array + items: + description: ImageRegistryBundle contains information for writing image registry certificates + type: object + required: + - data + - file + properties: + data: + description: data holds the contents of the bundle that will be written to the file location + type: string + format: byte + file: + description: file holds the name of the file where the bundle will be written to disk + type: string + x-kubernetes-list-type: atomic + imageRegistryBundleUserData: + description: imageRegistryBundleUserData is Image Registry Data provided by the user + type: array + items: + description: ImageRegistryBundle contains information for writing image registry certificates + type: object + required: + - data + - file + properties: + data: + description: data holds the contents of the bundle that will be written to the file location + type: string + format: byte + file: + description: file holds the name of the file where the bundle will be written to disk + type: string + x-kubernetes-list-type: atomic images: description: images is map of images that are used by the controller to render templates under ./templates/ type: object additionalProperties: type: string infra: - description: "Infrastructure holds cluster-wide information about Infrastructure. The canonical name is `cluster` \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)." + description: infra holds the infrastructure details type: object required: - spec @@ -503,6 +578,13 @@ spec: - HighlyAvailable - SingleReplica - External + cpuPartitioning: + description: cpuPartitioning expresses if CPU partitioning is a currently enabled feature in the cluster. CPU Partitioning means that this cluster can support partitioning workloads to specific CPU Sets. Valid values are "None" and "AllNodes". When omitted, the default value is "None". The default value of "None" indicates that no nodes will be setup with CPU partitioning. The "AllNodes" value indicates that all nodes have been setup with CPU partitioning, and can then be further configured via the PerformanceProfile API. + type: string + default: None + enum: + - None + - AllNodes etcdDiscoveryDomain: description: 'etcdDiscoveryDomain is the domain used to fetch the SRV records for discovering etcd servers and clients. For more info: https://github.com/etcd-io/etcd/blob/329be66e8b3f9e2e6af83c123ff89297e49ebd15/Documentation/op-guide/clustering.md#dns-discovery deprecated: as of 4.7, this field is no longer set or honored. It will be removed in a future release.' type: string @@ -716,6 +798,27 @@ spec: external: description: External contains settings specific to the generic External infrastructure provider. type: object + properties: + cloudControllerManager: + description: cloudControllerManager contains settings specific to the external Cloud Controller Manager (a.k.a. CCM or CPI). When omitted, new nodes will be not tainted and no extra initialization from the cloud controller manager is expected. + type: object + properties: + state: + description: "state determines whether or not an external Cloud Controller Manager is expected to be installed within the cluster. https://kubernetes.io/docs/tasks/administer-cluster/running-cloud-controller/#running-cloud-controller-manager \n Valid values are \"External\", \"None\" and omitted. When set to \"External\", new nodes will be tainted as uninitialized when created, preventing them from running workloads until they are initialized by the cloud controller manager. When omitted or set to \"None\", new nodes will be not tainted and no extra initialization from the cloud controller manager is expected." + type: string + enum: + - "" + - External + - None + x-kubernetes-validations: + - rule: self == oldSelf + message: state is immutable once set + x-kubernetes-validations: + - rule: (has(self.state) == has(oldSelf.state)) || (!has(oldSelf.state) && self.state != "External") + message: state may not be added or removed once set + x-kubernetes-validations: + - rule: has(self.cloudControllerManager) == has(oldSelf.cloudControllerManager) + message: cloudControllerManager may not be added or removed once set gcp: description: GCP contains settings specific to the Google Cloud Platform infrastructure provider. type: object @@ -745,6 +848,30 @@ spec: resourceGroupName: description: ResourceGroupName is the Resource Group for new IBMCloud resources created for the cluster. type: string + serviceEndpoints: + description: serviceEndpoints is a list of custom endpoints which will override the default service endpoints of an IBM Cloud service. These endpoints are consumed by components within the cluster to reach the respective IBM Cloud Services. + type: array + items: + description: IBMCloudServiceEndpoint stores the configuration of a custom url to override existing defaults of IBM Cloud Services. + type: object + required: + - name + - url + properties: + name: + description: name is the name of the IBM Cloud service. For example, the IBM Cloud Private IAM service could be configured with the service `name` of `IAM` and `url` of `https://private.iam.cloud.ibm.com` Whereas the IBM Cloud Private VPC service for US South (Dallas) could be configured with the service `name` of `VPC` and `url` of `https://us.south.private.iaas.cloud.ibm.com` + type: string + maxLength: 32 + pattern: ^[a-zA-Z0-9-]+$ + url: + description: url is fully qualified URI with scheme https, that overrides the default generated endpoint for a client. This must be provided and cannot be empty. + type: string + x-kubernetes-validations: + - rule: isURL(self) + message: url must be a valid absolute URL + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map kubevirt: description: Kubevirt contains settings specific to the kubevirt infrastructure provider. type: object @@ -948,6 +1075,11 @@ spec: type: string nullable: true x-kubernetes-embedded-resource: true + internalRegistryPullSecret: + description: internalRegistryPullSecret is the pull secret for the internal registry, used by rpm-ostree to pull images from the internal registry if present + type: string + format: byte + nullable: true ipFamilies: description: ipFamilies indicates the IP families in use by the cluster network type: string @@ -1083,6 +1215,38 @@ spec: type: description: type specifies the state of the operator's reconciliation functionality. type: string + x-kubernetes-list-type: atomic + controllerCertificates: + description: controllerCertificates represents the latest available observations of the automatically rotating certificates in the MCO. + type: array + items: + description: ControllerCertificate contains info about a specific cert. + type: object + required: + - bundleFile + - notAfter + - notBefore + - signer + - subject + properties: + bundleFile: + description: bundleFile is the larger bundle a cert comes from + type: string + notAfter: + description: notAfter is the upper boundary for validity + type: string + format: date-time + notBefore: + description: notBefore is the lower boundary for validity + type: string + format: date-time + signer: + description: signer is the cert Issuer + type: string + subject: + description: subject is the cert subject + type: string + x-kubernetes-list-type: atomic observedGeneration: description: observedGeneration represents the generation observed by the controller. type: integer diff --git a/machineconfiguration/v1/0000_80_kubeletconfig.crd.yaml b/machineconfiguration/v1/0000_80_kubeletconfig.crd.yaml index 634651b195c..06c7b22c021 100644 --- a/machineconfiguration/v1/0000_80_kubeletconfig.crd.yaml +++ b/machineconfiguration/v1/0000_80_kubeletconfig.crd.yaml @@ -134,10 +134,6 @@ spec: items: description: KubeletConfigCondition defines the state of the KubeletConfig type: object - required: - - lastTransitionTime - - status - - type properties: lastTransitionTime: description: lastTransitionTime is the time of the last update to the current status object. diff --git a/machineconfiguration/v1/0000_80_machineconfig.crd.yaml b/machineconfiguration/v1/0000_80_machineconfig.crd.yaml index 2bb293f1b9e..5adf5d387ca 100644 --- a/machineconfiguration/v1/0000_80_machineconfig.crd.yaml +++ b/machineconfiguration/v1/0000_80_machineconfig.crd.yaml @@ -49,8 +49,6 @@ spec: openAPIV3Schema: description: "MachineConfig defines the configuration for a machine \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)." type: object - required: - - spec properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' @@ -76,6 +74,7 @@ spec: type: array items: type: string + x-kubernetes-list-type: atomic fips: description: fips controls FIPS mode type: boolean @@ -85,6 +84,7 @@ spec: items: type: string nullable: true + x-kubernetes-list-type: atomic kernelType: description: kernelType contains which kernel we want to be running like default (traditional), realtime. type: string diff --git a/machineconfiguration/v1/0000_80_machineconfigpool.crd.yaml b/machineconfiguration/v1/0000_80_machineconfigpool.crd.yaml index e03ce2b80af..3d6b81934b0 100644 --- a/machineconfiguration/v1/0000_80_machineconfigpool.crd.yaml +++ b/machineconfiguration/v1/0000_80_machineconfigpool.crd.yaml @@ -87,9 +87,6 @@ spec: spec: description: MachineConfigPoolSpec is the spec for MachineConfigPool resource. type: object - required: - - configuration - - paused properties: configuration: description: The targeted MachineConfig object for the machine config pool. @@ -142,6 +139,7 @@ spec: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string x-kubernetes-map-type: atomic + x-kubernetes-list-type: atomic uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string @@ -220,26 +218,35 @@ spec: status: description: MachineConfigPoolStatus is the status for MachineConfigPool resource. type: object - required: - - configuration - - degradedMachineCount - - machineCount - - readyMachineCount - - unavailableMachineCount - - updatedMachineCount properties: + certExpirys: + description: certExpirys keeps track of important certificate expiration data + type: array + items: + description: ceryExpiry contains the bundle name and the expiry date + type: object + required: + - bundle + - expiry + - subject + properties: + bundle: + description: bundle is the name of the bundle in which the subject certificate resides + type: string + expiry: + description: expiry is the date after which the certificate will no longer be valid + type: string + format: date-time + subject: + description: subject is the subject of the certificate + type: string + x-kubernetes-list-type: atomic conditions: description: conditions represents the latest available observations of current state. type: array items: description: MachineConfigPoolCondition contains condition information for an MachineConfigPool. type: object - required: - - lastTransitionTime - - message - - reason - - status - - type properties: lastTransitionTime: description: lastTransitionTime is the timestamp corresponding to the last status change of this condition. @@ -258,6 +265,7 @@ spec: type: description: type of the condition, currently ('Done', 'Updating', 'Failed'). type: string + x-kubernetes-list-type: atomic configuration: description: configuration represents the current MachineConfig object for the machine config pool. type: object @@ -309,6 +317,7 @@ spec: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string x-kubernetes-map-type: atomic + x-kubernetes-list-type: atomic uid: description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' type: string diff --git a/machineconfiguration/v1/types.go b/machineconfiguration/v1/types.go index 2057165d210..1c79d5f1d44 100644 --- a/machineconfiguration/v1/types.go +++ b/machineconfiguration/v1/types.go @@ -23,7 +23,7 @@ const KubeletConfigRoleLabelPrefix = "pools.operator.machineconfiguration.opensh // ControllerConfig describes configuration for MachineConfigController. // This is currently only used to drive the MachineConfig objects generated by the TemplateController. // -// 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. +// 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 type ControllerConfig struct { metav1.TypeMeta `json:",inline"` @@ -265,7 +265,7 @@ const ( // ControllerConfigList is a list of ControllerConfig 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. +// 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 type ControllerConfigList struct { metav1.TypeMeta `json:",inline"` diff --git a/machineconfiguration/v1/zz_generated.deepcopy.go b/machineconfiguration/v1/zz_generated.deepcopy.go new file mode 100644 index 00000000000..25fc281146f --- /dev/null +++ b/machineconfiguration/v1/zz_generated.deepcopy.go @@ -0,0 +1,837 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +// Code generated by deepcopy-gen. DO NOT EDIT. + +package v1 + +import ( + configv1 "github.com/openshift/api/config/v1" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + intstr "k8s.io/apimachinery/pkg/util/intstr" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *CertExpiry) DeepCopyInto(out *CertExpiry) { + *out = *in + if in.Expiry != nil { + in, out := &in.Expiry, &out.Expiry + *out = (*in).DeepCopy() + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CertExpiry. +func (in *CertExpiry) DeepCopy() *CertExpiry { + if in == nil { + return nil + } + out := new(CertExpiry) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerRuntimeConfig) DeepCopyInto(out *ContainerRuntimeConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfig. +func (in *ContainerRuntimeConfig) DeepCopy() *ContainerRuntimeConfig { + if in == nil { + return nil + } + out := new(ContainerRuntimeConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ContainerRuntimeConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerRuntimeConfigCondition) DeepCopyInto(out *ContainerRuntimeConfigCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfigCondition. +func (in *ContainerRuntimeConfigCondition) DeepCopy() *ContainerRuntimeConfigCondition { + if in == nil { + return nil + } + out := new(ContainerRuntimeConfigCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerRuntimeConfigList) DeepCopyInto(out *ContainerRuntimeConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ContainerRuntimeConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfigList. +func (in *ContainerRuntimeConfigList) DeepCopy() *ContainerRuntimeConfigList { + if in == nil { + return nil + } + out := new(ContainerRuntimeConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ContainerRuntimeConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerRuntimeConfigSpec) DeepCopyInto(out *ContainerRuntimeConfigSpec) { + *out = *in + if in.MachineConfigPoolSelector != nil { + in, out := &in.MachineConfigPoolSelector, &out.MachineConfigPoolSelector + *out = new(metav1.LabelSelector) + (*in).DeepCopyInto(*out) + } + if in.ContainerRuntimeConfig != nil { + in, out := &in.ContainerRuntimeConfig, &out.ContainerRuntimeConfig + *out = new(ContainerRuntimeConfiguration) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfigSpec. +func (in *ContainerRuntimeConfigSpec) DeepCopy() *ContainerRuntimeConfigSpec { + if in == nil { + return nil + } + out := new(ContainerRuntimeConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerRuntimeConfigStatus) DeepCopyInto(out *ContainerRuntimeConfigStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]ContainerRuntimeConfigCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfigStatus. +func (in *ContainerRuntimeConfigStatus) DeepCopy() *ContainerRuntimeConfigStatus { + if in == nil { + return nil + } + out := new(ContainerRuntimeConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ContainerRuntimeConfiguration) DeepCopyInto(out *ContainerRuntimeConfiguration) { + *out = *in + if in.PidsLimit != nil { + in, out := &in.PidsLimit, &out.PidsLimit + *out = new(int64) + **out = **in + } + out.LogSizeMax = in.LogSizeMax.DeepCopy() + out.OverlaySize = in.OverlaySize.DeepCopy() + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ContainerRuntimeConfiguration. +func (in *ContainerRuntimeConfiguration) DeepCopy() *ContainerRuntimeConfiguration { + if in == nil { + return nil + } + out := new(ContainerRuntimeConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ControllerCertificate) DeepCopyInto(out *ControllerCertificate) { + *out = *in + if in.NotBefore != nil { + in, out := &in.NotBefore, &out.NotBefore + *out = (*in).DeepCopy() + } + if in.NotAfter != nil { + in, out := &in.NotAfter, &out.NotAfter + *out = (*in).DeepCopy() + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerCertificate. +func (in *ControllerCertificate) DeepCopy() *ControllerCertificate { + if in == nil { + return nil + } + out := new(ControllerCertificate) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ControllerConfig) DeepCopyInto(out *ControllerConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfig. +func (in *ControllerConfig) DeepCopy() *ControllerConfig { + if in == nil { + return nil + } + out := new(ControllerConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ControllerConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ControllerConfigList) DeepCopyInto(out *ControllerConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]ControllerConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigList. +func (in *ControllerConfigList) DeepCopy() *ControllerConfigList { + if in == nil { + return nil + } + out := new(ControllerConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *ControllerConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ControllerConfigSpec) DeepCopyInto(out *ControllerConfigSpec) { + *out = *in + if in.KubeAPIServerServingCAData != nil { + in, out := &in.KubeAPIServerServingCAData, &out.KubeAPIServerServingCAData + *out = make([]byte, len(*in)) + copy(*out, *in) + } + if in.RootCAData != nil { + in, out := &in.RootCAData, &out.RootCAData + *out = make([]byte, len(*in)) + copy(*out, *in) + } + if in.CloudProviderCAData != nil { + in, out := &in.CloudProviderCAData, &out.CloudProviderCAData + *out = make([]byte, len(*in)) + copy(*out, *in) + } + if in.AdditionalTrustBundle != nil { + in, out := &in.AdditionalTrustBundle, &out.AdditionalTrustBundle + *out = make([]byte, len(*in)) + copy(*out, *in) + } + if in.ImageRegistryBundleUserData != nil { + in, out := &in.ImageRegistryBundleUserData, &out.ImageRegistryBundleUserData + *out = make([]ImageRegistryBundle, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ImageRegistryBundleData != nil { + in, out := &in.ImageRegistryBundleData, &out.ImageRegistryBundleData + *out = make([]ImageRegistryBundle, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PullSecret != nil { + in, out := &in.PullSecret, &out.PullSecret + *out = new(corev1.ObjectReference) + **out = **in + } + if in.InternalRegistryPullSecret != nil { + in, out := &in.InternalRegistryPullSecret, &out.InternalRegistryPullSecret + *out = make([]byte, len(*in)) + copy(*out, *in) + } + if in.Images != nil { + in, out := &in.Images, &out.Images + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Proxy != nil { + in, out := &in.Proxy, &out.Proxy + *out = new(configv1.ProxyStatus) + **out = **in + } + if in.Infra != nil { + in, out := &in.Infra, &out.Infra + *out = new(configv1.Infrastructure) + (*in).DeepCopyInto(*out) + } + if in.DNS != nil { + in, out := &in.DNS, &out.DNS + *out = new(configv1.DNS) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(NetworkInfo) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigSpec. +func (in *ControllerConfigSpec) DeepCopy() *ControllerConfigSpec { + if in == nil { + return nil + } + out := new(ControllerConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ControllerConfigStatus) DeepCopyInto(out *ControllerConfigStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]ControllerConfigStatusCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ControllerCertificates != nil { + in, out := &in.ControllerCertificates, &out.ControllerCertificates + *out = make([]ControllerCertificate, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigStatus. +func (in *ControllerConfigStatus) DeepCopy() *ControllerConfigStatus { + if in == nil { + return nil + } + out := new(ControllerConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ControllerConfigStatusCondition) DeepCopyInto(out *ControllerConfigStatusCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerConfigStatusCondition. +func (in *ControllerConfigStatusCondition) DeepCopy() *ControllerConfigStatusCondition { + if in == nil { + return nil + } + out := new(ControllerConfigStatusCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImageRegistryBundle) DeepCopyInto(out *ImageRegistryBundle) { + *out = *in + if in.Data != nil { + in, out := &in.Data, &out.Data + *out = make([]byte, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistryBundle. +func (in *ImageRegistryBundle) DeepCopy() *ImageRegistryBundle { + if in == nil { + return nil + } + out := new(ImageRegistryBundle) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConfig) DeepCopyInto(out *KubeletConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfig. +func (in *KubeletConfig) DeepCopy() *KubeletConfig { + if in == nil { + return nil + } + out := new(KubeletConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubeletConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConfigCondition) DeepCopyInto(out *KubeletConfigCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigCondition. +func (in *KubeletConfigCondition) DeepCopy() *KubeletConfigCondition { + if in == nil { + return nil + } + out := new(KubeletConfigCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConfigList) DeepCopyInto(out *KubeletConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]KubeletConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigList. +func (in *KubeletConfigList) DeepCopy() *KubeletConfigList { + if in == nil { + return nil + } + out := new(KubeletConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *KubeletConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConfigSpec) DeepCopyInto(out *KubeletConfigSpec) { + *out = *in + if in.AutoSizingReserved != nil { + in, out := &in.AutoSizingReserved, &out.AutoSizingReserved + *out = new(bool) + **out = **in + } + if in.LogLevel != nil { + in, out := &in.LogLevel, &out.LogLevel + *out = new(int32) + **out = **in + } + if in.MachineConfigPoolSelector != nil { + in, out := &in.MachineConfigPoolSelector, &out.MachineConfigPoolSelector + *out = new(metav1.LabelSelector) + (*in).DeepCopyInto(*out) + } + if in.KubeletConfig != nil { + in, out := &in.KubeletConfig, &out.KubeletConfig + *out = new(runtime.RawExtension) + (*in).DeepCopyInto(*out) + } + if in.TLSSecurityProfile != nil { + in, out := &in.TLSSecurityProfile, &out.TLSSecurityProfile + *out = new(configv1.TLSSecurityProfile) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigSpec. +func (in *KubeletConfigSpec) DeepCopy() *KubeletConfigSpec { + if in == nil { + return nil + } + out := new(KubeletConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *KubeletConfigStatus) DeepCopyInto(out *KubeletConfigStatus) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]KubeletConfigCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeletConfigStatus. +func (in *KubeletConfigStatus) DeepCopy() *KubeletConfigStatus { + if in == nil { + return nil + } + out := new(KubeletConfigStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfig) DeepCopyInto(out *MachineConfig) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfig. +func (in *MachineConfig) DeepCopy() *MachineConfig { + if in == nil { + return nil + } + out := new(MachineConfig) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MachineConfig) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigList) DeepCopyInto(out *MachineConfigList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MachineConfig, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigList. +func (in *MachineConfigList) DeepCopy() *MachineConfigList { + if in == nil { + return nil + } + out := new(MachineConfigList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MachineConfigList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigPool) DeepCopyInto(out *MachineConfigPool) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPool. +func (in *MachineConfigPool) DeepCopy() *MachineConfigPool { + if in == nil { + return nil + } + out := new(MachineConfigPool) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MachineConfigPool) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigPoolCondition) DeepCopyInto(out *MachineConfigPoolCondition) { + *out = *in + in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolCondition. +func (in *MachineConfigPoolCondition) DeepCopy() *MachineConfigPoolCondition { + if in == nil { + return nil + } + out := new(MachineConfigPoolCondition) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigPoolList) DeepCopyInto(out *MachineConfigPoolList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MachineConfigPool, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolList. +func (in *MachineConfigPoolList) DeepCopy() *MachineConfigPoolList { + if in == nil { + return nil + } + out := new(MachineConfigPoolList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MachineConfigPoolList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigPoolSpec) DeepCopyInto(out *MachineConfigPoolSpec) { + *out = *in + if in.MachineConfigSelector != nil { + in, out := &in.MachineConfigSelector, &out.MachineConfigSelector + *out = new(metav1.LabelSelector) + (*in).DeepCopyInto(*out) + } + if in.NodeSelector != nil { + in, out := &in.NodeSelector, &out.NodeSelector + *out = new(metav1.LabelSelector) + (*in).DeepCopyInto(*out) + } + if in.MaxUnavailable != nil { + in, out := &in.MaxUnavailable, &out.MaxUnavailable + *out = new(intstr.IntOrString) + **out = **in + } + in.Configuration.DeepCopyInto(&out.Configuration) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolSpec. +func (in *MachineConfigPoolSpec) DeepCopy() *MachineConfigPoolSpec { + if in == nil { + return nil + } + out := new(MachineConfigPoolSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigPoolStatus) DeepCopyInto(out *MachineConfigPoolStatus) { + *out = *in + in.Configuration.DeepCopyInto(&out.Configuration) + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]MachineConfigPoolCondition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CertExpirys != nil { + in, out := &in.CertExpirys, &out.CertExpirys + *out = make([]CertExpiry, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolStatus. +func (in *MachineConfigPoolStatus) DeepCopy() *MachineConfigPoolStatus { + if in == nil { + return nil + } + out := new(MachineConfigPoolStatus) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigPoolStatusConfiguration) DeepCopyInto(out *MachineConfigPoolStatusConfiguration) { + *out = *in + out.ObjectReference = in.ObjectReference + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = make([]corev1.ObjectReference, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPoolStatusConfiguration. +func (in *MachineConfigPoolStatusConfiguration) DeepCopy() *MachineConfigPoolStatusConfiguration { + if in == nil { + return nil + } + out := new(MachineConfigPoolStatusConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigSpec) DeepCopyInto(out *MachineConfigSpec) { + *out = *in + in.Config.DeepCopyInto(&out.Config) + if in.KernelArguments != nil { + in, out := &in.KernelArguments, &out.KernelArguments + *out = make([]string, len(*in)) + copy(*out, *in) + } + if in.Extensions != nil { + in, out := &in.Extensions, &out.Extensions + *out = make([]string, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigSpec. +func (in *MachineConfigSpec) DeepCopy() *MachineConfigSpec { + if in == nil { + return nil + } + out := new(MachineConfigSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *NetworkInfo) DeepCopyInto(out *NetworkInfo) { + *out = *in + if in.MTUMigration != nil { + in, out := &in.MTUMigration, &out.MTUMigration + *out = new(configv1.MTUMigration) + (*in).DeepCopyInto(*out) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkInfo. +func (in *NetworkInfo) DeepCopy() *NetworkInfo { + if in == nil { + return nil + } + out := new(NetworkInfo) + in.DeepCopyInto(out) + return out +} diff --git a/machineconfiguration/v1/zz_generated.swagger_doc_generated.go b/machineconfiguration/v1/zz_generated.swagger_doc_generated.go new file mode 100644 index 00000000000..a4cff0c49ea --- /dev/null +++ b/machineconfiguration/v1/zz_generated.swagger_doc_generated.go @@ -0,0 +1,338 @@ +package v1 + +// This file contains a collection of methods that can be used from go-restful to +// generate Swagger API documentation for its models. Please read this PR for more +// information on the implementation: https://github.com/emicklei/go-restful/pull/215 +// +// TODOs are ignored from the parser (e.g. TODO(andronat):... || TODO:...) if and only if +// they are on one line! For multiple line or blocks that you want to ignore use ---. +// Any context after a --- is ignored. +// +// Those methods can be generated by using hack/update-swagger-docs.sh + +// AUTO-GENERATED FUNCTIONS START HERE +var map_CertExpiry = map[string]string{ + "": "ceryExpiry contains the bundle name and the expiry date", + "bundle": "bundle is the name of the bundle in which the subject certificate resides", + "subject": "subject is the subject of the certificate", + "expiry": "expiry is the date after which the certificate will no longer be valid", +} + +func (CertExpiry) SwaggerDoc() map[string]string { + return map_CertExpiry +} + +var map_ContainerRuntimeConfig = map[string]string{ + "": "ContainerRuntimeConfig describes a customized Container Runtime configuration.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", +} + +func (ContainerRuntimeConfig) SwaggerDoc() map[string]string { + return map_ContainerRuntimeConfig +} + +var map_ContainerRuntimeConfigCondition = map[string]string{ + "": "ContainerRuntimeConfigCondition defines the state of the ContainerRuntimeConfig", + "type": "type specifies the state of the operator's reconciliation functionality.", + "status": "status of the condition, one of True, False, Unknown.", + "lastTransitionTime": "lastTransitionTime is the time of the last update to the current status object.", + "reason": "reason is the reason for the condition's last transition. Reasons are PascalCase", + "message": "message provides additional information about the current condition. This is only to be consumed by humans.", +} + +func (ContainerRuntimeConfigCondition) SwaggerDoc() map[string]string { + return map_ContainerRuntimeConfigCondition +} + +var map_ContainerRuntimeConfigList = map[string]string{ + "": "ContainerRuntimeConfigList is a list of ContainerRuntimeConfig resources\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", +} + +func (ContainerRuntimeConfigList) SwaggerDoc() map[string]string { + return map_ContainerRuntimeConfigList +} + +var map_ContainerRuntimeConfigSpec = map[string]string{ + "": "ContainerRuntimeConfigSpec defines the desired state of ContainerRuntimeConfig", + "machineConfigPoolSelector": "MachineConfigPoolSelector selects which pools the ContainerRuntimeConfig shoud apply to. A nil selector will result in no pools being selected.", +} + +func (ContainerRuntimeConfigSpec) SwaggerDoc() map[string]string { + return map_ContainerRuntimeConfigSpec +} + +var map_ContainerRuntimeConfigStatus = map[string]string{ + "": "ContainerRuntimeConfigStatus defines the observed state of a ContainerRuntimeConfig", + "observedGeneration": "observedGeneration represents the generation observed by the controller.", + "conditions": "conditions represents the latest available observations of current state.", +} + +func (ContainerRuntimeConfigStatus) SwaggerDoc() map[string]string { + return map_ContainerRuntimeConfigStatus +} + +var map_ContainerRuntimeConfiguration = map[string]string{ + "": "ContainerRuntimeConfiguration defines the tuneables of the container runtime", + "pidsLimit": "pidsLimit specifies the maximum number of processes allowed in a container", + "logLevel": "logLevel specifies the verbosity of the logs based on the level it is set to. Options are fatal, panic, error, warn, info, and debug.", + "logSizeMax": "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.", + "overlaySize": "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)", + "defaultRuntime": "defaultRuntime is the name of the OCI runtime to be used as the default.", +} + +func (ContainerRuntimeConfiguration) SwaggerDoc() map[string]string { + return map_ContainerRuntimeConfiguration +} + +var map_ControllerCertificate = map[string]string{ + "": "ControllerCertificate contains info about a specific cert.", + "subject": "subject is the cert subject", + "signer": "signer is the cert Issuer", + "notBefore": "notBefore is the lower boundary for validity", + "notAfter": "notAfter is the upper boundary for validity", + "bundleFile": "bundleFile is the larger bundle a cert comes from", +} + +func (ControllerCertificate) SwaggerDoc() map[string]string { + return map_ControllerCertificate +} + +var map_ControllerConfig = map[string]string{ + "": "ControllerConfig describes configuration for MachineConfigController. This is currently only used to drive the MachineConfig objects generated by the TemplateController.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", +} + +func (ControllerConfig) SwaggerDoc() map[string]string { + return map_ControllerConfig +} + +var map_ControllerConfigList = map[string]string{ + "": "ControllerConfigList is a list of ControllerConfig resources\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", +} + +func (ControllerConfigList) SwaggerDoc() map[string]string { + return map_ControllerConfigList +} + +var map_ControllerConfigSpec = map[string]string{ + "": "ControllerConfigSpec is the spec for ControllerConfig resource.", + "clusterDNSIP": "clusterDNSIP is the cluster DNS IP address", + "cloudProviderConfig": "cloudProviderConfig is the configuration for the given cloud provider", + "platform": "platform is deprecated, use Infra.Status.PlatformStatus.Type instead", + "etcdDiscoveryDomain": "etcdDiscoveryDomain is deprecated, use Infra.Status.EtcdDiscoveryDomain instead", + "kubeAPIServerServingCAData": "kubeAPIServerServingCAData managed Kubelet to API Server Cert... Rotated automatically", + "rootCAData": "rootCAData specifies the root CA data", + "cloudProviderCAData": "cloudProvider specifies the cloud provider CA data", + "additionalTrustBundle": "additionalTrustBundle is a certificate bundle that will be added to the nodes trusted certificate store.", + "imageRegistryBundleUserData": "imageRegistryBundleUserData is Image Registry Data provided by the user", + "imageRegistryBundleData": "imageRegistryBundleData is the ImageRegistryData", + "pullSecret": "pullSecret is the default pull secret that needs to be installed on all machines.", + "internalRegistryPullSecret": "internalRegistryPullSecret is the pull secret for the internal registry, used by rpm-ostree to pull images from the internal registry if present", + "images": "images is map of images that are used by the controller to render templates under ./templates/", + "baseOSContainerImage": "BaseOSContainerImage is the new-format container image for operating system updates.", + "baseOSExtensionsContainerImage": "BaseOSExtensionsContainerImage is the matching extensions container for the new-format container", + "osImageURL": "OSImageURL is the old-format container image that contains the OS update payload.", + "releaseImage": "releaseImage is the image used when installing the cluster", + "proxy": "proxy holds the current proxy configuration for the nodes", + "infra": "infra holds the infrastructure details", + "dns": "dns holds the cluster dns details", + "ipFamilies": "ipFamilies indicates the IP families in use by the cluster network", + "networkType": "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.", + "network": "Network contains additional network related information", +} + +func (ControllerConfigSpec) SwaggerDoc() map[string]string { + return map_ControllerConfigSpec +} + +var map_ControllerConfigStatus = map[string]string{ + "": "ControllerConfigStatus is the status for ControllerConfig", + "observedGeneration": "observedGeneration represents the generation observed by the controller.", + "conditions": "conditions represents the latest available observations of current state.", + "controllerCertificates": "controllerCertificates represents the latest available observations of the automatically rotating certificates in the MCO.", +} + +func (ControllerConfigStatus) SwaggerDoc() map[string]string { + return map_ControllerConfigStatus +} + +var map_ControllerConfigStatusCondition = map[string]string{ + "": "ControllerConfigStatusCondition contains condition information for ControllerConfigStatus", + "type": "type specifies the state of the operator's reconciliation functionality.", + "status": "status of the condition, one of True, False, Unknown.", + "lastTransitionTime": "lastTransitionTime is the time of the last update to the current status object.", + "reason": "reason is the reason for the condition's last transition. Reasons are PascalCase", + "message": "message provides additional information about the current condition. This is only to be consumed by humans.", +} + +func (ControllerConfigStatusCondition) SwaggerDoc() map[string]string { + return map_ControllerConfigStatusCondition +} + +var map_ImageRegistryBundle = map[string]string{ + "": "ImageRegistryBundle contains information for writing image registry certificates", + "file": "file holds the name of the file where the bundle will be written to disk", + "data": "data holds the contents of the bundle that will be written to the file location", +} + +func (ImageRegistryBundle) SwaggerDoc() map[string]string { + return map_ImageRegistryBundle +} + +var map_KubeletConfig = map[string]string{ + "": "KubeletConfig describes a customized Kubelet configuration.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", +} + +func (KubeletConfig) SwaggerDoc() map[string]string { + return map_KubeletConfig +} + +var map_KubeletConfigCondition = map[string]string{ + "": "KubeletConfigCondition defines the state of the KubeletConfig", + "type": "type specifies the state of the operator's reconciliation functionality.", + "status": "status of the condition, one of True, False, Unknown.", + "lastTransitionTime": "lastTransitionTime is the time of the last update to the current status object.", + "reason": "reason is the reason for the condition's last transition. Reasons are PascalCase", + "message": "message provides additional information about the current condition. This is only to be consumed by humans.", +} + +func (KubeletConfigCondition) SwaggerDoc() map[string]string { + return map_KubeletConfigCondition +} + +var map_KubeletConfigList = map[string]string{ + "": "KubeletConfigList is a list of KubeletConfig resources\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", +} + +func (KubeletConfigList) SwaggerDoc() map[string]string { + return map_KubeletConfigList +} + +var map_KubeletConfigSpec = map[string]string{ + "": "KubeletConfigSpec defines the desired state of KubeletConfig", + "machineConfigPoolSelector": "MachineConfigPoolSelector selects which pools the KubeletConfig shoud apply to. A nil selector will result in no pools being selected.", + "kubeletConfig": "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.", + "tlsSecurityProfile": "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 MinTLSVersions is VersionTLS12.", +} + +func (KubeletConfigSpec) SwaggerDoc() map[string]string { + return map_KubeletConfigSpec +} + +var map_KubeletConfigStatus = map[string]string{ + "": "KubeletConfigStatus defines the observed state of a KubeletConfig", + "observedGeneration": "observedGeneration represents the generation observed by the controller.", + "conditions": "conditions represents the latest available observations of current state.", +} + +func (KubeletConfigStatus) SwaggerDoc() map[string]string { + return map_KubeletConfigStatus +} + +var map_MachineConfig = map[string]string{ + "": "MachineConfig defines the configuration for a machine\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", +} + +func (MachineConfig) SwaggerDoc() map[string]string { + return map_MachineConfig +} + +var map_MachineConfigList = map[string]string{ + "": "MachineConfigList is a list of MachineConfig resources\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", +} + +func (MachineConfigList) SwaggerDoc() map[string]string { + return map_MachineConfigList +} + +var map_MachineConfigPool = map[string]string{ + "": "MachineConfigPool describes a pool of MachineConfigs.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", +} + +func (MachineConfigPool) SwaggerDoc() map[string]string { + return map_MachineConfigPool +} + +var map_MachineConfigPoolCondition = map[string]string{ + "": "MachineConfigPoolCondition contains condition information for an MachineConfigPool.", + "type": "type of the condition, currently ('Done', 'Updating', 'Failed').", + "status": "status of the condition, one of ('True', 'False', 'Unknown').", + "lastTransitionTime": "lastTransitionTime is the timestamp corresponding to the last status change of this condition.", + "reason": "reason is a brief machine readable explanation for the condition's last transition.", + "message": "message is a human readable description of the details of the last transition, complementing reason.", +} + +func (MachineConfigPoolCondition) SwaggerDoc() map[string]string { + return map_MachineConfigPoolCondition +} + +var map_MachineConfigPoolList = map[string]string{ + "": "MachineConfigPoolList is a list of MachineConfigPool resources\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", +} + +func (MachineConfigPoolList) SwaggerDoc() map[string]string { + return map_MachineConfigPoolList +} + +var map_MachineConfigPoolSpec = map[string]string{ + "": "MachineConfigPoolSpec is the spec for MachineConfigPool resource.", + "machineConfigSelector": "machineConfigSelector specifies a label selector for MachineConfigs. Refer https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ on how label and selectors work.", + "nodeSelector": "nodeSelector specifies a label selector for Machines", + "paused": "paused specifies whether or not changes to this machine config pool should be stopped. This includes generating new desiredMachineConfig and update of machines.", + "maxUnavailable": "maxUnavailable defines either an integer number or percentage 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.\n\nA 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.", + "configuration": "The targeted MachineConfig object for the machine config pool.", +} + +func (MachineConfigPoolSpec) SwaggerDoc() map[string]string { + return map_MachineConfigPoolSpec +} + +var map_MachineConfigPoolStatus = map[string]string{ + "": "MachineConfigPoolStatus is the status for MachineConfigPool resource.", + "observedGeneration": "observedGeneration represents the generation observed by the controller.", + "configuration": "configuration represents the current MachineConfig object for the machine config pool.", + "machineCount": "machineCount represents the total number of machines in the machine config pool.", + "updatedMachineCount": "updatedMachineCount represents the total number of machines targeted by the pool that have the CurrentMachineConfig as their config.", + "readyMachineCount": "readyMachineCount represents the total number of ready machines targeted by the pool.", + "unavailableMachineCount": "unavailableMachineCount represents the total number of unavailable (non-ready) machines targeted by the pool. A node is marked unavailable if it is in updating state or NodeReady condition is false.", + "degradedMachineCount": "degradedMachineCount represents the total number of machines marked degraded (or unreconcilable). A node is marked degraded if applying a configuration failed..", + "conditions": "conditions represents the latest available observations of current state.", + "certExpirys": "certExpirys keeps track of important certificate expiration data", +} + +func (MachineConfigPoolStatus) SwaggerDoc() map[string]string { + return map_MachineConfigPoolStatus +} + +var map_MachineConfigPoolStatusConfiguration = map[string]string{ + "": "MachineConfigPoolStatusConfiguration stores the current configuration for the pool, and optionally also stores the list of MachineConfig objects used to generate the configuration.", + "source": "source is the list of MachineConfig objects that were used to generate the single MachineConfig object specified in `content`.", +} + +func (MachineConfigPoolStatusConfiguration) SwaggerDoc() map[string]string { + return map_MachineConfigPoolStatusConfiguration +} + +var map_MachineConfigSpec = map[string]string{ + "": "MachineConfigSpec is the spec for MachineConfig", + "osImageURL": "OSImageURL specifies the remote location that will be used to fetch the OS.", + "baseOSExtensionsContainerImage": "BaseOSExtensionsContainerImage specifies the remote location that will be used to fetch the extensions container matching a new-format OS image", + "config": "Config is a Ignition Config object.", + "kernelArguments": "kernelArguments contains a list of kernel arguments to be added", + "extensions": "extensions contains a list of additional features that can be enabled on host", + "fips": "fips controls FIPS mode", + "kernelType": "kernelType contains which kernel we want to be running like default (traditional), realtime.", +} + +func (MachineConfigSpec) SwaggerDoc() map[string]string { + return map_MachineConfigSpec +} + +var map_NetworkInfo = map[string]string{ + "": "Network contains network related configuration", + "mtuMigration": "MTUMigration contains the MTU migration configuration.", +} + +func (NetworkInfo) SwaggerDoc() map[string]string { + return map_NetworkInfo +} + +// AUTO-GENERATED FUNCTIONS END HERE diff --git a/openapi/generated_openapi/zz_generated.openapi.go b/openapi/generated_openapi/zz_generated.openapi.go index 080881954da..40e00d13982 100644 --- a/openapi/generated_openapi/zz_generated.openapi.go +++ b/openapi/generated_openapi/zz_generated.openapi.go @@ -906,6 +906,10 @@ func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenA "github.com/openshift/api/operator/v1.LoggingDestination": schema_openshift_api_operator_v1_LoggingDestination(ref), "github.com/openshift/api/operator/v1.MTUMigration": schema_openshift_api_operator_v1_MTUMigration(ref), "github.com/openshift/api/operator/v1.MTUMigrationValues": schema_openshift_api_operator_v1_MTUMigrationValues(ref), + "github.com/openshift/api/operator/v1.MachineConfiguration": schema_openshift_api_operator_v1_MachineConfiguration(ref), + "github.com/openshift/api/operator/v1.MachineConfigurationList": schema_openshift_api_operator_v1_MachineConfigurationList(ref), + "github.com/openshift/api/operator/v1.MachineConfigurationSpec": schema_openshift_api_operator_v1_MachineConfigurationSpec(ref), + "github.com/openshift/api/operator/v1.MachineConfigurationStatus": schema_openshift_api_operator_v1_MachineConfigurationStatus(ref), "github.com/openshift/api/operator/v1.MyOperatorResource": schema_openshift_api_operator_v1_MyOperatorResource(ref), "github.com/openshift/api/operator/v1.MyOperatorResourceSpec": schema_openshift_api_operator_v1_MyOperatorResourceSpec(ref), "github.com/openshift/api/operator/v1.MyOperatorResourceStatus": schema_openshift_api_operator_v1_MyOperatorResourceStatus(ref), @@ -42896,7 +42900,6 @@ func schema_openshift_api_operator_v1_EtcdStatus(ref common.ReferenceCallback) c "latestAvailableRevision": { SchemaProps: spec.SchemaProps{ Description: "latestAvailableRevision is the deploymentID of the most recent deployment", - Default: 0, Type: []string{"integer"}, Format: "int32", }, @@ -42904,7 +42907,6 @@ func schema_openshift_api_operator_v1_EtcdStatus(ref common.ReferenceCallback) c "latestAvailableRevisionReason": { SchemaProps: spec.SchemaProps{ Description: "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", - Default: "", Type: []string{"string"}, Format: "", }, @@ -44970,7 +44972,6 @@ func schema_openshift_api_operator_v1_KubeAPIServerStatus(ref common.ReferenceCa "latestAvailableRevision": { SchemaProps: spec.SchemaProps{ Description: "latestAvailableRevision is the deploymentID of the most recent deployment", - Default: 0, Type: []string{"integer"}, Format: "int32", }, @@ -44978,7 +44979,6 @@ func schema_openshift_api_operator_v1_KubeAPIServerStatus(ref common.ReferenceCa "latestAvailableRevisionReason": { SchemaProps: spec.SchemaProps{ Description: "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", - Default: "", Type: []string{"string"}, Format: "", }, @@ -45262,7 +45262,6 @@ func schema_openshift_api_operator_v1_KubeControllerManagerStatus(ref common.Ref "latestAvailableRevision": { SchemaProps: spec.SchemaProps{ Description: "latestAvailableRevision is the deploymentID of the most recent deployment", - Default: 0, Type: []string{"integer"}, Format: "int32", }, @@ -45270,7 +45269,6 @@ func schema_openshift_api_operator_v1_KubeControllerManagerStatus(ref common.Ref "latestAvailableRevisionReason": { SchemaProps: spec.SchemaProps{ Description: "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", - Default: "", Type: []string{"string"}, Format: "", }, @@ -45532,7 +45530,6 @@ func schema_openshift_api_operator_v1_KubeSchedulerStatus(ref common.ReferenceCa "latestAvailableRevision": { SchemaProps: spec.SchemaProps{ Description: "latestAvailableRevision is the deploymentID of the most recent deployment", - Default: 0, Type: []string{"integer"}, Format: "int32", }, @@ -45540,7 +45537,6 @@ func schema_openshift_api_operator_v1_KubeSchedulerStatus(ref common.ReferenceCa "latestAvailableRevisionReason": { SchemaProps: spec.SchemaProps{ Description: "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", - Default: "", Type: []string{"string"}, Format: "", }, @@ -46010,6 +46006,274 @@ func schema_openshift_api_operator_v1_MTUMigrationValues(ref common.ReferenceCal } } +func schema_openshift_api_operator_v1_MachineConfiguration(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MachineConfiguration provides information to configure an operator to manage Machine Configuration.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Description: "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"), + }, + }, + "spec": { + SchemaProps: spec.SchemaProps{ + Description: "spec is the specification of the desired behavior of the Machine Config Operator", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/operator/v1.MachineConfigurationSpec"), + }, + }, + "status": { + SchemaProps: spec.SchemaProps{ + Description: "status is the most recently observed status of the Machine Config Operator", + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/operator/v1.MachineConfigurationStatus"), + }, + }, + }, + Required: []string{"metadata", "spec"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/operator/v1.MachineConfigurationSpec", "github.com/openshift/api/operator/v1.MachineConfigurationStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"}, + } +} + +func schema_openshift_api_operator_v1_MachineConfigurationList(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Description: "MachineConfigurationList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "kind": { + SchemaProps: spec.SchemaProps{ + Description: "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + Type: []string{"string"}, + Format: "", + }, + }, + "apiVersion": { + SchemaProps: spec.SchemaProps{ + Description: "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + Type: []string{"string"}, + Format: "", + }, + }, + "metadata": { + SchemaProps: spec.SchemaProps{ + Description: "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"), + }, + }, + "items": { + SchemaProps: spec.SchemaProps{ + Description: "Items contains the items", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/operator/v1.MachineConfiguration"), + }, + }, + }, + }, + }, + }, + Required: []string{"metadata", "items"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/operator/v1.MachineConfiguration", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"}, + } +} + +func schema_openshift_api_operator_v1_MachineConfigurationSpec(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "managementState": { + SchemaProps: spec.SchemaProps{ + Description: "managementState indicates whether and how the operator should manage the component", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "logLevel": { + SchemaProps: spec.SchemaProps{ + Description: "logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a simple way to manage coarse grained logging choices that operators have to interpret for their operands.\n\nValid values are: \"Normal\", \"Debug\", \"Trace\", \"TraceAll\". Defaults to \"Normal\".", + Type: []string{"string"}, + Format: "", + }, + }, + "operatorLogLevel": { + SchemaProps: spec.SchemaProps{ + Description: "operatorLogLevel is an intent based logging for the operator itself. It does not give fine grained control, but it is a simple way to manage coarse grained logging choices that operators have to interpret for themselves.\n\nValid values are: \"Normal\", \"Debug\", \"Trace\", \"TraceAll\". Defaults to \"Normal\".", + Type: []string{"string"}, + Format: "", + }, + }, + "unsupportedConfigOverrides": { + SchemaProps: spec.SchemaProps{ + Description: "unsupportedConfigOverrides overrides the final configuration that was computed by the operator. Red Hat does not support the use of this field. Misuse of this field could lead to unexpected behavior or conflict with other configuration options. Seek guidance from the Red Hat support before using this field. Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster.", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + }, + }, + "observedConfig": { + SchemaProps: spec.SchemaProps{ + Description: "observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because it is an input to the level for the operator", + Default: map[string]interface{}{}, + Ref: ref("k8s.io/apimachinery/pkg/runtime.RawExtension"), + }, + }, + "forceRedeploymentReason": { + SchemaProps: spec.SchemaProps{ + Description: "forceRedeploymentReason can be used to force the redeployment of the operand by providing a unique string. This provides a mechanism to kick a previously failed deployment and provide a reason why you think it will work this time instead of failing again on the same config.", + Default: "", + Type: []string{"string"}, + Format: "", + }, + }, + "failedRevisionLimit": { + SchemaProps: spec.SchemaProps{ + Description: "failedRevisionLimit is the number of failed static pod installer revisions to keep on disk and in the api -1 = unlimited, 0 or unset = 5 (default)", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "succeededRevisionLimit": { + SchemaProps: spec.SchemaProps{ + Description: "succeededRevisionLimit is the number of successful static pod installer revisions to keep on disk and in the api -1 = unlimited, 0 or unset = 5 (default)", + Type: []string{"integer"}, + Format: "int32", + }, + }, + }, + Required: []string{"managementState", "forceRedeploymentReason"}, + }, + }, + Dependencies: []string{ + "k8s.io/apimachinery/pkg/runtime.RawExtension"}, + } +} + +func schema_openshift_api_operator_v1_MachineConfigurationStatus(ref common.ReferenceCallback) common.OpenAPIDefinition { + return common.OpenAPIDefinition{ + Schema: spec.Schema{ + SchemaProps: spec.SchemaProps{ + Type: []string{"object"}, + Properties: map[string]spec.Schema{ + "observedGeneration": { + SchemaProps: spec.SchemaProps{ + Description: "observedGeneration is the last generation change you've dealt with", + Type: []string{"integer"}, + Format: "int64", + }, + }, + "conditions": { + SchemaProps: spec.SchemaProps{ + Description: "conditions is a list of conditions and their status", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/operator/v1.OperatorCondition"), + }, + }, + }, + }, + }, + "version": { + SchemaProps: spec.SchemaProps{ + Description: "version is the level this availability applies to", + Type: []string{"string"}, + Format: "", + }, + }, + "readyReplicas": { + SchemaProps: spec.SchemaProps{ + Description: "readyReplicas indicates how many replicas are ready and at the desired state", + Default: 0, + Type: []string{"integer"}, + Format: "int32", + }, + }, + "generations": { + SchemaProps: spec.SchemaProps{ + Description: "generations are used to determine when an item needs to be reconciled or has changed in a way that needs a reaction.", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/operator/v1.GenerationStatus"), + }, + }, + }, + }, + }, + "latestAvailableRevision": { + SchemaProps: spec.SchemaProps{ + Description: "latestAvailableRevision is the deploymentID of the most recent deployment", + Type: []string{"integer"}, + Format: "int32", + }, + }, + "latestAvailableRevisionReason": { + SchemaProps: spec.SchemaProps{ + Description: "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", + Type: []string{"string"}, + Format: "", + }, + }, + "nodeStatuses": { + SchemaProps: spec.SchemaProps{ + Description: "nodeStatuses track the deployment values and errors across individual nodes", + Type: []string{"array"}, + Items: &spec.SchemaOrArray{ + Schema: &spec.Schema{ + SchemaProps: spec.SchemaProps{ + Default: map[string]interface{}{}, + Ref: ref("github.com/openshift/api/operator/v1.NodeStatus"), + }, + }, + }, + }, + }, + }, + Required: []string{"readyReplicas"}, + }, + }, + Dependencies: []string{ + "github.com/openshift/api/operator/v1.GenerationStatus", "github.com/openshift/api/operator/v1.NodeStatus", "github.com/openshift/api/operator/v1.OperatorCondition"}, + } +} + func schema_openshift_api_operator_v1_MyOperatorResource(ref common.ReferenceCallback) common.OpenAPIDefinition { return common.OpenAPIDefinition{ Schema: spec.Schema{ @@ -48949,7 +49213,6 @@ func schema_openshift_api_operator_v1_StaticPodOperatorStatus(ref common.Referen "latestAvailableRevision": { SchemaProps: spec.SchemaProps{ Description: "latestAvailableRevision is the deploymentID of the most recent deployment", - Default: 0, Type: []string{"integer"}, Format: "int32", }, @@ -48957,7 +49220,6 @@ func schema_openshift_api_operator_v1_StaticPodOperatorStatus(ref common.Referen "latestAvailableRevisionReason": { SchemaProps: spec.SchemaProps{ Description: "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", - Default: "", Type: []string{"string"}, Format: "", }, diff --git a/openapi/openapi.json b/openapi/openapi.json index 6e85cae1c21..b917b309f2b 100644 --- a/openapi/openapi.json +++ b/openapi/openapi.json @@ -25086,13 +25086,11 @@ "latestAvailableRevision": { "description": "latestAvailableRevision is the deploymentID of the most recent deployment", "type": "integer", - "format": "int32", - "default": 0 + "format": "int32" }, "latestAvailableRevisionReason": { "description": "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", - "type": "string", - "default": "" + "type": "string" }, "nodeStatuses": { "description": "nodeStatuses track the deployment values and errors across individual nodes", @@ -26318,13 +26316,11 @@ "latestAvailableRevision": { "description": "latestAvailableRevision is the deploymentID of the most recent deployment", "type": "integer", - "format": "int32", - "default": 0 + "format": "int32" }, "latestAvailableRevisionReason": { "description": "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", - "type": "string", - "default": "" + "type": "string" }, "nodeStatuses": { "description": "nodeStatuses track the deployment values and errors across individual nodes", @@ -26501,13 +26497,11 @@ "latestAvailableRevision": { "description": "latestAvailableRevision is the deploymentID of the most recent deployment", "type": "integer", - "format": "int32", - "default": 0 + "format": "int32" }, "latestAvailableRevisionReason": { "description": "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", - "type": "string", - "default": "" + "type": "string" }, "nodeStatuses": { "description": "nodeStatuses track the deployment values and errors across individual nodes", @@ -26670,13 +26664,11 @@ "latestAvailableRevision": { "description": "latestAvailableRevision is the deploymentID of the most recent deployment", "type": "integer", - "format": "int32", - "default": 0 + "format": "int32" }, "latestAvailableRevisionReason": { "description": "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", - "type": "string", - "default": "" + "type": "string" }, "nodeStatuses": { "description": "nodeStatuses track the deployment values and errors across individual nodes", @@ -26974,6 +26966,173 @@ } } }, + "com.github.openshift.api.operator.v1.MachineConfiguration": { + "description": "MachineConfiguration provides information to configure an operator to manage Machine Configuration.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", + "type": "object", + "required": [ + "metadata", + "spec" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta" + }, + "spec": { + "description": "spec is the specification of the desired behavior of the Machine Config Operator", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.operator.v1.MachineConfigurationSpec" + }, + "status": { + "description": "status is the most recently observed status of the Machine Config Operator", + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.operator.v1.MachineConfigurationStatus" + } + } + }, + "com.github.openshift.api.operator.v1.MachineConfigurationList": { + "description": "MachineConfigurationList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", + "type": "object", + "required": [ + "metadata", + "items" + ], + "properties": { + "apiVersion": { + "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources", + "type": "string" + }, + "items": { + "description": "Items contains the items", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.operator.v1.MachineConfiguration" + } + }, + "kind": { + "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds", + "type": "string" + }, + "metadata": { + "description": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.ListMeta" + } + } + }, + "com.github.openshift.api.operator.v1.MachineConfigurationSpec": { + "type": "object", + "required": [ + "managementState", + "forceRedeploymentReason" + ], + "properties": { + "failedRevisionLimit": { + "description": "failedRevisionLimit is the number of failed static pod installer revisions to keep on disk and in the api -1 = unlimited, 0 or unset = 5 (default)", + "type": "integer", + "format": "int32" + }, + "forceRedeploymentReason": { + "description": "forceRedeploymentReason can be used to force the redeployment of the operand by providing a unique string. This provides a mechanism to kick a previously failed deployment and provide a reason why you think it will work this time instead of failing again on the same config.", + "type": "string", + "default": "" + }, + "logLevel": { + "description": "logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a simple way to manage coarse grained logging choices that operators have to interpret for their operands.\n\nValid values are: \"Normal\", \"Debug\", \"Trace\", \"TraceAll\". Defaults to \"Normal\".", + "type": "string" + }, + "managementState": { + "description": "managementState indicates whether and how the operator should manage the component", + "type": "string", + "default": "" + }, + "observedConfig": { + "description": "observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because it is an input to the level for the operator", + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension" + }, + "operatorLogLevel": { + "description": "operatorLogLevel is an intent based logging for the operator itself. It does not give fine grained control, but it is a simple way to manage coarse grained logging choices that operators have to interpret for themselves.\n\nValid values are: \"Normal\", \"Debug\", \"Trace\", \"TraceAll\". Defaults to \"Normal\".", + "type": "string" + }, + "succeededRevisionLimit": { + "description": "succeededRevisionLimit is the number of successful static pod installer revisions to keep on disk and in the api -1 = unlimited, 0 or unset = 5 (default)", + "type": "integer", + "format": "int32" + }, + "unsupportedConfigOverrides": { + "description": "unsupportedConfigOverrides overrides the final configuration that was computed by the operator. Red Hat does not support the use of this field. Misuse of this field could lead to unexpected behavior or conflict with other configuration options. Seek guidance from the Red Hat support before using this field. Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster.", + "default": {}, + "$ref": "#/definitions/io.k8s.apimachinery.pkg.runtime.RawExtension" + } + } + }, + "com.github.openshift.api.operator.v1.MachineConfigurationStatus": { + "type": "object", + "required": [ + "readyReplicas" + ], + "properties": { + "conditions": { + "description": "conditions is a list of conditions and their status", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.operator.v1.OperatorCondition" + } + }, + "generations": { + "description": "generations are used to determine when an item needs to be reconciled or has changed in a way that needs a reaction.", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.operator.v1.GenerationStatus" + } + }, + "latestAvailableRevision": { + "description": "latestAvailableRevision is the deploymentID of the most recent deployment", + "type": "integer", + "format": "int32" + }, + "latestAvailableRevisionReason": { + "description": "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", + "type": "string" + }, + "nodeStatuses": { + "description": "nodeStatuses track the deployment values and errors across individual nodes", + "type": "array", + "items": { + "default": {}, + "$ref": "#/definitions/com.github.openshift.api.operator.v1.NodeStatus" + } + }, + "observedGeneration": { + "description": "observedGeneration is the last generation change you've dealt with", + "type": "integer", + "format": "int64" + }, + "readyReplicas": { + "description": "readyReplicas indicates how many replicas are ready and at the desired state", + "type": "integer", + "format": "int32", + "default": 0 + }, + "version": { + "description": "version is the level this availability applies to", + "type": "string" + } + } + }, "com.github.openshift.api.operator.v1.MyOperatorResource": { "description": "MyOperatorResource is an example operator configuration type\n\nCompatibility 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.", "type": "object", @@ -28719,13 +28878,11 @@ "latestAvailableRevision": { "description": "latestAvailableRevision is the deploymentID of the most recent deployment", "type": "integer", - "format": "int32", - "default": 0 + "format": "int32" }, "latestAvailableRevisionReason": { "description": "latestAvailableRevisionReason describe the detailed reason for the most recent deployment", - "type": "string", - "default": "" + "type": "string" }, "nodeStatuses": { "description": "nodeStatuses track the deployment values and errors across individual nodes", diff --git a/operator/v1/0000_80_machine-config-operator_01_config.crd.yaml b/operator/v1/0000_80_machine-config-operator_01_config.crd.yaml index 52e7aa38f6d..61ef7740e7a 100644 --- a/operator/v1/0000_80_machine-config-operator_01_config.crd.yaml +++ b/operator/v1/0000_80_machine-config-operator_01_config.crd.yaml @@ -18,7 +18,7 @@ spec: - name: v1 schema: openAPIV3Schema: - description: "MachineConfiguration provides information to configure an operator to manage machine-config-operator. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)." + description: "MachineConfiguration provides information to configure an operator to manage Machine Configuration. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)." type: object required: - spec @@ -32,7 +32,7 @@ spec: metadata: type: object spec: - description: spec is the specification of the desired behavior of the Kubernetes API Server + description: spec is the specification of the desired behavior of the Machine Config Operator type: object properties: failedRevisionLimit: @@ -81,7 +81,7 @@ spec: nullable: true x-kubernetes-preserve-unknown-fields: true status: - description: status is the most recently observed status of the Kubernetes API Server + description: status is the most recently observed status of the Machine Config Operator type: object properties: conditions: diff --git a/operator/v1/zz_generated.deepcopy.go b/operator/v1/zz_generated.deepcopy.go index a0f4c1a8975..f93762e4a0e 100644 --- a/operator/v1/zz_generated.deepcopy.go +++ b/operator/v1/zz_generated.deepcopy.go @@ -2890,6 +2890,101 @@ func (in *MTUMigrationValues) DeepCopy() *MTUMigrationValues { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfiguration) DeepCopyInto(out *MachineConfiguration) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfiguration. +func (in *MachineConfiguration) DeepCopy() *MachineConfiguration { + if in == nil { + return nil + } + out := new(MachineConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MachineConfiguration) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigurationList) DeepCopyInto(out *MachineConfigurationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]MachineConfiguration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigurationList. +func (in *MachineConfigurationList) DeepCopy() *MachineConfigurationList { + if in == nil { + return nil + } + out := new(MachineConfigurationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *MachineConfigurationList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigurationSpec) DeepCopyInto(out *MachineConfigurationSpec) { + *out = *in + in.StaticPodOperatorSpec.DeepCopyInto(&out.StaticPodOperatorSpec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigurationSpec. +func (in *MachineConfigurationSpec) DeepCopy() *MachineConfigurationSpec { + if in == nil { + return nil + } + out := new(MachineConfigurationSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MachineConfigurationStatus) DeepCopyInto(out *MachineConfigurationStatus) { + *out = *in + in.StaticPodOperatorStatus.DeepCopyInto(&out.StaticPodOperatorStatus) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigurationStatus. +func (in *MachineConfigurationStatus) DeepCopy() *MachineConfigurationStatus { + if in == nil { + return nil + } + out := new(MachineConfigurationStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *MyOperatorResource) DeepCopyInto(out *MyOperatorResource) { *out = *in diff --git a/operator/v1/zz_generated.swagger_doc_generated.go b/operator/v1/zz_generated.swagger_doc_generated.go index f0becd86101..adf062fd28a 100644 --- a/operator/v1/zz_generated.swagger_doc_generated.go +++ b/operator/v1/zz_generated.swagger_doc_generated.go @@ -1243,6 +1243,27 @@ func (KubeStorageVersionMigratorList) SwaggerDoc() map[string]string { return map_KubeStorageVersionMigratorList } +var map_MachineConfiguration = map[string]string{ + "": "MachineConfiguration provides information to configure an operator to manage Machine Configuration.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", + "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "spec": "spec is the specification of the desired behavior of the Machine Config Operator", + "status": "status is the most recently observed status of the Machine Config Operator", +} + +func (MachineConfiguration) SwaggerDoc() map[string]string { + return map_MachineConfiguration +} + +var map_MachineConfigurationList = map[string]string{ + "": "MachineConfigurationList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", + "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "items": "Items contains the items", +} + +func (MachineConfigurationList) SwaggerDoc() map[string]string { + return map_MachineConfigurationList +} + var map_AdditionalNetworkDefinition = map[string]string{ "": "AdditionalNetworkDefinition configures an extra network that is available but not created by default. Instead, pods must request them by name. type must be specified, along with exactly one \"Config\" that matches the type.", "type": "type is the type of network The supported values are NetworkTypeRaw, NetworkTypeSimpleMacvlan",