From 5db4c3bc792cfe86788f21fbf4d9ab5a73cef689e90469fb9cde572a8f2238c9 Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Mon, 17 Mar 2025 12:39:42 +0100 Subject: [PATCH 1/5] Bump Rancher, RKE2, and k3s versions in release-manifest This PR bumps Rancher, RKE2, and k3s versions to align them with SV baseline to ensure the upgrade validation is done using the correct versions. Versions for traefik and traefik-crd Helm Charts are still pending to be verified. --- release-manifest-image/release_manifest.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/release-manifest-image/release_manifest.yaml b/release-manifest-image/release_manifest.yaml index 55696bd..5bf17c9 100644 --- a/release-manifest-image/release_manifest.yaml +++ b/release-manifest-image/release_manifest.yaml @@ -7,7 +7,7 @@ spec: components: kubernetes: k3s: - version: v1.32.1+k3s1 + version: v1.32.2+k3s1 coreComponents: - name: traefik-crd version: 27.0.201+up27.0.2 @@ -18,7 +18,7 @@ spec: - name: local-path-provisioner containers: - name: local-path-provisioner - image: rancher/local-path-provisioner:v0.0.30 + image: rancher/local-path-provisioner:v0.0.31 type: Deployment - name: coredns containers: @@ -34,28 +34,28 @@ spec: version: v1.32.1+rke2r1 coreComponents: - name: rke2-cilium - version: 1.16.501 + version: 1.17.000 type: HelmChart - name: rke2-canal - version: v3.29.1-build2025011000 + version: v3.29.2-build2025021800 type: HelmChart - name: rke2-calico-crd version: v3.29.101 type: HelmChart - name: rke2-calico - version: v3.29.101 + version: v3.29.200 type: HelmChart - name: rke2-coredns version: 1.36.102 type: HelmChart - name: rke2-ingress-nginx - version: 4.12.003 + version: 4.12.005 type: HelmChart - name: rke2-metrics-server version: 3.12.200 type: HelmChart - name: rancher-vsphere-csi - version: 3.3.1-rancher800 + version: 3.3.1-rancher900 type: HelmChart - name: rancher-vsphere-cpi version: 1.10.000 @@ -64,7 +64,7 @@ spec: version: 0.2.900 type: HelmChart - name: harvester-csi-driver - version: 0.1.2200 + version: 0.1.2300 type: HelmChart - name: rke2-snapshot-controller-crd version: 4.0.002 @@ -89,7 +89,7 @@ spec: - prettyName: Rancher releaseName: rancher chart: rancher - version: 2.11.0-alpha7 + version: 2.11.0-alpha11 repository: https://releases.rancher.com/server-charts/alpha values: postDelete: From dc19c71706a52db0ec2aec73c6a46033bbb595288aa2e1db26c1e49d8eaeca15 Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Mon, 17 Mar 2025 12:48:50 +0100 Subject: [PATCH 2/5] Update Helm Chart versions for traefik and traefik-crd --- release-manifest-image/release_manifest.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release-manifest-image/release_manifest.yaml b/release-manifest-image/release_manifest.yaml index 5bf17c9..112301e 100644 --- a/release-manifest-image/release_manifest.yaml +++ b/release-manifest-image/release_manifest.yaml @@ -10,10 +10,10 @@ spec: version: v1.32.2+k3s1 coreComponents: - name: traefik-crd - version: 27.0.201+up27.0.2 + version: 34.2.1+up34.2.0 type: HelmChart - name: traefik - version: 27.0.201+up27.0.2 + version: 34.2.1+up34.2.0 type: HelmChart - name: local-path-provisioner containers: From e83a9cea3cac7bf0614c6e37ae35e3c81a246380e703b8bae4636b265fce709d Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Thu, 13 Mar 2025 12:11:08 +0000 Subject: [PATCH 3/5] baremetal-operator: update to 0.9.0 --- baremetal-operator/_service | 2 +- baremetal-operator/baremetal-operator.spec | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/baremetal-operator/_service b/baremetal-operator/_service index c45ecc3..5ec987e 100644 --- a/baremetal-operator/_service +++ b/baremetal-operator/_service @@ -2,7 +2,7 @@ https://github.com/metal3-io/baremetal-operator git - v0.8.0 + v0.9.0 _auto_ @PARENT_TAG@ enable diff --git a/baremetal-operator/baremetal-operator.spec b/baremetal-operator/baremetal-operator.spec index 94d7ec5..9e2f10a 100644 --- a/baremetal-operator/baremetal-operator.spec +++ b/baremetal-operator/baremetal-operator.spec @@ -17,14 +17,14 @@ Name: baremetal-operator -Version: 0.8.0 -Release: 0.8.0 +Version: 0.9.0 +Release: 0 Summary: Implements a Kubernetes API for managing bare metal hosts License: Apache-2.0 URL: https://github.com/metal3-io/baremetal-operator Source: baremetal-operator-%{version}.tar Source1: vendor.tar.gz -BuildRequires: golang(API) = 1.22 +BuildRequires: golang(API) = 1.23 ExcludeArch: s390 ExcludeArch: %{ix86} From c68c882d357c6b996f94e124115a87b4547698cc8a2aa18e44c3cdfa719ecee3 Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Thu, 13 Mar 2025 12:15:15 +0000 Subject: [PATCH 4/5] metal3-chart: update to 0.10.0 Aligns with https://github.com/suse-edge/charts/pull/191 --- metal3-chart/Chart.yaml | 10 +- .../charts/baremetal-operator/Chart.yaml | 4 +- .../crds/customresource-baremetalhosts.yaml | 752 ++++++++++-------- .../customresource-bmceventsubscriptions.yaml | 24 +- .../crds/customresource-dataimages.yaml | 22 +- .../crds/customresource-firmwareschemas.yaml | 24 +- .../crds/customresource-hardwaredata.yaml | 61 +- ...customresource-hostfirmwarecomponents.yaml | 72 +- .../customresource-hostfirmwaresettings.yaml | 70 +- .../customresource-hostupdatepolicies.yaml | 62 ++ .../customresource-preprovisioningimages.yaml | 91 +-- .../templates/clusterrole-manager.yaml | 20 + .../templates/deployment.yaml | 18 +- .../templates/metrics_auth_role.yaml | 19 + .../templates/metrics_auth_role_binding.yaml | 14 + .../templates/metrics_reader_role.yaml | 11 + .../templates/metrics_service.yaml | 14 + .../charts/baremetal-operator/values.yaml | 6 +- 18 files changed, 776 insertions(+), 518 deletions(-) create mode 100644 metal3-chart/charts/baremetal-operator/crds/customresource-hostupdatepolicies.yaml create mode 100644 metal3-chart/charts/baremetal-operator/templates/metrics_auth_role.yaml create mode 100644 metal3-chart/charts/baremetal-operator/templates/metrics_auth_role_binding.yaml create mode 100644 metal3-chart/charts/baremetal-operator/templates/metrics_reader_role.yaml create mode 100644 metal3-chart/charts/baremetal-operator/templates/metrics_service.yaml diff --git a/metal3-chart/Chart.yaml b/metal3-chart/Chart.yaml index 827662f..486327d 100644 --- a/metal3-chart/Chart.yaml +++ b/metal3-chart/Chart.yaml @@ -1,12 +1,12 @@ -#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.9.4 -#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.9.4-%RELEASE% +#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.10.0 +#!BuildTag: %%IMG_PREFIX%%metal3-chart:%%CHART_MAJOR%%.0.0_up0.10.0-%RELEASE% apiVersion: v2 -appVersion: 0.9.4 +appVersion: 0.10.0 dependencies: - alias: metal3-baremetal-operator name: baremetal-operator repository: file://./charts/baremetal-operator - version: 0.6.1 + version: 0.9.0 - alias: metal3-ironic name: ironic repository: file://./charts/ironic @@ -25,4 +25,4 @@ description: A Helm chart that installs all of the dependencies needed for Metal icon: https://github.com/cncf/artwork/raw/master/projects/metal3/icon/color/metal3-icon-color.svg name: metal3 type: application -version: "%%CHART_MAJOR%%.0.0+up0.9.4" +version: "%%CHART_MAJOR%%.0.0+up0.10.0" diff --git a/metal3-chart/charts/baremetal-operator/Chart.yaml b/metal3-chart/charts/baremetal-operator/Chart.yaml index 9fa5be0..ffc076a 100644 --- a/metal3-chart/charts/baremetal-operator/Chart.yaml +++ b/metal3-chart/charts/baremetal-operator/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 -appVersion: 0.8.0 +appVersion: 0.9.0 description: A Helm chart for baremetal-operator, used by Metal3 name: baremetal-operator type: application -version: 0.6.1 +version: 0.9.0 diff --git a/metal3-chart/charts/baremetal-operator/crds/customresource-baremetalhosts.yaml b/metal3-chart/charts/baremetal-operator/crds/customresource-baremetalhosts.yaml index 6b37062..9c28d5c 100644 --- a/metal3-chart/charts/baremetal-operator/crds/customresource-baremetalhosts.yaml +++ b/metal3-chart/charts/baremetal-operator/crds/customresource-baremetalhosts.yaml @@ -4,7 +4,7 @@ kind: CustomResourceDefinition metadata: annotations: cert-manager.io/inject-ca-from: baremetal-operator-system/baremetal-operator-serving-cert - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.16.5 labels: clusterctl.cluster.x-k8s.io: "" name: baremetalhosts.metal3.io @@ -57,14 +57,19 @@ spec: description: BareMetalHost is the Schema for the baremetalhosts API 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' + 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' + 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: type: object @@ -72,157 +77,191 @@ spec: description: BareMetalHostSpec defines the desired state of BareMetalHost. properties: architecture: - description: CPU architecture of the host, e.g. "x86_64" or "aarch64". - If unset, eventually populated by inspection. + description: |- + CPU architecture of the host, e.g. "x86_64" or "aarch64". If unset, + eventually populated by inspection. type: string automatedCleaningMode: default: metadata - description: When set to disabled, automated cleaning will be avoided + description: |- + When set to disabled, automated cleaning will be skipped during provisioning and deprovisioning. enum: - metadata - disabled type: string bmc: - description: How do we connect to the BMC? + description: |- + How do we connect to the BMC (Baseboard Management Controller) on + the host? properties: address: - description: Address holds the URL for accessing the controller - on the network. + description: |- + Address holds the URL for accessing the controller on the network. + The scheme part designates the driver to use with the host. type: string credentialsName: - description: The name of the secret containing the BMC credentials - (requires keys "username" and "password"). + description: |- + The name of the secret containing the BMC credentials (requires + keys "username" and "password"). type: string disableCertificateVerification: - description: DisableCertificateVerification disables verification - of server certificates when using HTTPS to connect to the BMC. - This is required when the server certificate is self-signed, - but is insecure because it allows a man-in-the-middle to intercept - the connection. + description: |- + DisableCertificateVerification disables verification of server + certificates when using HTTPS to connect to the BMC. This is + required when the server certificate is self-signed, but is + insecure because it allows a man-in-the-middle to intercept the + connection. type: boolean required: - address - credentialsName type: object bootMACAddress: - description: Which MAC address will PXE boot? This is optional for - some types, but required for libvirt VMs driven by vbmc. + description: |- + The MAC address of the NIC used for provisioning the host. In case + of network boot, this is the MAC address of the PXE booting + interface. The MAC address of the BMC must never be used here! pattern: '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}' type: string bootMode: - description: Select the method of initializing the hardware during - boot. Defaults to UEFI. + description: |- + Select the method of initializing the hardware during boot. + Defaults to UEFI. Legacy boot should only be used for hardware that + does not support UEFI correctly. Set to UEFISecureBoot to turn + secure boot on automatically after provisioning. enum: - UEFI - UEFISecureBoot - legacy type: string consumerRef: - description: ConsumerRef can be used to store information about something - that is using a host. When it is not empty, the host is considered - "in use". + description: |- + ConsumerRef can be used to store information about something + that is using a host. When it is not empty, the host is + considered "in use". The common use case is a link to a Machine + resource when the host is used by Cluster API. properties: apiVersion: description: API version of the referent. type: string fieldPath: - description: 'If referring to a piece of an object instead of - an entire object, this string should contain a valid JSON/Go - field access statement, such as desiredState.manifest.containers[2]. - For example, if the object reference is to a container within - a pod, this would take on a value like: "spec.containers{name}" - (where "name" refers to the name of the container that triggered - the event) or if no container name is specified "spec.containers[2]" - (container with index 2 in this pod). This syntax is chosen - only to have some well-defined way of referencing a part of - an object. TODO: this design is not final and this field is - subject to change in the future.' + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. type: string kind: - description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string name: - description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names' + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names type: string namespace: - description: 'Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/' + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ type: string resourceVersion: - description: 'Specific resourceVersion to which this reference - is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency' + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency type: string uid: - description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids' + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids type: string type: object x-kubernetes-map-type: atomic customDeploy: - description: A custom deploy procedure. + description: |- + A custom deploy procedure. This is an advanced feature that allows + using a custom deploy step provided by a site-specific deployment + ramdisk. Most users will want to use "image" instead. Setting this + field triggers provisioning. properties: method: - description: Custom deploy method name. This name is specific - to the deploy ramdisk used. If you don't have a custom deploy - ramdisk, you shouldn't use CustomDeploy. + description: |- + Custom deploy method name. + This name is specific to the deploy ramdisk used. If you don't have + a custom deploy ramdisk, you shouldn't use CustomDeploy. type: string required: - method type: object description: description: Description is a human-entered text used to help identify - the host + the host. type: string externallyProvisioned: - description: ExternallyProvisioned means something else is managing - the image running on the host and the operator should only manage - the power status and hardware inventory inspection. If the Image - field is filled in, this field is ignored. + description: |- + ExternallyProvisioned means something else has provisioned the + image running on the host, and the operator should only manage + the power status. This field is used for integration with already + provisioned hosts and when pivoting hosts between clusters. If + unsure, leave this field as false. type: boolean firmware: - description: BIOS configuration for bare metal server + description: |- + Firmware (BIOS) configuration for bare metal server. If set, the + requested settings will be applied before the host is provisioned. + Only some vendor drivers support this field. An alternative is to + use HostFirmwareSettings resources that allow changing arbitrary + values and support the generic Redfish-based drivers. properties: simultaneousMultithreadingEnabled: - description: 'Allows a single physical processor core to appear - as several logical processors. This supports following options: - true, false.' + description: Allows a single physical processor core to appear + as several logical processors. enum: - true - false type: boolean sriovEnabled: - description: 'SR-IOV support enables a hypervisor to create virtual + description: SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing performance. - This supports following options: true, false.' enum: - true - false type: boolean virtualizationEnabled: - description: 'Supports the virtualization of platform hardware. - This supports following options: true, false.' + description: Supports the virtualization of platform hardware. enum: - true - false type: boolean type: object hardwareProfile: - description: What is the name of the hardware profile for this host? - Hardware profiles are deprecated and should not be used. Use the - separate fields Architecture and RootDeviceHints instead. Set to - "empty" to prepare for the future version of the API without hardware - profiles. + description: |- + What is the name of the hardware profile for this host? + Hardware profiles are deprecated and should not be used. + Use the separate fields Architecture and RootDeviceHints instead. + Set to "empty" to prepare for the future version of the API + without hardware profiles. type: string image: - description: Image holds the details of the image to be provisioned. + description: |- + Image holds the details of the image to be provisioned. Populating + the image will cause the host to start provisioning. properties: checksum: - description: Checksum is the checksum for the image. + description: |- + Checksum is the checksum for the image. Required for all formats + except for "live-iso". type: string checksumType: - description: ChecksumType is the checksum algorithm for the image, - e.g md5, sha256 or sha512. The special value "auto" can be used - to detect the algorithm from the checksum. If missing, MD5 is - used. If in doubt, use "auto". + description: |- + ChecksumType is the checksum algorithm for the image, e.g md5, sha256 or sha512. + The special value "auto" can be used to detect the algorithm from the checksum. + If missing, MD5 is used. If in doubt, use "auto". enum: - md5 - sha256 @@ -230,11 +269,10 @@ spec: - auto type: string format: - description: DiskFormat contains the format of the image (raw, - qcow2, ...). Needs to be set to raw for raw images streaming. - Note live-iso means an iso referenced by the url will be live-booted - and not deployed to disk, and in this case the checksum options - are not required and if specified will be ignored. + description: |- + Format contains the format of the image (raw, qcow2, ...). + When set to "live-iso", an ISO 9660 image referenced by the url will + be live-booted and not deployed to disk. enum: - raw - qcow2 @@ -249,9 +287,10 @@ spec: - url type: object metaData: - description: MetaData holds the reference to the Secret containing - host metadata (e.g. meta_data.json) which is passed to the Config - Drive. + description: |- + MetaData holds the reference to the Secret containing host metadata + which is passed to the Config Drive. By default, metadata will be + generated for the host, so most users do not need to set this field. properties: name: description: name is unique within a namespace to reference a @@ -264,9 +303,10 @@ spec: type: object x-kubernetes-map-type: atomic networkData: - description: NetworkData holds the reference to the Secret containing - network configuration (e.g content of network_data.json) which is - passed to the Config Drive. + description: |- + NetworkData holds the reference to the Secret containing network + configuration which is passed to the Config Drive and interpreted + by the first boot software such as cloud-init. properties: name: description: name is unique within a namespace to reference a @@ -279,31 +319,41 @@ spec: type: object x-kubernetes-map-type: atomic online: - description: Should the server be online? + description: |- + Should the host be powered on? If the host is currently in a stable + state (e.g. provisioned), its power state will be forced to match + this value. type: boolean preprovisioningNetworkDataName: - description: PreprovisioningNetworkDataName is the name of the Secret - in the local namespace containing network configuration (e.g content - of network_data.json) which is passed to the preprovisioning image, - and to the Config Drive if not overridden by specifying NetworkData. + description: |- + PreprovisioningNetworkDataName is the name of the Secret in the + local namespace containing network configuration which is passed to + the preprovisioning image, and to the Config Drive if not overridden + by specifying NetworkData. type: string raid: - description: RAID configuration for bare metal server + description: |- + RAID configuration for bare metal server. If set, the RAID settings + will be applied before the host is provisioned. If not, the current + settings will not be modified. Only one of the sub-fields + hardwareRAIDVolumes and softwareRAIDVolumes can be set at the same + time. properties: hardwareRAIDVolumes: - description: The list of logical disks for hardware RAID, if rootDeviceHints - isn't used, first volume is root volume. You can set the value - of this field to `[]` to clear all the hardware RAID configurations. + description: |- + The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume. + You can set the value of this field to `[]` to clear all the hardware RAID configurations. items: description: HardwareRAIDVolume defines the desired configuration of volume in hardware RAID. properties: controller: - description: The name of the RAID controller to use + description: The name of the RAID controller to use. type: string level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' + description: |- + RAID level for the logical disk. The following levels are supported: + 0, 1, 2, 5, 6, 1+0, 5+0, 6+0 (drivers may support only some of them). enum: - "0" - "1" @@ -315,32 +365,35 @@ spec: - 6+0 type: string name: - description: Name of the volume. Should be unique within - the Node. If not specified, volume name will be auto-generated. + description: |- + Name of the volume. Should be unique within the Node. If not + specified, the name will be auto-generated. maxLength: 64 type: string numberOfPhysicalDisks: - description: Integer, number of physical disks to use for - the logical disk. Defaults to minimum number of disks - required for the particular RAID level. + description: |- + Integer, number of physical disks to use for the logical disk. + Defaults to minimum number of disks required for the particular RAID + level. minimum: 1 type: integer physicalDisks: - description: Optional list of physical disk names to be - used for the Hardware RAID volumes. The disk names are - interpreted by the Hardware RAID controller, and the format - is hardware specific. + description: |- + Optional list of physical disk names to be used for the hardware RAID volumes. The disk names are interpreted + by the hardware RAID controller, and the format is hardware specific. items: type: string type: array rotational: - description: Select disks with only rotational or solid-state - storage + description: |- + Select disks with only rotational (if set to true) or solid-state + (if set to false) storage. By default, any disks can be picked. type: boolean sizeGibibytes: - description: Size (Integer) of the logical disk to be created - in GiB. If unspecified or set be 0, the maximum capacity - of disk will be used for logical disk. + description: |- + Size of the logical disk to be created in GiB. If unspecified or + set be 0, the maximum capacity of disk will be used for logical + disk. minimum: 0 type: integer required: @@ -349,23 +402,23 @@ spec: nullable: true type: array softwareRAIDVolumes: - description: The list of logical disks for software RAID, if rootDeviceHints - isn't used, first volume is root volume. If HardwareRAIDVolumes - is set this item will be invalid. The number of created Software - RAID devices must be 1 or 2. If there is only one Software RAID - device, it has to be a RAID-1. If there are two, the first one - has to be a RAID-1, while the RAID level for the second one - can be 0, 1, or 1+0. As the first RAID device will be the deployment - device, enforcing a RAID-1 reduces the risk of ending up with - a non-booting node in case of a disk failure. Software RAID - will always be deleted. + description: |- + The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume. + If HardwareRAIDVolumes is set this item will be invalid. + The number of created Software RAID devices must be 1 or 2. + If there is only one Software RAID device, it has to be a RAID-1. + If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. + As the first RAID device will be the deployment device, + enforcing a RAID-1 reduces the risk of ending up with a non-booting host in case of a disk failure. + Software RAID will always be deleted. items: description: SoftwareRAIDVolume defines the desired configuration of volume in software RAID. properties: level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;1+0.' + description: |- + RAID level for the logical disk. The following levels are supported: + 0, 1 and 1+0. enum: - "0" - "1" @@ -375,60 +428,66 @@ spec: description: A list of device hints, the number of items should be greater than or equal to 2. items: - description: RootDeviceHints holds the hints for specifying - the storage location for the root filesystem for the - image. + description: |- + RootDeviceHints holds the hints for specifying the storage location + for the root filesystem for the image. properties: deviceName: - description: A Linux device name like "/dev/vda", - or a by-path link to it like "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". - The hint must match the actual value exactly. + description: |- + A Linux device name like "/dev/vda", or a by-path link to it like + "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match + the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The - hint must match the actual value exactly. + description: |- + A SCSI bus address like 0:0:0:0. The hint must match the actual + value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. - The hint can be a substring of the actual value. + description: |- + A vendor-specific device identifier. The hint can be a + substring of the actual value. type: string rotational: description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match - the actual value exactly. + description: |- + Device serial number. The hint must match the actual value + exactly. type: string vendor: - description: The name of the vendor or manufacturer - of the device. The hint can be a substring of the - actual value. + description: |- + The name of the vendor or manufacturer of the device. The hint + can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must - match the actual value exactly. + description: |- + Unique storage identifier. The hint must match the actual value + exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The - hint must match the actual value exactly. + description: |- + Unique vendor storage identifier. The hint must match the + actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor - extension appended. The hint must match the actual - value exactly. + description: |- + Unique storage identifier with the vendor extension + appended. The hint must match the actual value exactly. type: string type: object minItems: 2 type: array sizeGibibytes: - description: Size (Integer) of the logical disk to be created - in GiB. If unspecified or set be 0, the maximum capacity - of disk will be used for logical disk. + description: |- + Size of the logical disk to be created in GiB. + If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -439,70 +498,84 @@ spec: type: array type: object rootDeviceHints: - description: Provide guidance about how to choose the device for the - image being provisioned. + description: |- + Provide guidance about how to choose the device for the image + being provisioned. The default is currently to use /dev/sda as + the root device. properties: deviceName: - description: A Linux device name like "/dev/vda", or a by-path - link to it like "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". - The hint must match the actual value exactly. + description: |- + A Linux device name like "/dev/vda", or a by-path link to it like + "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match + the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The hint must match - the actual value exactly. + description: |- + A SCSI bus address like 0:0:0:0. The hint must match the actual + value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. The hint can - be a substring of the actual value. + description: |- + A vendor-specific device identifier. The hint can be a + substring of the actual value. type: string rotational: description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match the actual - value exactly. + description: |- + Device serial number. The hint must match the actual value + exactly. type: string vendor: - description: The name of the vendor or manufacturer of the device. - The hint can be a substring of the actual value. + description: |- + The name of the vendor or manufacturer of the device. The hint + can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must match the - actual value exactly. + description: |- + Unique storage identifier. The hint must match the actual value + exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The hint must match - the actual value exactly. + description: |- + Unique vendor storage identifier. The hint must match the + actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor extension + description: |- + Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object taints: - description: Taints is the full, authoritative list of taints to apply - to the corresponding Machine. This list will overwrite any modifications - made to the Machine on an ongoing basis. + description: |- + Taints is the full, authoritative list of taints to apply to + the corresponding Machine. This list will overwrite any + modifications made to the Machine on an ongoing basis. items: - description: The node this Taint is attached to has the "effect" - on any pod that does not tolerate the Taint. + description: |- + The node this Taint is attached to has the "effect" on + any pod that does not tolerate the Taint. properties: effect: - description: Required. The effect of the taint on pods that - do not tolerate the taint. Valid effects are NoSchedule, PreferNoSchedule - and NoExecute. + description: |- + Required. The effect of the taint on pods + that do not tolerate the taint. + Valid effects are NoSchedule, PreferNoSchedule and NoExecute. type: string key: description: Required. The taint key to be applied to a node. type: string timeAdded: - description: TimeAdded represents the time at which the taint - was added. It is only written for NoExecute taints. + description: |- + TimeAdded represents the time at which the taint was added. + It is only written for NoExecute taints. format: date-time type: string value: @@ -514,8 +587,11 @@ spec: type: object type: array userData: - description: UserData holds the reference to the Secret containing - the user data to be passed to the host before it boots. + description: |- + UserData holds the reference to the Secret containing the user data + which is passed to the Config Drive and interpreted by the + first-boot software such as cloud-init. The format of user data is + specific to the first-boot software. properties: name: description: name is unique within a namespace to reference a @@ -539,11 +615,12 @@ spec: an error since the last successful operation type: integer errorMessage: - description: the last error message reported by the provisioning subsystem + description: The last error message reported by the provisioning subsystem. type: string errorType: - description: ErrorType indicates the type of failure encountered when - the OperationalStatus is OperationalStatusError + description: |- + ErrorType indicates the type of failure encountered when the + OperationalStatus is OperationalStatusError enum: - provisioned registration error - registration error @@ -551,13 +628,15 @@ spec: - preparation error - provisioning error - power management error + - servicing error type: string goodCredentials: - description: the last credentials we were able to validate as working + description: The last credentials we were able to validate as working. properties: credentials: - description: SecretReference represents a Secret Reference. It - has enough information to retrieve secret in any namespace + description: |- + SecretReference represents a Secret Reference. It has enough information to retrieve secret + in any namespace properties: name: description: name is unique within a namespace to reference @@ -573,10 +652,13 @@ spec: type: string type: object hardware: - description: The hardware discovered to exist on the host. + description: |- + The hardware discovered to exist on the host. + This field will be removed in the next API version in favour of the + separate HardwareData resource. properties: cpu: - description: CPU describes one processor on the host. + description: Details of the CPU(s) in the system. properties: arch: type: string @@ -594,7 +676,7 @@ spec: type: string type: object firmware: - description: Firmware describes the firmware on the host. + description: System firmware information. properties: bios: description: The BIOS for this firmware @@ -613,14 +695,15 @@ spec: hostname: type: string nics: + description: List of network interfaces for the host. items: description: NIC describes one network interface on the host. properties: ip: - description: The IP address of the interface. This will - be an IPv4 or IPv6 address if one is present. If both - IPv4 and IPv6 addresses are present in a dual-stack environment, - two nics will be output, one with each IP. + description: |- + The IP address of the interface. This will be an IPv4 or IPv6 address + if one is present. If both IPv4 and IPv6 addresses are present in a + dual-stack environment, two nics will be output, one with each IP. type: string mac: description: The device MAC address @@ -663,16 +746,20 @@ spec: type: object type: array ramMebibytes: + description: The host's amount of memory in Mebibytes. type: integer storage: + description: List of storage (disk, SSD, etc.) available to the + host. items: description: Storage describes one storage device (disk, SSD, etc.) on the host. properties: alternateNames: - description: A list of alternate Linux device names of the - disk, e.g. "/dev/sda". Note that this list is not exhaustive, - and names may not be stable across reboots. + description: |- + A list of alternate Linux device names of the disk, e.g. "/dev/sda". + Note that this list is not exhaustive, and names may not be stable + across reboots. items: type: string type: array @@ -683,15 +770,17 @@ spec: description: Hardware model type: string name: - description: A Linux device name of the disk, e.g. "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". - This will be a name that is stable across reboots if one - is available. + description: |- + A Linux device name of the disk, e.g. + "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". This will be a name + that is stable across reboots if one is available. type: string rotational: - description: Whether this disk represents rotational storage. - This field is not recommended for usage, please prefer - using 'Type' field instead, this field will be deprecated - eventually. + description: |- + Whether this disk represents rotational storage. + This field is not recommended for usage, please + prefer using 'Type' field instead, this field + will be deprecated eventually. type: boolean serialNumber: description: The serial number of the device @@ -722,8 +811,7 @@ spec: type: object type: array systemVendor: - description: HardwareSystemVendor stores details about the whole - hardware system. + description: System vendor information. properties: manufacturer: type: string @@ -734,7 +822,8 @@ spec: type: object type: object hardwareProfile: - description: The name of the profile matching the hardware details. + description: |- + The name of the profile matching the hardware details. Hardware profiles are deprecated and should not be relied on. type: string lastUpdated: @@ -742,12 +831,14 @@ spec: format: date-time type: string operationHistory: - description: OperationHistory holds information about operations performed + description: |- + OperationHistory holds information about operations performed on this host. properties: deprovision: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: |- + OperationMetric contains metadata about an operation (inspection, + provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -759,8 +850,9 @@ spec: type: string type: object inspect: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: |- + OperationMetric contains metadata about an operation (inspection, + provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -772,8 +864,9 @@ spec: type: string type: object provision: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: |- + OperationMetric contains metadata about an operation (inspection, + provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -785,8 +878,9 @@ spec: type: string type: object register: - description: OperationMetric contains metadata about an operation - (inspection, provisioning, etc.) used for tracking metrics. + description: |- + OperationMetric contains metadata about an operation (inspection, + provisioning, etc.) used for tracking metrics. properties: end: format: date-time @@ -807,20 +901,25 @@ spec: - error - delayed - detached + - servicing type: string poweredOn: - description: indicator for whether or not the host is powered on + description: |- + The currently detected power state of the host. This field may get + briefly out of sync with the actual state of the hardware while + provisioning processes are running. type: boolean provisioning: description: Information tracked by the provisioner. properties: ID: - description: The machine's UUID from the underlying provisioning - tool + description: |- + The hosts's ID from the underlying provisioning tool (e.g. the + Ironic node UUID). type: string bootMode: description: BootMode indicates the boot mode used to provision - the node + the host. enum: - UEFI - UEFISecureBoot @@ -830,52 +929,54 @@ spec: description: Custom deploy procedure applied to the host. properties: method: - description: Custom deploy method name. This name is specific - to the deploy ramdisk used. If you don't have a custom deploy - ramdisk, you shouldn't use CustomDeploy. + description: |- + Custom deploy method name. + This name is specific to the deploy ramdisk used. If you don't have + a custom deploy ramdisk, you shouldn't use CustomDeploy. type: string required: - method type: object firmware: - description: The Bios set by the user + description: The firmware settings that have been applied. properties: simultaneousMultithreadingEnabled: - description: 'Allows a single physical processor core to appear - as several logical processors. This supports following options: - true, false.' + description: Allows a single physical processor core to appear + as several logical processors. enum: - true - false type: boolean sriovEnabled: - description: 'SR-IOV support enables a hypervisor to create + description: SR-IOV support enables a hypervisor to create virtual instances of a PCI-express device, potentially increasing - performance. This supports following options: true, false.' + performance. enum: - true - false type: boolean virtualizationEnabled: - description: 'Supports the virtualization of platform hardware. - This supports following options: true, false.' + description: Supports the virtualization of platform hardware. enum: - true - false type: boolean type: object image: - description: Image holds the details of the last image successfully + description: |- + Image holds the details of the last image successfully provisioned to the host. properties: checksum: - description: Checksum is the checksum for the image. + description: |- + Checksum is the checksum for the image. Required for all formats + except for "live-iso". type: string checksumType: - description: ChecksumType is the checksum algorithm for the - image, e.g md5, sha256 or sha512. The special value "auto" - can be used to detect the algorithm from the checksum. If - missing, MD5 is used. If in doubt, use "auto". + description: |- + ChecksumType is the checksum algorithm for the image, e.g md5, sha256 or sha512. + The special value "auto" can be used to detect the algorithm from the checksum. + If missing, MD5 is used. If in doubt, use "auto". enum: - md5 - sha256 @@ -883,12 +984,10 @@ spec: - auto type: string format: - description: DiskFormat contains the format of the image (raw, - qcow2, ...). Needs to be set to raw for raw images streaming. - Note live-iso means an iso referenced by the url will be - live-booted and not deployed to disk, and in this case the - checksum options are not required and if specified will - be ignored. + description: |- + Format contains the format of the image (raw, qcow2, ...). + When set to "live-iso", an ISO 9660 image referenced by the url will + be live-booted and not deployed to disk. enum: - raw - qcow2 @@ -903,23 +1002,23 @@ spec: - url type: object raid: - description: The Raid set by the user + description: The RAID configuration that has been applied. properties: hardwareRAIDVolumes: - description: The list of logical disks for hardware RAID, - if rootDeviceHints isn't used, first volume is root volume. - You can set the value of this field to `[]` to clear all - the hardware RAID configurations. + description: |- + The list of logical disks for hardware RAID, if rootDeviceHints isn't used, first volume is root volume. + You can set the value of this field to `[]` to clear all the hardware RAID configurations. items: description: HardwareRAIDVolume defines the desired configuration of volume in hardware RAID. properties: controller: - description: The name of the RAID controller to use + description: The name of the RAID controller to use. type: string level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;2;5;6;1+0;5+0;6+0.' + description: |- + RAID level for the logical disk. The following levels are supported: + 0, 1, 2, 5, 6, 1+0, 5+0, 6+0 (drivers may support only some of them). enum: - "0" - "1" @@ -931,32 +1030,35 @@ spec: - 6+0 type: string name: - description: Name of the volume. Should be unique within - the Node. If not specified, volume name will be auto-generated. + description: |- + Name of the volume. Should be unique within the Node. If not + specified, the name will be auto-generated. maxLength: 64 type: string numberOfPhysicalDisks: - description: Integer, number of physical disks to use - for the logical disk. Defaults to minimum number of - disks required for the particular RAID level. + description: |- + Integer, number of physical disks to use for the logical disk. + Defaults to minimum number of disks required for the particular RAID + level. minimum: 1 type: integer physicalDisks: - description: Optional list of physical disk names to - be used for the Hardware RAID volumes. The disk names - are interpreted by the Hardware RAID controller, and - the format is hardware specific. + description: |- + Optional list of physical disk names to be used for the hardware RAID volumes. The disk names are interpreted + by the hardware RAID controller, and the format is hardware specific. items: type: string type: array rotational: - description: Select disks with only rotational or solid-state - storage + description: |- + Select disks with only rotational (if set to true) or solid-state + (if set to false) storage. By default, any disks can be picked. type: boolean sizeGibibytes: - description: Size (Integer) of the logical disk to be - created in GiB. If unspecified or set be 0, the maximum - capacity of disk will be used for logical disk. + description: |- + Size of the logical disk to be created in GiB. If unspecified or + set be 0, the maximum capacity of disk will be used for logical + disk. minimum: 0 type: integer required: @@ -965,24 +1067,23 @@ spec: nullable: true type: array softwareRAIDVolumes: - description: The list of logical disks for software RAID, - if rootDeviceHints isn't used, first volume is root volume. + description: |- + The list of logical disks for software RAID, if rootDeviceHints isn't used, first volume is root volume. If HardwareRAIDVolumes is set this item will be invalid. - The number of created Software RAID devices must be 1 or - 2. If there is only one Software RAID device, it has to - be a RAID-1. If there are two, the first one has to be a - RAID-1, while the RAID level for the second one can be 0, - 1, or 1+0. As the first RAID device will be the deployment - device, enforcing a RAID-1 reduces the risk of ending up - with a non-booting node in case of a disk failure. Software - RAID will always be deleted. + The number of created Software RAID devices must be 1 or 2. + If there is only one Software RAID device, it has to be a RAID-1. + If there are two, the first one has to be a RAID-1, while the RAID level for the second one can be 0, 1, or 1+0. + As the first RAID device will be the deployment device, + enforcing a RAID-1 reduces the risk of ending up with a non-booting host in case of a disk failure. + Software RAID will always be deleted. items: description: SoftwareRAIDVolume defines the desired configuration of volume in software RAID. properties: level: - description: 'RAID level for the logical disk. The following - levels are supported: 0;1;1+0.' + description: |- + RAID level for the logical disk. The following levels are supported: + 0, 1 and 1+0. enum: - "0" - "1" @@ -992,18 +1093,20 @@ spec: description: A list of device hints, the number of items should be greater than or equal to 2. items: - description: RootDeviceHints holds the hints for specifying - the storage location for the root filesystem for - the image. + description: |- + RootDeviceHints holds the hints for specifying the storage location + for the root filesystem for the image. properties: deviceName: - description: A Linux device name like "/dev/vda", - or a by-path link to it like "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". - The hint must match the actual value exactly. + description: |- + A Linux device name like "/dev/vda", or a by-path link to it like + "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match + the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. - The hint must match the actual value exactly. + description: |- + A SCSI bus address like 0:0:0:0. The hint must match the actual + value exactly. type: string minSizeGigabytes: description: The minimum size of the device in @@ -1011,42 +1114,46 @@ spec: minimum: 0 type: integer model: - description: A vendor-specific device identifier. - The hint can be a substring of the actual value. + description: |- + A vendor-specific device identifier. The hint can be a + substring of the actual value. type: string rotational: description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must - match the actual value exactly. + description: |- + Device serial number. The hint must match the actual value + exactly. type: string vendor: - description: The name of the vendor or manufacturer - of the device. The hint can be a substring of - the actual value. + description: |- + The name of the vendor or manufacturer of the device. The hint + can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint - must match the actual value exactly. + description: |- + Unique storage identifier. The hint must match the actual value + exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. - The hint must match the actual value exactly. + description: |- + Unique vendor storage identifier. The hint must match the + actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the - vendor extension appended. The hint must match - the actual value exactly. + description: |- + Unique storage identifier with the vendor extension + appended. The hint must match the actual value exactly. type: string type: object minItems: 2 type: array sizeGibibytes: - description: Size (Integer) of the logical disk to be - created in GiB. If unspecified or set be 0, the maximum - capacity of disk will be used for logical disk. + description: |- + Size of the logical disk to be created in GiB. + If unspecified or set be 0, the maximum capacity of disk will be used for logical disk. minimum: 0 type: integer required: @@ -1057,52 +1164,60 @@ spec: type: array type: object rootDeviceHints: - description: The RootDevicehints set by the user + description: The root device hints used to provision the host. properties: deviceName: - description: A Linux device name like "/dev/vda", or a by-path - link to it like "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". - The hint must match the actual value exactly. + description: |- + A Linux device name like "/dev/vda", or a by-path link to it like + "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". The hint must match + the actual value exactly. type: string hctl: - description: A SCSI bus address like 0:0:0:0. The hint must - match the actual value exactly. + description: |- + A SCSI bus address like 0:0:0:0. The hint must match the actual + value exactly. type: string minSizeGigabytes: description: The minimum size of the device in Gigabytes. minimum: 0 type: integer model: - description: A vendor-specific device identifier. The hint - can be a substring of the actual value. + description: |- + A vendor-specific device identifier. The hint can be a + substring of the actual value. type: string rotational: description: True if the device should use spinning media, false otherwise. type: boolean serialNumber: - description: Device serial number. The hint must match the - actual value exactly. + description: |- + Device serial number. The hint must match the actual value + exactly. type: string vendor: - description: The name of the vendor or manufacturer of the - device. The hint can be a substring of the actual value. + description: |- + The name of the vendor or manufacturer of the device. The hint + can be a substring of the actual value. type: string wwn: - description: Unique storage identifier. The hint must match - the actual value exactly. + description: |- + Unique storage identifier. The hint must match the actual value + exactly. type: string wwnVendorExtension: - description: Unique vendor storage identifier. The hint must - match the actual value exactly. + description: |- + Unique vendor storage identifier. The hint must match the + actual value exactly. type: string wwnWithExtension: - description: Unique storage identifier with the vendor extension + description: |- + Unique storage identifier with the vendor extension appended. The hint must match the actual value exactly. type: string type: object state: - description: An indiciator for what the provisioner is doing with + description: An indicator for what the provisioner is doing with the host. type: string required: @@ -1110,11 +1225,12 @@ spec: - state type: object triedCredentials: - description: the last credentials we sent to the provisioning backend + description: The last credentials we sent to the provisioning backend. properties: credentials: - description: SecretReference represents a Secret Reference. It - has enough information to retrieve secret in any namespace + description: |- + SecretReference represents a Secret Reference. It has enough information to retrieve secret + in any namespace properties: name: description: name is unique within a namespace to reference diff --git a/metal3-chart/charts/baremetal-operator/crds/customresource-bmceventsubscriptions.yaml b/metal3-chart/charts/baremetal-operator/crds/customresource-bmceventsubscriptions.yaml index c0dc2bf..b12a0e8 100644 --- a/metal3-chart/charts/baremetal-operator/crds/customresource-bmceventsubscriptions.yaml +++ b/metal3-chart/charts/baremetal-operator/crds/customresource-bmceventsubscriptions.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.16.5 labels: clusterctl.cluster.x-k8s.io: "" name: bmceventsubscriptions.metal3.io @@ -34,14 +34,19 @@ spec: description: BMCEventSubscription is the Schema for the fast eventing API 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' + 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' + 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: type: object @@ -57,8 +62,9 @@ spec: description: A reference to a BareMetalHost type: string httpHeadersRef: - description: A secret containing HTTP headers which should be passed - along to the Destination when making a request + description: |- + A secret containing HTTP headers which should be passed along to the Destination + when making a request properties: name: description: name is unique within a namespace to reference a diff --git a/metal3-chart/charts/baremetal-operator/crds/customresource-dataimages.yaml b/metal3-chart/charts/baremetal-operator/crds/customresource-dataimages.yaml index c1bb7b0..fdf0de6 100644 --- a/metal3-chart/charts/baremetal-operator/crds/customresource-dataimages.yaml +++ b/metal3-chart/charts/baremetal-operator/crds/customresource-dataimages.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.16.5 name: dataimages.metal3.io spec: group: metal3.io @@ -20,14 +20,19 @@ spec: description: DataImage is the Schema for the dataimages API. 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' + 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' + 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: type: object @@ -35,7 +40,8 @@ spec: description: DataImageSpec defines the desired state of DataImage. properties: url: - description: Url is the address of the dataImage that we want to attach + description: |- + Url is the address of the dataImage that we want to attach to a BareMetalHost type: string required: diff --git a/metal3-chart/charts/baremetal-operator/crds/customresource-firmwareschemas.yaml b/metal3-chart/charts/baremetal-operator/crds/customresource-firmwareschemas.yaml index 3b3c4fe..774af09 100644 --- a/metal3-chart/charts/baremetal-operator/crds/customresource-firmwareschemas.yaml +++ b/metal3-chart/charts/baremetal-operator/crds/customresource-firmwareschemas.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.16.5 labels: clusterctl.cluster.x-k8s.io: "" name: firmwareschemas.metal3.io @@ -22,14 +22,19 @@ spec: description: FirmwareSchema is the Schema for the firmwareschemas API. 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' + 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' + 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: type: object @@ -73,8 +78,9 @@ spec: description: Whether or not this setting is read only. type: boolean unique: - description: Whether or not this setting's value is unique to - this node, e.g. a serial number. + description: |- + Whether or not this setting's value is unique to this node, e.g. + a serial number. type: boolean upper_bound: description: The highest value for an Integer type setting. diff --git a/metal3-chart/charts/baremetal-operator/crds/customresource-hardwaredata.yaml b/metal3-chart/charts/baremetal-operator/crds/customresource-hardwaredata.yaml index 7a39068..0693bf3 100644 --- a/metal3-chart/charts/baremetal-operator/crds/customresource-hardwaredata.yaml +++ b/metal3-chart/charts/baremetal-operator/crds/customresource-hardwaredata.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.16.5 labels: clusterctl.cluster.x-k8s.io: "" name: hardwaredata.metal3.io @@ -29,14 +29,19 @@ spec: description: HardwareData is the Schema for the hardwaredata API. 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' + 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' + 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: type: object @@ -47,7 +52,7 @@ spec: description: The hardware discovered on the host during its inspection. properties: cpu: - description: CPU describes one processor on the host. + description: Details of the CPU(s) in the system. properties: arch: type: string @@ -65,7 +70,7 @@ spec: type: string type: object firmware: - description: Firmware describes the firmware on the host. + description: System firmware information. properties: bios: description: The BIOS for this firmware @@ -84,14 +89,15 @@ spec: hostname: type: string nics: + description: List of network interfaces for the host. items: description: NIC describes one network interface on the host. properties: ip: - description: The IP address of the interface. This will - be an IPv4 or IPv6 address if one is present. If both - IPv4 and IPv6 addresses are present in a dual-stack environment, - two nics will be output, one with each IP. + description: |- + The IP address of the interface. This will be an IPv4 or IPv6 address + if one is present. If both IPv4 and IPv6 addresses are present in a + dual-stack environment, two nics will be output, one with each IP. type: string mac: description: The device MAC address @@ -134,16 +140,20 @@ spec: type: object type: array ramMebibytes: + description: The host's amount of memory in Mebibytes. type: integer storage: + description: List of storage (disk, SSD, etc.) available to the + host. items: description: Storage describes one storage device (disk, SSD, etc.) on the host. properties: alternateNames: - description: A list of alternate Linux device names of the - disk, e.g. "/dev/sda". Note that this list is not exhaustive, - and names may not be stable across reboots. + description: |- + A list of alternate Linux device names of the disk, e.g. "/dev/sda". + Note that this list is not exhaustive, and names may not be stable + across reboots. items: type: string type: array @@ -154,15 +164,17 @@ spec: description: Hardware model type: string name: - description: A Linux device name of the disk, e.g. "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". - This will be a name that is stable across reboots if one - is available. + description: |- + A Linux device name of the disk, e.g. + "/dev/disk/by-path/pci-0000:01:00.0-scsi-0:2:0:0". This will be a name + that is stable across reboots if one is available. type: string rotational: - description: Whether this disk represents rotational storage. - This field is not recommended for usage, please prefer - using 'Type' field instead, this field will be deprecated - eventually. + description: |- + Whether this disk represents rotational storage. + This field is not recommended for usage, please + prefer using 'Type' field instead, this field + will be deprecated eventually. type: boolean serialNumber: description: The serial number of the device @@ -193,8 +205,7 @@ spec: type: object type: array systemVendor: - description: HardwareSystemVendor stores details about the whole - hardware system. + description: System vendor information. properties: manufacturer: type: string diff --git a/metal3-chart/charts/baremetal-operator/crds/customresource-hostfirmwarecomponents.yaml b/metal3-chart/charts/baremetal-operator/crds/customresource-hostfirmwarecomponents.yaml index 2962d52..656458b 100644 --- a/metal3-chart/charts/baremetal-operator/crds/customresource-hostfirmwarecomponents.yaml +++ b/metal3-chart/charts/baremetal-operator/crds/customresource-hostfirmwarecomponents.yaml @@ -3,7 +3,9 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.16.5 + labels: + clusterctl.cluster.x-k8s.io: "" name: hostfirmwarecomponents.metal3.io spec: group: metal3.io @@ -21,14 +23,19 @@ spec: API. 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' + 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' + 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: type: object @@ -82,43 +89,35 @@ spec: description: Track whether updates stored in the spec are valid based on the schema items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: Condition contains details for one aspect of the current + state of this API Resource. properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 @@ -133,10 +132,6 @@ spec: type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -156,8 +151,9 @@ spec: format: date-time type: string updates: - description: Updates is the list of all firmware components that should - be updated they are specified via name and url fields. + description: |- + Updates is the list of all firmware components that should be updated + they are specified via name and url fields. items: description: FirmwareUpdate defines a firmware update specification. properties: diff --git a/metal3-chart/charts/baremetal-operator/crds/customresource-hostfirmwaresettings.yaml b/metal3-chart/charts/baremetal-operator/crds/customresource-hostfirmwaresettings.yaml index 62679cf..bfa1b19 100644 --- a/metal3-chart/charts/baremetal-operator/crds/customresource-hostfirmwaresettings.yaml +++ b/metal3-chart/charts/baremetal-operator/crds/customresource-hostfirmwaresettings.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.16.5 labels: clusterctl.cluster.x-k8s.io: "" name: hostfirmwaresettings.metal3.io @@ -25,14 +25,19 @@ spec: API. 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' + 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' + 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: type: object @@ -59,43 +64,35 @@ spec: description: Track whether settings stored in the spec are valid based on the schema items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: Condition contains details for one aspect of the current + state of this API Resource. properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 @@ -110,10 +107,6 @@ spec: type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -133,8 +126,9 @@ spec: format: date-time type: string schema: - description: FirmwareSchema is a reference to the Schema used to describe - each FirmwareSetting. By default, this will be a Schema in the same + description: |- + FirmwareSchema is a reference to the Schema used to describe each + FirmwareSetting. By default, this will be a Schema in the same Namespace as the settings but it can be overwritten in the Spec properties: name: diff --git a/metal3-chart/charts/baremetal-operator/crds/customresource-hostupdatepolicies.yaml b/metal3-chart/charts/baremetal-operator/crds/customresource-hostupdatepolicies.yaml new file mode 100644 index 0000000..df4db81 --- /dev/null +++ b/metal3-chart/charts/baremetal-operator/crds/customresource-hostupdatepolicies.yaml @@ -0,0 +1,62 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.16.5 + labels: + clusterctl.cluster.x-k8s.io: "" + name: hostupdatepolicies.metal3.io +spec: + group: metal3.io + names: + kind: HostUpdatePolicy + listKind: HostUpdatePolicyList + plural: hostupdatepolicies + singular: hostupdatepolicy + scope: Namespaced + versions: + - name: v1alpha1 + schema: + openAPIV3Schema: + description: HostUpdatePolicy is the Schema for the hostupdatepolicy API. + 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: + type: object + spec: + description: HostUpdatePolicySpec defines the desired state of HostUpdatePolicy. + properties: + firmwareSettings: + description: Defines policy for changing firmware settings + enum: + - onPreparing + - onReboot + type: string + firmwareUpdates: + description: Defines policy for updating firmware + enum: + - onPreparing + - onReboot + type: string + type: object + status: + description: HostUpdatePolicyStatus defines the observed state of HostUpdatePolicy. + type: object + type: object + served: true + storage: true diff --git a/metal3-chart/charts/baremetal-operator/crds/customresource-preprovisioningimages.yaml b/metal3-chart/charts/baremetal-operator/crds/customresource-preprovisioningimages.yaml index f743a89..dc15c0a 100644 --- a/metal3-chart/charts/baremetal-operator/crds/customresource-preprovisioningimages.yaml +++ b/metal3-chart/charts/baremetal-operator/crds/customresource-preprovisioningimages.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.12.1 + controller-gen.kubebuilder.io/version: v0.16.5 labels: clusterctl.cluster.x-k8s.io: "" name: preprovisioningimages.metal3.io @@ -34,14 +34,19 @@ spec: API. 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' + 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' + 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: type: object @@ -62,8 +67,9 @@ spec: to build the image. type: string networkDataName: - description: networkDataName is the name of a Secret in the local - namespace that contains network data to build in to the image. + description: |- + networkDataName is the name of a Secret in the local namespace that + contains network data to build in to the image. type: string type: object status: @@ -77,43 +83,35 @@ spec: conditions: description: conditions describe the state of the built image items: - description: "Condition contains details for one aspect of the current - state of this API Resource. --- This struct is intended for direct - use as an array at the field path .status.conditions. For example, - \n type FooStatus struct{ // Represents the observations of a - foo's current state. // Known .status.conditions.type are: \"Available\", - \"Progressing\", and \"Degraded\" // +patchMergeKey=type // +patchStrategy=merge - // +listType=map // +listMapKey=type Conditions []metav1.Condition - `json:\"conditions,omitempty\" patchStrategy:\"merge\" patchMergeKey:\"type\" - protobuf:\"bytes,1,rep,name=conditions\"` \n // other fields }" + description: Condition contains details for one aspect of the current + state of this API Resource. properties: lastTransitionTime: - description: lastTransitionTime is the last time the condition - transitioned from one status to another. This should be when - the underlying condition changed. If that is not known, then - using the time when the API field changed is acceptable. + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. format: date-time type: string message: - description: message is a human readable message indicating - details about the transition. This may be an empty string. + description: |- + message is a human readable message indicating details about the transition. + This may be an empty string. maxLength: 32768 type: string observedGeneration: - description: observedGeneration represents the .metadata.generation - that the condition was set based upon. For instance, if .metadata.generation - is currently 12, but the .status.conditions[x].observedGeneration - is 9, the condition is out of date with respect to the current - state of the instance. + description: |- + observedGeneration represents the .metadata.generation that the condition was set based upon. + For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date + with respect to the current state of the instance. format: int64 minimum: 0 type: integer reason: - description: reason contains a programmatic identifier indicating - the reason for the condition's last transition. Producers - of specific condition types may define expected values and - meanings for this field, and whether the values are considered - a guaranteed API. The value should be a CamelCase string. + description: |- + reason contains a programmatic identifier indicating the reason for the condition's last transition. + Producers of specific condition types may define expected values and meanings for this field, + and whether the values are considered a guaranteed API. + The value should be a CamelCase string. This field may not be empty. maxLength: 1024 minLength: 1 @@ -128,10 +126,6 @@ spec: type: string type: description: type of condition in CamelCase or in foo.example.com/CamelCase. - --- Many .condition.type values are consistent across resources - like Available, but because arbitrary conditions can be useful - (see .node.status.conditions), the ability to deconflict is - important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) maxLength: 316 pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ type: string @@ -147,13 +141,14 @@ spec: - type x-kubernetes-list-type: map extraKernelParams: - description: extraKernelParams is a string with extra parameters to - pass to the kernel when booting the image over network. Only makes - sense for initrd images. + description: |- + extraKernelParams is a string with extra parameters to pass to the + kernel when booting the image over network. Only makes sense for initrd images. type: string format: - description: 'format is the type of image that is available at the - download url: either iso or initrd.' + description: |- + format is the type of image that is available at the download url: + either iso or initrd. enum: - iso - initrd @@ -163,12 +158,14 @@ spec: downloaded. type: string kernelUrl: - description: kernelUrl is the URL from which the kernel of the image - can be downloaded. Only makes sense for initrd images. + description: |- + kernelUrl is the URL from which the kernel of the image can be downloaded. + Only makes sense for initrd images. type: string networkData: - description: networkData is a reference to the version of the Secret - containing the network data used to build the image. + description: |- + networkData is a reference to the version of the Secret containing the + network data used to build the image. properties: name: type: string diff --git a/metal3-chart/charts/baremetal-operator/templates/clusterrole-manager.yaml b/metal3-chart/charts/baremetal-operator/templates/clusterrole-manager.yaml index e55cb06..408a3b3 100644 --- a/metal3-chart/charts/baremetal-operator/templates/clusterrole-manager.yaml +++ b/metal3-chart/charts/baremetal-operator/templates/clusterrole-manager.yaml @@ -184,3 +184,23 @@ rules: - get - patch - update +- apiGroups: + - metal3.io + resources: + - hostupdatepolicies + verbs: + - create + - delete + - get + - list + - patch + - update + - watch +- apiGroups: + - metal3.io + resources: + - hostupdatepolicies/status + verbs: + - get + - patch + - update diff --git a/metal3-chart/charts/baremetal-operator/templates/deployment.yaml b/metal3-chart/charts/baremetal-operator/templates/deployment.yaml index 4687c0d..53fbe05 100644 --- a/metal3-chart/charts/baremetal-operator/templates/deployment.yaml +++ b/metal3-chart/charts/baremetal-operator/templates/deployment.yaml @@ -24,8 +24,8 @@ spec: spec: containers: - args: - - --metrics-addr=127.0.0.1:8085 - --enable-leader-election + - --tls-min-version=TLS13 env: - name: POD_NAME valueFrom: @@ -56,6 +56,9 @@ spec: - containerPort: 9443 name: webhook-server protocol: TCP + - containerPort: 8443 + protocol: TCP + name: https readinessProbe: failureThreshold: 10 httpGet: @@ -84,19 +87,6 @@ spec: mountPath: "/opt/metal3/certs/ca" readOnly: true {{- end }} - - args: - - --secure-listen-address=0.0.0.0:8443 - - --upstream=http://127.0.0.1:8085/ - - --logtostderr=true - - --v=10 - image: "{{ .Values.images.rbacProxy.repository }}:{{ .Values.images.rbacProxy.tag }}" - imagePullPolicy: {{ .Values.images.rbacProxy.pullPolicy }} - securityContext: - {{- toYaml .Values.securityContext | nindent 10 }} - name: kube-rbac-proxy - ports: - - containerPort: 8443 - name: https serviceAccountName: {{ include "baremetal-operator.serviceAccountName" . }} terminationGracePeriodSeconds: 10 volumes: diff --git a/metal3-chart/charts/baremetal-operator/templates/metrics_auth_role.yaml b/metal3-chart/charts/baremetal-operator/templates/metrics_auth_role.yaml new file mode 100644 index 0000000..f5d2883 --- /dev/null +++ b/metal3-chart/charts/baremetal-operator/templates/metrics_auth_role.yaml @@ -0,0 +1,19 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "baremetal-operator.fullname" . }}-metrics-auth-role + labels: + {{- include "baremetal-operator.labels" . | nindent 4 }} +rules: +- apiGroups: + - authentication.k8s.io + resources: + - tokenreviews + verbs: + - create +- apiGroups: + - authorization.k8s.io + resources: + - subjectaccessreviews + verbs: + - create diff --git a/metal3-chart/charts/baremetal-operator/templates/metrics_auth_role_binding.yaml b/metal3-chart/charts/baremetal-operator/templates/metrics_auth_role_binding.yaml new file mode 100644 index 0000000..0760da3 --- /dev/null +++ b/metal3-chart/charts/baremetal-operator/templates/metrics_auth_role_binding.yaml @@ -0,0 +1,14 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: {{ include "baremetal-operator.fullname" . }}-metrics-auth-rolebinding + labels: + {{- include "baremetal-operator.labels" . | nindent 4 }} +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: {{ include "baremetal-operator.fullname" . }}-metrics-auth-role +subjects: +- kind: ServiceAccount + name: {{ include "baremetal-operator.serviceAccountName" . }} + namespace: {{ .Release.Namespace }} diff --git a/metal3-chart/charts/baremetal-operator/templates/metrics_reader_role.yaml b/metal3-chart/charts/baremetal-operator/templates/metrics_reader_role.yaml new file mode 100644 index 0000000..915f8f4 --- /dev/null +++ b/metal3-chart/charts/baremetal-operator/templates/metrics_reader_role.yaml @@ -0,0 +1,11 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: {{ include "baremetal-operator.fullname" . }}-metrics-reader + labels: + {{- include "baremetal-operator.labels" . | nindent 4 }} +rules: +- nonResourceURLs: + - "/metrics" + verbs: + - get diff --git a/metal3-chart/charts/baremetal-operator/templates/metrics_service.yaml b/metal3-chart/charts/baremetal-operator/templates/metrics_service.yaml new file mode 100644 index 0000000..64f39a6 --- /dev/null +++ b/metal3-chart/charts/baremetal-operator/templates/metrics_service.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + {{- include "baremetal-operator.labels" . | nindent 4 }} + control-plane: controller-manager + name: {{ include "baremetal-operator.fullname" . }}-controller-manager-metrics-service +spec: + ports: + - name: https + port: 8443 + targetPort: https + selector: + control-plane: controller-manager diff --git a/metal3-chart/charts/baremetal-operator/values.yaml b/metal3-chart/charts/baremetal-operator/values.yaml index 6e137f1..90008e7 100644 --- a/metal3-chart/charts/baremetal-operator/values.yaml +++ b/metal3-chart/charts/baremetal-operator/values.yaml @@ -28,11 +28,7 @@ images: baremetalOperator: repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/baremetal-operator pullPolicy: IfNotPresent - tag: "0.8.0" - rbacProxy: - repository: registry.opensuse.org/isv/suse/edge/metal3/containers/images/kube-rbac-proxy - pullPolicy: IfNotPresent - tag: "0.18.1" + tag: "0.9.0" imagePullSecrets: [] nameOverride: "manger" From ca510a470afe89ecf61eec38e93638a275197df1f44b480c37230e67d49c8f9e Mon Sep 17 00:00:00 2001 From: Fatih Degirmenci Date: Tue, 18 Mar 2025 17:21:11 +0100 Subject: [PATCH 5/5] 3.3.0: Bump rke2 to v1.32.2+rke2r1 in release-manifest --- release-manifest-image/release_manifest.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release-manifest-image/release_manifest.yaml b/release-manifest-image/release_manifest.yaml index 112301e..a165995 100644 --- a/release-manifest-image/release_manifest.yaml +++ b/release-manifest-image/release_manifest.yaml @@ -31,7 +31,7 @@ spec: image: rancher/mirrored-metrics-server:v0.7.2 type: Deployment rke2: - version: v1.32.1+rke2r1 + version: v1.32.2+rke2r1 coreComponents: - name: rke2-cilium version: 1.17.000