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} 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" diff --git a/release-manifest-image/release_manifest.yaml b/release-manifest-image/release_manifest.yaml index 55696bd..a165995 100644 --- a/release-manifest-image/release_manifest.yaml +++ b/release-manifest-image/release_manifest.yaml @@ -7,18 +7,18 @@ 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 + 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: - 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: @@ -31,31 +31,31 @@ 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.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: