Factory/rancher-turtles-airgap-resources-chart/templates/airgap-cm-metal3.yaml
Steven Hardy 856ec2ac8e
All checks were successful
OBS: hauler - standard/x86_64
OBS SCM/CI Workflow Integration started
OBS: akri-dashboard-extension-chart - charts/x86_64
OBS: akri-chart - charts/x86_64
OBS: autoconf - standard/x86_64
OBS: cdi-chart - charts/x86_64
OBS: autoconf - standard/aarch64
OBS: crudini - standard/x86_64
OBS: endpoint-copier-operator-chart - charts/x86_64
OBS: baremetal-operator - standard/x86_64
OBS: cluster-api-provider-metal3 - standard/x86_64
OBS: akri-onvif-discovery-handler-image - images/aarch64
OBS: ipcalc - standard/x86_64
OBS: cri-tools - standard/x86_64
OBS: fakeroot - standard/x86_64
OBS: cosign - standard/x86_64
OBS: akri-debug-echo-discovery-handler-image - images/aarch64
OBS: endpoint-copier-operator - standard/x86_64
OBS: baremetal-operator - standard/aarch64
OBS: edge-image-builder - standard/x86_64
OBS: kubectl - standard/x86_64
OBS: kubevirt-chart - charts/x86_64
OBS: ip-address-manager - standard/x86_64
OBS: kubevirt-dashboard-extension-chart - charts/x86_64
OBS: frr-k8s - standard/x86_64
OBS: metal3-chart - charts/x86_64
OBS: metallb-chart - charts/x86_64
OBS: obs-service-set_version - standard/x86_64
OBS: frr-image - images/x86_64
OBS: kiwi-builder-image - images/x86_64
OBS: kube-rbac-proxy - standard/x86_64
OBS: rancher-turtles-airgap-resources-chart - charts/x86_64
OBS: sriov-crd-chart - charts/x86_64
OBS: rancher-turtles-chart - charts/x86_64
OBS: sriov-network-operator-chart - charts/x86_64
OBS: upgrade-controller-chart - charts/x86_64
OBS: metallb - standard/x86_64
OBS: release-manifest-image - images/x86_64
OBS: obs-service-set_version - standard/aarch64
OBS: upgrade-controller - standard/x86_64
OBS: nm-configurator - standard/x86_64
OBS: baremetal-operator-image - images/x86_64
OBS: endpoint-copier-operator-image - images/x86_64
OBS: cluster-api-provider-metal3-image - images/x86_64
OBS: akri-opcua-discovery-handler-image - images/aarch64
OBS: akri-controller-image - images/aarch64
OBS: kubectl-image - images/x86_64
OBS: akri-udev-discovery-handler-image - images/aarch64
OBS: akri - standard/x86_64
OBS: nm-configurator - standard/aarch64
OBS: ip-address-manager-image - images/x86_64
OBS: kube-rbac-proxy-image - images/x86_64
OBS: edge-image-builder-image - images/x86_64
OBS: metallb-speaker-image - images/x86_64
OBS: metallb-controller-image - images/x86_64
OBS: upgrade-controller-image - images/x86_64
OBS: cluster-api-provider-metal3 - standard/aarch64
OBS: ironic-image - images/x86_64
OBS: akri-webhook-configuration-image - images/aarch64
OBS: cri-tools - standard/aarch64
OBS: crudini - standard/aarch64
OBS: akri - standard/aarch64
OBS: cosign - standard/aarch64
OBS: frr-image - images/aarch64
OBS: ip-address-manager-image - images/aarch64
OBS: edge-image-builder-image - images/aarch64
OBS: edge-image-builder - standard/aarch64
OBS: endpoint-copier-operator - standard/aarch64
OBS: kiwi-builder-image - images/aarch64
OBS: ironic-ipa-ramdisk - standard/x86_64
OBS: ipcalc - standard/aarch64
OBS: frr-k8s - standard/aarch64
OBS: akri-debug-echo-discovery-handler-image - images/x86_64
OBS: akri-udev-discovery-handler-image - images/x86_64
OBS: ip-address-manager - standard/aarch64
OBS: akri-agent-image - images/x86_64
OBS: kube-rbac-proxy-image - images/aarch64
OBS: akri-opcua-discovery-handler-image - images/x86_64
OBS: akri-webhook-configuration-image - images/x86_64
OBS: akri-onvif-discovery-handler-image - images/x86_64
OBS: akri-controller-image - images/x86_64
OBS: kubectl-image - images/aarch64
OBS: fakeroot - standard/aarch64
OBS: metallb-controller-image - images/aarch64
OBS: ironic-ipa-downloader-image - images/x86_64
OBS: kubectl - standard/aarch64
OBS: kube-rbac-proxy - standard/aarch64
OBS: release-manifest-image - images/aarch64
OBS: metallb-speaker-image - images/aarch64
OBS: upgrade-controller - standard/aarch64
OBS: metallb - standard/aarch64
OBS: upgrade-controller-image - images/aarch64
OBS: hauler - standard/aarch64
OBS: endpoint-copier-operator-image - images/aarch64
OBS: akri-agent-image - images/aarch64
OBS: baremetal-operator-image - images/aarch64
OBS: cluster-api-provider-metal3-image - images/aarch64
rancher-turtles-airgap-resources-chart: Update to 0.14.1 upstream release
Aligns with https://github.com/suse-edge/charts/pull/174 which
rebases to 0.14.1, which is marked as compatible with Rancher 2.10
2024-12-05 11:35:05 +00:00

4545 lines
199 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
pod-security.kubernetes.io/enforce: restricted
name: capm3-system
---
apiVersion: v1
data:
components: |
apiVersion: v1
kind: Namespace
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
pod-security.kubernetes.io/enforce: restricted
name: capm3-system
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/ipam-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1alpha2: v1alpha2
cluster.x-k8s.io/v1alpha3: v1alpha3_v1alpha4
cluster.x-k8s.io/v1alpha4: v1alpha5
cluster.x-k8s.io/v1beta1: v1beta1
name: ipaddresses.ipam.metal3.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: ipam-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: ipam.metal3.io
names:
categories:
- metal3
kind: IPAddress
listKind: IPAddressList
plural: ipaddresses
shortNames:
- ipa
- ipaddress
- m3ipa
- m3ipaddress
- m3ipaddresses
- metal3ipa
- metal3ipaddress
- metal3ipaddresses
singular: ipaddress
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Time duration since creation of Metal3IPAddress
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: IPAddress is the Schema for the ipaddresses 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: IPAddressSpec defines the desired state of IPAddress.
properties:
address:
description: Address contains the IP address
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
claim:
description: Claim points to the object the IPClaim was created for.
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
dnsServers:
description: DNSServers is the list of dns servers
items:
description: IPAddress is used for validation of an IP address.
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
type: array
gateway:
description: Gateway is the gateway ip address
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
pool:
description: Pool is the IPPool this was generated from.
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
prefix:
description: Prefix is the mask of the network as integer (max 128)
maximum: 128
type: integer
required:
- address
- claim
- pool
type: object
type: object
served: true
storage: true
subresources: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/ipam-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1alpha2: v1alpha2
cluster.x-k8s.io/v1alpha3: v1alpha3_v1alpha4
cluster.x-k8s.io/v1alpha4: v1alpha5
cluster.x-k8s.io/v1beta1: v1beta1
name: ipclaims.ipam.metal3.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: ipam-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: ipam.metal3.io
names:
categories:
- cluster-api
kind: IPClaim
listKind: IPClaimList
plural: ipclaims
shortNames:
- ipc
- ipclaim
- m3ipc
- m3ipclaim
- m3ipclaims
- metal3ipc
- metal3ipclaim
- metal3ipclaims
singular: ipclaim
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Time duration since creation of Metal3IPClaim
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: IPClaim is the Schema for the ipclaims 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: IPClaimSpec defines the desired state of IPClaim.
properties:
pool:
description: Pool is the IPPool this was generated from.
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
required:
- pool
type: object
status:
description: IPClaimStatus defines the observed state of IPClaim.
properties:
address:
description: Address is the IPAddress that was generated for this
claim.
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
errorMessage:
description: ErrorMessage contains the error message
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/ipam-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1alpha2: v1alpha2
cluster.x-k8s.io/v1alpha3: v1alpha3_v1alpha4
cluster.x-k8s.io/v1alpha4: v1alpha5
cluster.x-k8s.io/v1beta1: v1beta1
name: ippools.ipam.metal3.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: ipam-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: ipam.metal3.io
names:
categories:
- cluster-api
kind: IPPool
listKind: IPPoolList
plural: ippools
shortNames:
- ipp
- ippool
- m3ipp
- m3ippool
- m3ippools
- metal3ipp
- metal3ippool
- metal3ippools
singular: ippool
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Cluster to which this template belongs
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
name: Cluster
type: string
- description: Time duration since creation of Metal3IPPool
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: IPPool is the Schema for the ippools 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: IPPoolSpec defines the desired state of IPPool.
properties:
clusterName:
description: ClusterName is the name of the Cluster this object belongs
to.
type: string
dnsServers:
description: DNSServers is the list of dns servers
items:
description: IPAddress is used for validation of an IP address.
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
type: array
gateway:
description: Gateway is the gateway ip address
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
namePrefix:
description: namePrefix is the prefix used to generate the IPAddress
object names
minLength: 1
type: string
pools:
description: Pools contains the list of IP addresses pools
items:
description: MetaDataIPAddress contains the info to render th ip
address. It is IP-version agnostic.
properties:
dnsServers:
description: DNSServers is the list of dns servers
items:
description: IPAddress is used for validation of an IP address.
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
type: array
end:
description: End is the last IP address that can be rendered.
It is used as a validation that the rendered IP is in bound.
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
gateway:
description: Gateway is the gateway ip address
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
prefix:
description: Prefix is the mask of the network as integer (max
128)
maximum: 128
type: integer
start:
description: Start is the first ip address that can be rendered
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
subnet:
description: Subnet is used to validate that the rendered IP
is in bounds. In case the Start value is not given, it is
derived from the subnet ip incremented by 1 (`192.168.0.1`
for `192.168.0.0/24`)
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))/([0-9]|[1-2][0-9]|3[0-2])$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))/([0-9]|[0-9][0-9]|1[0-1][0-9]|12[0-8])$))
type: string
type: object
type: array
preAllocations:
additionalProperties:
description: IPAddress is used for validation of an IP address.
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
description: PreAllocations contains the preallocated IP addresses
type: object
prefix:
description: Prefix is the mask of the network as integer (max 128)
maximum: 128
type: integer
required:
- namePrefix
type: object
status:
description: IPPoolStatus defines the observed state of IPPool.
properties:
indexes:
additionalProperties:
description: IPAddress is used for validation of an IP address.
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
description: Allocations contains the map of objects and IP addresses
they have
type: object
lastUpdated:
description: LastUpdated identifies when this status was last observed.
format: date-time
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1beta1: v1beta1
name: metal3clusters.infrastructure.cluster.x-k8s.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: Metal3Cluster
listKind: Metal3ClusterList
plural: metal3clusters
shortNames:
- m3c
- m3cluster
- m3clusters
- metal3c
- metal3cluster
singular: metal3cluster
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Time duration since creation of Metal3Cluster
jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: metal3Cluster is Ready
jsonPath: .status.ready
name: Ready
type: string
- description: Most recent error
jsonPath: .status.failureReason
name: Error
type: string
- description: Cluster to which this BMCluster belongs
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
name: Cluster
type: string
- description: Control plane endpoint
jsonPath: .spec.controlPlaneEndpoint
name: Endpoint
type: string
name: v1beta1
schema:
openAPIV3Schema:
description: Metal3Cluster is the Schema for the metal3clusters 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: Metal3ClusterSpec defines the desired state of Metal3Cluster.
properties:
controlPlaneEndpoint:
description: ControlPlaneEndpoint represents the endpoint used to
communicate with the control plane.
properties:
host:
description: Host is the hostname on which the API server is serving.
type: string
port:
description: Port is the port on which the API server is serving.
type: integer
required:
- host
- port
type: object
noCloudProvider:
description: Determines if the cluster is not to be deployed with
an external cloud provider. If set to true, CAPM3 will use node
labels to set providerID on the kubernetes nodes. If set to false,
providerID is set on nodes by other entities and CAPM3 uses the
value of the providerID on the m3m resource.
type: boolean
type: object
status:
description: Metal3ClusterStatus defines the observed state of Metal3Cluster.
properties:
conditions:
description: Conditions defines current service state of the Metal3Cluster.
items:
description: Condition defines an observation of a Cluster API resource
operational state.
properties:
lastTransitionTime:
description: 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: A human readable message indicating details about
the transition. This field may be empty.
type: string
reason:
description: The reason for the condition's last transition
in CamelCase. The specific API may choose whether or not this
field is considered a guaranteed API. This field may not be
empty.
type: string
severity:
description: Severity provides an explicit classification of
Reason code, so the users or machines can immediately understand
the current situation and act accordingly. The Severity field
MUST be set only when Status=False.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
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.
type: string
required:
- lastTransitionTime
- status
- type
type: object
type: array
failureMessage:
description: FailureMessage indicates that there is a fatal problem
reconciling the state, and will be set to a descriptive error message.
type: string
failureReason:
description: FailureReason indicates that there is a fatal problem
reconciling the state, and will be set to a token value suitable
for programmatic interpretation.
type: string
lastUpdated:
description: LastUpdated identifies when this status was last observed.
format: date-time
type: string
ready:
description: Ready denotes that the Metal3 cluster (infrastructure)
is ready. In Baremetal case, it does not mean anything for now as
no infrastructure steps need to be performed. Required by Cluster
API. Set to True by the metal3Cluster controller after creation.
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1beta1: v1beta1
name: metal3clustertemplates.infrastructure.cluster.x-k8s.io
spec:
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: Metal3ClusterTemplate
listKind: Metal3ClusterTemplateList
plural: metal3clustertemplates
shortNames:
- m3ct
singular: metal3clustertemplate
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Metal3ClusterTemplate is the Schema for the metal3clustertemplates
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: Metal3ClusterTemplateSpec defines the desired state of Metal3ClusterTemplate.
properties:
template:
description: Metal3ClusterTemplateResource describes the data for
creating a Metal3Cluster from a template.
properties:
spec:
description: Metal3ClusterSpec defines the desired state of Metal3Cluster.
properties:
controlPlaneEndpoint:
description: ControlPlaneEndpoint represents the endpoint
used to communicate with the control plane.
properties:
host:
description: Host is the hostname on which the API server
is serving.
type: string
port:
description: Port is the port on which the API server
is serving.
type: integer
required:
- host
- port
type: object
noCloudProvider:
description: Determines if the cluster is not to be deployed
with an external cloud provider. If set to true, CAPM3 will
use node labels to set providerID on the kubernetes nodes.
If set to false, providerID is set on nodes by other entities
and CAPM3 uses the value of the providerID on the m3m resource.
type: boolean
type: object
required:
- spec
type: object
required:
- template
type: object
type: object
served: true
storage: true
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1beta1: v1beta1
name: metal3dataclaims.infrastructure.cluster.x-k8s.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: Metal3DataClaim
listKind: Metal3DataClaimList
plural: metal3dataclaims
shortNames:
- m3dc
- m3dataclaim
- m3dataclaims
- metal3dc
- metal3dataclaim
singular: metal3dataclaim
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Time duration since creation of Metal3DataClaim
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
description: Metal3DataClaim is the Schema for the metal3datas 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: Metal3DataClaimSpec defines the desired state of Metal3DataClaim.
properties:
template:
description: Template is the Metal3DataTemplate this was generated
for.
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
required:
- template
type: object
status:
description: Metal3DataClaimStatus defines the observed state of Metal3DataClaim.
properties:
errorMessage:
description: ErrorMessage contains the error message
type: string
renderedData:
description: RenderedData references the Metal3Data when ready
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
clusterctl.cluster.x-k8s.io/skip-crd-name-preflight-check: ""
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1beta1: v1beta1
name: metal3datas.infrastructure.cluster.x-k8s.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: Metal3Data
listKind: Metal3DataList
plural: metal3datas
shortNames:
- m3d
- m3data
- m3datas
- metal3d
- metal3data
singular: metal3data
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Time duration since creation of Metal3Data
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
description: Metal3Data is the Schema for the metal3datas 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: Metal3DataSpec defines the desired state of Metal3Data.
properties:
claim:
description: DataClaim points to the Metal3DataClaim the Metal3Data
was created for.
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
index:
description: Index stores the index value of this instance in the
Metal3DataTemplate.
type: integer
metaData:
description: MetaData points to the rendered MetaData secret.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
networkData:
description: NetworkData points to the rendered NetworkData secret.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
template:
description: DataTemplate is the Metal3DataTemplate this was generated
from.
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
templateReference:
description: TemplateReference refers to the Template the Metal3MachineTemplate
refers to. It can be matched against the key or it may also point
to the name of the template Metal3Data refers to
type: string
required:
- claim
- template
type: object
status:
description: Metal3DataStatus defines the observed state of Metal3Data.
properties:
errorMessage:
description: ErrorMessage contains the error message
type: string
ready:
description: Ready is a flag set to True if the secrets were rendered
properly
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1beta1: v1beta1
name: metal3datatemplates.infrastructure.cluster.x-k8s.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: Metal3DataTemplate
listKind: Metal3DataTemplateList
plural: metal3datatemplates
shortNames:
- m3dt
- m3datatemplate
- m3datatemplates
- metal3dt
- metal3datatemplate
singular: metal3datatemplate
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Cluster to which this template belongs
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
name: Cluster
type: string
- description: Time duration since creation of Metal3DataTemplate
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
description: Metal3DataTemplate is the Schema for the metal3datatemplates
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: Metal3DataTemplateSpec defines the desired state of Metal3DataTemplate.
properties:
clusterName:
description: ClusterName is the name of the Cluster this object belongs
to.
minLength: 1
type: string
metaData:
description: MetaData contains the information needed to generate
the metadata secret
properties:
dnsServersFromIPPool:
description: DNSServersFromPool is the list of metadata items
to be rendered as dns servers.
items:
properties:
apiGroup:
description: APIGroup is the api group of the IP pool.
type: string
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
kind:
description: Kind is the kind of the IP pool
type: string
name:
description: Name is the name of the IP pool used to fetch
the value to set in the metadata map for cloud-init
type: string
required:
- apiGroup
- key
- kind
- name
type: object
type: array
fromAnnotations:
description: FromAnnotations is the list of metadata items to
be fetched from object Annotations
items:
description: MetaDataFromAnnotation contains the information
to fetch an annotation content, if the label does not exist,
it is rendered as empty string.
properties:
annotation:
description: Annotation is the key of the Annotation to
fetch
type: string
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
object:
description: Object is the type of the object from which
we retrieve the name
enum:
- machine
- metal3machine
- baremetalhost
type: string
required:
- annotation
- key
- object
type: object
type: array
fromHostInterfaces:
description: FromHostInterfaces is the list of metadata items
to be rendered as MAC addresses of the host interfaces.
items:
description: MetaDataHostInterface contains the information
to render the object name.
properties:
interface:
description: Interface is the name of the interface in the
BareMetalHost Status Hardware Details list of interfaces
from which to fetch the MAC address.
type: string
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
required:
- interface
- key
type: object
type: array
fromLabels:
description: FromLabels is the list of metadata items to be fetched
from object labels
items:
description: MetaDataFromLabel contains the information to fetch
a label content, if the label does not exist, it is rendered
as empty string.
properties:
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
label:
description: Label is the key of the label to fetch
type: string
object:
description: Object is the type of the object from which
we retrieve the name
enum:
- machine
- metal3machine
- baremetalhost
type: string
required:
- key
- label
- object
type: object
type: array
gatewaysFromIPPool:
description: GatewaysFromPool is the list of metadata items to
be rendered as gateway addresses.
items:
properties:
apiGroup:
description: APIGroup is the api group of the IP pool.
type: string
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
kind:
description: Kind is the kind of the IP pool
type: string
name:
description: Name is the name of the IP pool used to fetch
the value to set in the metadata map for cloud-init
type: string
required:
- apiGroup
- key
- kind
- name
type: object
type: array
indexes:
description: Indexes is the list of metadata items to be rendered
from the index of the Metal3Data
items:
description: MetaDataIndex contains the information to render
the index.
properties:
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
offset:
description: Offset is the offset to apply to the index
when rendering it
type: integer
prefix:
description: Prefix is the prefix string
type: string
step:
default: 1
description: Step is the multiplier of the index
type: integer
suffix:
description: Suffix is the suffix string
type: string
required:
- key
type: object
type: array
ipAddressesFromIPPool:
description: IPAddressesFromPool is the list of metadata items
to be rendered as ip addresses.
items:
properties:
apiGroup:
description: APIGroup is the api group of the IP pool.
type: string
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
kind:
description: Kind is the kind of the IP pool
type: string
name:
description: Name is the name of the IP pool used to fetch
the value to set in the metadata map for cloud-init
type: string
required:
- apiGroup
- key
- kind
- name
type: object
type: array
namespaces:
description: Namespaces is the list of metadata items to be rendered
from the namespace
items:
description: MetaDataNamespace contains the information to render
the namespace.
properties:
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
required:
- key
type: object
type: array
objectNames:
description: ObjectNames is the list of metadata items to be rendered
from the name of objects.
items:
description: MetaDataObjectName contains the information to
render the object name.
properties:
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
object:
description: Object is the type of the object from which
we retrieve the name
enum:
- machine
- metal3machine
- baremetalhost
type: string
required:
- key
- object
type: object
type: array
prefixesFromIPPool:
description: PrefixesFromPool is the list of metadata items to
be rendered as network prefixes.
items:
properties:
apiGroup:
description: APIGroup is the api group of the IP pool.
type: string
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
kind:
description: Kind is the kind of the IP pool
type: string
name:
description: Name is the name of the IP pool used to fetch
the value to set in the metadata map for cloud-init
type: string
required:
- apiGroup
- key
- kind
- name
type: object
type: array
strings:
description: Strings is the list of metadata items to be rendered
from strings
items:
description: MetaDataString contains the information to render
the string.
properties:
key:
description: Key will be used as the key to set in the metadata
map for cloud-init
type: string
value:
description: Value is the string to render.
type: string
required:
- key
- value
type: object
type: array
type: object
networkData:
description: NetworkData contains the information needed to generate
the networkdata secret
properties:
links:
description: Links is a structure containing lists of different
types objects
properties:
bonds:
description: Bonds contains a list of Bond links
items:
description: NetworkDataLinkBond represents a bond link
object.
properties:
bondLinks:
description: BondLinks is the list of links that are
part of the bond.
items:
type: string
type: array
bondMode:
description: BondMode is the mode of bond used. It can
be one of balance-rr, active-backup, balance-xor,
broadcast, balance-tlb, balance-alb, 802.3ad
enum:
- balance-rr
- active-backup
- balance-xor
- broadcast
- balance-tlb
- balance-alb
- 802.3ad
type: string
bondXmitHashPolicy:
description: Selects the transmit hash policy used for
port selection in balance-xor and 802.3ad modes
enum:
- layer2
- layer3+4
- layer2+3
type: string
id:
description: Id is the ID of the interface (used for
naming)
type: string
macAddress:
description: MACAddress is the MAC address of the interface,
containing the object used to render it.
properties:
fromAnnotation:
description: FromAnnotation references an object
Annotation to retrieve the MAC address from
properties:
annotation:
description: Annotation is the key of the Annotation
to fetch
type: string
object:
description: Object is the type of the object
from which we retrieve the name
enum:
- machine
- metal3machine
- baremetalhost
type: string
required:
- annotation
- object
type: object
fromHostInterface:
description: FromHostInterface contains the name
of the interface in the BareMetalHost Introspection
details from which to fetch the MAC address
type: string
string:
description: String contains the MAC address given
as a string
type: string
type: object
mtu:
default: 1500
description: MTU is the MTU of the interface
maximum: 9000
type: integer
required:
- bondMode
- id
- macAddress
type: object
type: array
ethernets:
description: Ethernets contains a list of Ethernet links
items:
description: NetworkDataLinkEthernet represents an ethernet
link object.
properties:
id:
description: Id is the ID of the interface (used for
naming)
type: string
macAddress:
description: MACAddress is the MAC address of the interface,
containing the object used to render it.
properties:
fromAnnotation:
description: FromAnnotation references an object
Annotation to retrieve the MAC address from
properties:
annotation:
description: Annotation is the key of the Annotation
to fetch
type: string
object:
description: Object is the type of the object
from which we retrieve the name
enum:
- machine
- metal3machine
- baremetalhost
type: string
required:
- annotation
- object
type: object
fromHostInterface:
description: FromHostInterface contains the name
of the interface in the BareMetalHost Introspection
details from which to fetch the MAC address
type: string
string:
description: String contains the MAC address given
as a string
type: string
type: object
mtu:
default: 1500
description: MTU is the MTU of the interface
maximum: 9000
type: integer
type:
description: 'Type is the type of the ethernet link.
It can be one of: bridge, dvs, hw_veb, hyperv, ovs,
tap, vhostuser, vif, phy'
enum:
- bridge
- dvs
- hw_veb
- hyperv
- ovs
- tap
- vhostuser
- vif
- phy
type: string
required:
- id
- macAddress
- type
type: object
type: array
vlans:
description: Vlans contains a list of Vlan links
items:
description: NetworkDataLinkVlan represents a vlan link
object.
properties:
id:
description: Id is the ID of the interface (used for
naming)
type: string
macAddress:
description: MACAddress is the MAC address of the interface,
containing the object used to render it.
properties:
fromAnnotation:
description: FromAnnotation references an object
Annotation to retrieve the MAC address from
properties:
annotation:
description: Annotation is the key of the Annotation
to fetch
type: string
object:
description: Object is the type of the object
from which we retrieve the name
enum:
- machine
- metal3machine
- baremetalhost
type: string
required:
- annotation
- object
type: object
fromHostInterface:
description: FromHostInterface contains the name
of the interface in the BareMetalHost Introspection
details from which to fetch the MAC address
type: string
string:
description: String contains the MAC address given
as a string
type: string
type: object
mtu:
default: 1500
description: MTU is the MTU of the interface
maximum: 9000
type: integer
vlanID:
description: VlanID is the Vlan ID
maximum: 4096
type: integer
vlanLink:
description: VlanLink is the name of the link on which
the vlan should be added
type: string
required:
- id
- macAddress
- vlanID
- vlanLink
type: object
type: array
type: object
networks:
description: Networks is a structure containing lists of different
types objects
properties:
ipv4:
description: IPv4 contains a list of IPv4 static allocations
items:
description: NetworkDataIPv4 represents an ipv4 static network
object.
properties:
fromPoolRef:
description: FromPoolRef is a reference to a IP pool
to allocate an address from.
properties:
apiGroup:
description: APIGroup is the group for the resource
being referenced. If APIGroup is not specified,
the specified Kind must be in the core API group.
For any other third-party types, APIGroup is required.
type: string
kind:
description: Kind is the type of resource being
referenced
type: string
name:
description: Name is the name of resource being
referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
id:
description: ID is the network ID (name)
type: string
ipAddressFromIPPool:
description: IPAddressFromIPPool contains the name of
the IP pool to use to get an ip address
type: string
link:
description: Link is the link on which the network applies
type: string
routes:
description: Routes contains a list of IPv4 routes
items:
description: NetworkDataRoutev4 represents an ipv4
route object.
properties:
gateway:
description: Gateway is the IPv4 address of the
gateway
properties:
fromIPPool:
description: FromIPPool is the name of the
IPPool to fetch the gateway from
type: string
string:
description: String is the gateway given as
a string
pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$
type: string
type: object
network:
description: Network is the IPv4 network address
pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$
type: string
prefix:
description: Prefix is the mask of the network
as integer (max 32)
maximum: 32
type: integer
services:
description: Services is a list of IPv4 services
properties:
dns:
description: DNS is a list of IPv4 DNS services
items:
description: IPAddressv4 is used for validation
of an IPv6 address.
pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$
type: string
type: array
dnsFromIPPool:
description: DNSFromIPPool is the name of
the IPPool from which to get the DNS servers
type: string
type: object
required:
- gateway
- network
type: object
type: array
required:
- id
- link
type: object
type: array
ipv4DHCP:
description: IPv4 contains a list of IPv4 DHCP allocations
items:
description: NetworkDataIPv4DHCP represents an ipv4 DHCP
network object.
properties:
id:
description: ID is the network ID (name)
type: string
link:
description: Link is the link on which the network applies
type: string
routes:
description: Routes contains a list of IPv4 routes
items:
description: NetworkDataRoutev4 represents an ipv4
route object.
properties:
gateway:
description: Gateway is the IPv4 address of the
gateway
properties:
fromIPPool:
description: FromIPPool is the name of the
IPPool to fetch the gateway from
type: string
string:
description: String is the gateway given as
a string
pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$
type: string
type: object
network:
description: Network is the IPv4 network address
pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$
type: string
prefix:
description: Prefix is the mask of the network
as integer (max 32)
maximum: 32
type: integer
services:
description: Services is a list of IPv4 services
properties:
dns:
description: DNS is a list of IPv4 DNS services
items:
description: IPAddressv4 is used for validation
of an IPv6 address.
pattern: ^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$
type: string
type: array
dnsFromIPPool:
description: DNSFromIPPool is the name of
the IPPool from which to get the DNS servers
type: string
type: object
required:
- gateway
- network
type: object
type: array
required:
- id
- link
type: object
type: array
ipv6:
description: IPv4 contains a list of IPv6 static allocations
items:
description: NetworkDataIPv6 represents an ipv6 static network
object.
properties:
fromPoolRef:
description: FromPoolRef is a reference to a IP pool
to allocate an address from.
properties:
apiGroup:
description: APIGroup is the group for the resource
being referenced. If APIGroup is not specified,
the specified Kind must be in the core API group.
For any other third-party types, APIGroup is required.
type: string
kind:
description: Kind is the type of resource being
referenced
type: string
name:
description: Name is the name of resource being
referenced
type: string
required:
- kind
- name
type: object
x-kubernetes-map-type: atomic
id:
description: ID is the network ID (name)
type: string
ipAddressFromIPPool:
description: IPAddressFromIPPool contains the name of
the IPPool to use to get an ip address
type: string
link:
description: Link is the link on which the network applies
type: string
routes:
description: Routes contains a list of IPv6 routes
items:
description: NetworkDataRoutev6 represents an ipv6
route object.
properties:
gateway:
description: Gateway is the IPv6 address of the
gateway
properties:
fromIPPool:
description: FromIPPool is the name of the
IPPool to fetch the gateway from
type: string
string:
description: String is the gateway given as
a string
pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$
type: string
type: object
network:
description: Network is the IPv6 network address
pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$
type: string
prefix:
description: Prefix is the mask of the network
as integer (max 128)
maximum: 128
type: integer
services:
description: Services is a list of IPv6 services
properties:
dns:
description: DNS is a list of IPv6 DNS services
items:
description: IPAddressv6 is used for validation
of an IPv6 address.
pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$
type: string
type: array
dnsFromIPPool:
description: DNSFromIPPool is the name of
the IPPool from which to get the DNS servers
type: string
type: object
required:
- gateway
- network
type: object
type: array
required:
- id
- ipAddressFromIPPool
- link
type: object
type: array
ipv6DHCP:
description: IPv4 contains a list of IPv6 DHCP allocations
items:
description: NetworkDataIPv6DHCP represents an ipv6 DHCP
network object.
properties:
id:
description: ID is the network ID (name)
type: string
link:
description: Link is the link on which the network applies
type: string
routes:
description: Routes contains a list of IPv6 routes
items:
description: NetworkDataRoutev6 represents an ipv6
route object.
properties:
gateway:
description: Gateway is the IPv6 address of the
gateway
properties:
fromIPPool:
description: FromIPPool is the name of the
IPPool to fetch the gateway from
type: string
string:
description: String is the gateway given as
a string
pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$
type: string
type: object
network:
description: Network is the IPv6 network address
pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$
type: string
prefix:
description: Prefix is the mask of the network
as integer (max 128)
maximum: 128
type: integer
services:
description: Services is a list of IPv6 services
properties:
dns:
description: DNS is a list of IPv6 DNS services
items:
description: IPAddressv6 is used for validation
of an IPv6 address.
pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$
type: string
type: array
dnsFromIPPool:
description: DNSFromIPPool is the name of
the IPPool from which to get the DNS servers
type: string
type: object
required:
- gateway
- network
type: object
type: array
required:
- id
- link
type: object
type: array
ipv6SLAAC:
description: IPv4 contains a list of IPv6 SLAAC allocations
items:
description: NetworkDataIPv6DHCP represents an ipv6 DHCP
network object.
properties:
id:
description: ID is the network ID (name)
type: string
link:
description: Link is the link on which the network applies
type: string
routes:
description: Routes contains a list of IPv6 routes
items:
description: NetworkDataRoutev6 represents an ipv6
route object.
properties:
gateway:
description: Gateway is the IPv6 address of the
gateway
properties:
fromIPPool:
description: FromIPPool is the name of the
IPPool to fetch the gateway from
type: string
string:
description: String is the gateway given as
a string
pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$
type: string
type: object
network:
description: Network is the IPv6 network address
pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$
type: string
prefix:
description: Prefix is the mask of the network
as integer (max 128)
maximum: 128
type: integer
services:
description: Services is a list of IPv6 services
properties:
dns:
description: DNS is a list of IPv6 DNS services
items:
description: IPAddressv6 is used for validation
of an IPv6 address.
pattern: ^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$
type: string
type: array
dnsFromIPPool:
description: DNSFromIPPool is the name of
the IPPool from which to get the DNS servers
type: string
type: object
required:
- gateway
- network
type: object
type: array
required:
- id
- link
type: object
type: array
type: object
services:
description: Services is a structure containing lists of different
types objects
properties:
dns:
description: DNS is a list of DNS services
items:
description: IPAddress is used for validation of an IP address.
pattern: ((^((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))$)|(^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$))
type: string
type: array
dnsFromIPPool:
description: DNSFromIPPool is the name of the IPPool from
which to get the DNS servers
type: string
type: object
type: object
templateReference:
description: TemplateReference refers to the Template the Metal3MachineTemplate
refers to. It can be matched against the key or it may also point
to the name of the template Metal3Data refers to
type: string
required:
- clusterName
type: object
status:
description: Metal3DataTemplateStatus defines the observed state of Metal3DataTemplate.
properties:
indexes:
additionalProperties:
type: integer
description: Indexes contains the map of Metal3Machine and index used
type: object
lastUpdated:
description: LastUpdated identifies when this status was last observed.
format: date-time
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1beta1: v1beta1
name: metal3machines.infrastructure.cluster.x-k8s.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: Metal3Machine
listKind: Metal3MachineList
plural: metal3machines
shortNames:
- m3m
- m3machine
- m3machines
- metal3m
- metal3machine
singular: metal3machine
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Time duration since creation of Metal3Machine
jsonPath: .metadata.creationTimestamp
name: Age
type: date
- description: Provider ID
jsonPath: .spec.providerID
name: ProviderID
type: string
- description: metal3machine is Ready
jsonPath: .status.ready
name: Ready
type: string
- description: Cluster to which this M3Machine belongs
jsonPath: .metadata.labels.cluster\.x-k8s\.io/cluster-name
name: Cluster
type: string
- description: metal3machine current phase
jsonPath: .status.phase
name: Phase
type: string
name: v1beta1
schema:
openAPIV3Schema:
description: Metal3Machine is the Schema for the metal3machines 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: Metal3MachineSpec defines the desired state of Metal3Machine.
properties:
automatedCleaningMode:
description: When set to disabled, automated cleaning of host disks
will be skipped during provisioning and deprovisioning.
enum:
- metadata
- disabled
type: string
customDeploy:
description: A custom deploy procedure.
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.
type: string
required:
- method
type: object
dataTemplate:
description: MetadataTemplate is a reference to a Metal3DataTemplate
object containing a template of metadata to be rendered. Metadata
keys defined in the metadataTemplate take precedence over keys defined
in metadata field.
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
hostSelector:
description: HostSelector specifies matching criteria for labels on
BareMetalHosts. This is used to limit the set of BareMetalHost objects
considered for claiming for a metal3machine.
properties:
matchExpressions:
description: Label match expressions that must be true on a chosen
BareMetalHost
items:
properties:
key:
type: string
operator:
description: Operator represents a key/field's relationship
to value(s). See labels.Requirement and fields.Requirement
for more details.
type: string
values:
items:
type: string
type: array
required:
- key
- operator
- values
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: Key/value pairs of labels that must exist on a chosen
BareMetalHost
type: object
type: object
image:
description: Image is the image to be provisioned.
properties:
checksum:
description: Checksum is a md5sum, sha256sum or sha512sum value
or a URL to retrieve one.
type: string
checksumType:
description: ChecksumType is the checksum algorithm for the image.
e.g md5, sha256, sha512
enum:
- md5
- sha256
- sha512
type: string
format:
description: DiskFormat contains the image disk format.
enum:
- raw
- qcow2
- vdi
- vmdk
- live-iso
type: string
url:
description: URL is a location of an image to deploy.
type: string
required:
- checksum
- url
type: object
metaData:
description: MetaData is an object storing the reference to the secret
containing the Metadata given by the user.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
networkData:
description: NetworkData is an object storing the reference to the
secret containing the network data given by the user.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
providerID:
description: ProviderID will be the Metal3 machine in ProviderID format
(metal3://<bmh-uuid>)
type: string
userData:
description: UserData references the Secret that holds user data needed
by the bare metal operator. The Namespace is optional; it will default
to the metal3machine's namespace if not specified.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
type: object
status:
description: Metal3MachineStatus defines the observed state of Metal3Machine.
properties:
addresses:
description: Addresses is a list of addresses assigned to the machine.
This field is copied from the infrastructure provider reference.
items:
description: MachineAddress contains information for the node's
address.
properties:
address:
description: The machine address.
type: string
type:
description: Machine address type, one of Hostname, ExternalIP,
InternalIP, ExternalDNS or InternalDNS.
type: string
required:
- address
- type
type: object
type: array
conditions:
description: Conditions defines current service state of the Metal3Machine.
items:
description: Condition defines an observation of a Cluster API resource
operational state.
properties:
lastTransitionTime:
description: 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: A human readable message indicating details about
the transition. This field may be empty.
type: string
reason:
description: The reason for the condition's last transition
in CamelCase. The specific API may choose whether or not this
field is considered a guaranteed API. This field may not be
empty.
type: string
severity:
description: Severity provides an explicit classification of
Reason code, so the users or machines can immediately understand
the current situation and act accordingly. The Severity field
MUST be set only when Status=False.
type: string
status:
description: Status of the condition, one of True, False, Unknown.
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.
type: string
required:
- lastTransitionTime
- status
- type
type: object
type: array
failureMessage:
description: "FailureMessage will be set in the event that there is
a terminal problem reconciling the metal3machine and will contain
a more verbose string suitable for logging and human consumption.
\n This field should not be set for transitive errors that a controller
faces that are expected to be fixed automatically over time (like
service outages), but instead indicate that something is fundamentally
wrong with the metal3machine's spec or the configuration of the
controller, and that manual intervention is required. Examples of
terminal errors would be invalid combinations of settings in the
spec, values that are unsupported by the controller, or the responsible
controller itself being critically misconfigured. \n Any transient
errors that occur during the reconciliation of metal3machines can
be added as events to the metal3machine object and/or logged in
the controller's output."
type: string
failureReason:
description: "FailureReason will be set in the event that there is
a terminal problem reconciling the metal3machine and will contain
a succinct value suitable for machine interpretation. \n This field
should not be set for transitive errors that a controller faces
that are expected to be fixed automatically over time (like service
outages), but instead indicate that something is fundamentally wrong
with the metal3machine's spec or the configuration of the controller,
and that manual intervention is required. Examples of terminal errors
would be invalid combinations of settings in the spec, values that
are unsupported by the controller, or the responsible controller
itself being critically misconfigured. \n Any transient errors that
occur during the reconciliation of metal3machines can be added as
events to the metal3machine object and/or logged in the controller's
output."
type: string
lastUpdated:
description: LastUpdated identifies when this status was last observed.
format: date-time
type: string
metaData:
description: MetaData is an object storing the reference to the secret
containing the Metadata used to deploy the BareMetalHost.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
networkData:
description: NetworkData is an object storing the reference to the
secret containing the network data used to deploy the BareMetalHost.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
phase:
description: Phase represents the current phase of machine actuation.
E.g. Pending, Running, Terminating, Failed etc.
type: string
ready:
description: 'Ready is the state of the metal3. TODO : Document the
variable : mhrivnak: " it would be good to document what this means,
how to interpret it, under what circumstances the value changes,
etc."'
type: boolean
renderedData:
description: RenderedData is a reference to a rendered Metal3Data
object containing the references to metaData and networkData secrets.
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
userData:
description: UserData references the Secret that holds user data needed
by the bare metal operator. The Namespace is optional; it will default
to the metal3machine's namespace if not specified.
properties:
name:
description: name is unique within a namespace to reference a
secret resource.
type: string
namespace:
description: namespace defines the space within which the secret
name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1beta1: v1beta1
name: metal3machinetemplates.infrastructure.cluster.x-k8s.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: Metal3MachineTemplate
listKind: Metal3MachineTemplateList
plural: metal3machinetemplates
shortNames:
- m3mt
- m3machinetemplate
- m3machinetemplates
- metal3mt
- metal3machinetemplate
singular: metal3machinetemplate
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Time duration since creation of Metal3MachineTemplate
jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1beta1
schema:
openAPIV3Schema:
description: Metal3MachineTemplate is the Schema for the metal3machinetemplates
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: Metal3MachineTemplateSpec defines the desired state of Metal3MachineTemplate.
properties:
nodeReuse:
default: false
description: When set to True, CAPM3 Machine controller will pick
the same pool of BMHs' that were released during the upgrade operation.
type: boolean
template:
description: Metal3MachineTemplateResource describes the data needed
to create a Metal3Machine from a template.
properties:
spec:
description: Spec is the specification of the desired behavior
of the machine.
properties:
automatedCleaningMode:
description: When set to disabled, automated cleaning of host
disks will be skipped during provisioning and deprovisioning.
enum:
- metadata
- disabled
type: string
customDeploy:
description: A custom deploy procedure.
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.
type: string
required:
- method
type: object
dataTemplate:
description: MetadataTemplate is a reference to a Metal3DataTemplate
object containing a template of metadata to be rendered.
Metadata keys defined in the metadataTemplate take precedence
over keys defined in metadata field.
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.'
type: string
kind:
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'
type: string
namespace:
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'
type: string
uid:
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
hostSelector:
description: HostSelector specifies matching criteria for
labels on BareMetalHosts. This is used to limit the set
of BareMetalHost objects considered for claiming for a metal3machine.
properties:
matchExpressions:
description: Label match expressions that must be true
on a chosen BareMetalHost
items:
properties:
key:
type: string
operator:
description: Operator represents a key/field's relationship
to value(s). See labels.Requirement and fields.Requirement
for more details.
type: string
values:
items:
type: string
type: array
required:
- key
- operator
- values
type: object
type: array
matchLabels:
additionalProperties:
type: string
description: Key/value pairs of labels that must exist
on a chosen BareMetalHost
type: object
type: object
image:
description: Image is the image to be provisioned.
properties:
checksum:
description: Checksum is a md5sum, sha256sum or sha512sum
value or a URL to retrieve one.
type: string
checksumType:
description: ChecksumType is the checksum algorithm for
the image. e.g md5, sha256, sha512
enum:
- md5
- sha256
- sha512
type: string
format:
description: DiskFormat contains the image disk format.
enum:
- raw
- qcow2
- vdi
- vmdk
- live-iso
type: string
url:
description: URL is a location of an image to deploy.
type: string
required:
- checksum
- url
type: object
metaData:
description: MetaData is an object storing the reference to
the secret containing the Metadata given by the user.
properties:
name:
description: name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: namespace defines the space within which
the secret name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
networkData:
description: NetworkData is an object storing the reference
to the secret containing the network data given by the user.
properties:
name:
description: name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: namespace defines the space within which
the secret name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
providerID:
description: ProviderID will be the Metal3 machine in ProviderID
format (metal3://<bmh-uuid>)
type: string
userData:
description: UserData references the Secret that holds user
data needed by the bare metal operator. The Namespace is
optional; it will default to the metal3machine's namespace
if not specified.
properties:
name:
description: name is unique within a namespace to reference
a secret resource.
type: string
namespace:
description: namespace defines the space within which
the secret name must be unique.
type: string
type: object
x-kubernetes-map-type: atomic
type: object
required:
- spec
type: object
required:
- template
type: object
type: object
served: true
storage: true
subresources: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1beta1: v1beta1
name: metal3remediations.infrastructure.cluster.x-k8s.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: Metal3Remediation
listKind: Metal3RemediationList
plural: metal3remediations
shortNames:
- m3r
- m3remediation
singular: metal3remediation
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: How many times remediation controller should attempt to remediate
the host
jsonPath: .spec.strategy.retryLimit
name: Retry limit
type: string
- description: How many times remediation controller has tried to remediate the
node
jsonPath: .status.retryCount
name: Retry count
type: string
- description: Timestamp of the last remediation attempt
jsonPath: .status.lastRemediated
name: Last Remediated
type: string
- description: Type of the remediation strategy
jsonPath: .spec.strategy.type
name: Strategy
type: string
- description: Phase of the remediation
jsonPath: .status.phase
name: Phase
type: string
name: v1beta1
schema:
openAPIV3Schema:
description: Metal3Remediation is the Schema for the metal3remediations 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: Metal3RemediationSpec defines the desired state of Metal3Remediation.
properties:
strategy:
description: Strategy field defines remediation strategy.
properties:
retryLimit:
description: Sets maximum number of remediation retries.
type: integer
timeout:
description: Sets the timeout between remediation retries.
type: string
type:
description: Type of remediation.
type: string
type: object
type: object
status:
description: Metal3RemediationStatus defines the observed state of Metal3Remediation.
properties:
lastRemediated:
description: LastRemediated identifies when the host was last remediated
format: date-time
type: string
phase:
description: Phase represents the current phase of machine remediation.
E.g. Pending, Running, Done etc.
type: string
retryCount:
description: RetryCount can be used as a counter during the remediation.
Field can hold number of reboots etc.
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
controller-gen.kubebuilder.io/version: v0.13.0
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
cluster.x-k8s.io/v1beta1: v1beta1
name: metal3remediationtemplates.infrastructure.cluster.x-k8s.io
spec:
conversion:
strategy: Webhook
webhook:
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /convert
conversionReviewVersions:
- v1
- v1beta1
group: infrastructure.cluster.x-k8s.io
names:
categories:
- cluster-api
kind: Metal3RemediationTemplate
listKind: Metal3RemediationTemplateList
plural: metal3remediationtemplates
shortNames:
- m3rt
- m3remediationtemplate
- m3remediationtemplates
- metal3rt
- metal3remediationtemplate
singular: metal3remediationtemplate
scope: Namespaced
versions:
- name: v1beta1
schema:
openAPIV3Schema:
description: Metal3RemediationTemplate is the Schema for the metal3remediationtemplates
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: Metal3RemediationTemplateSpec defines the desired state of
Metal3RemediationTemplate.
properties:
template:
description: Metal3RemediationTemplateResource describes the data
needed to create a Metal3Remediation from a template.
properties:
spec:
description: Spec is the specification of the desired behavior
of the Metal3Remediation.
properties:
strategy:
description: Strategy field defines remediation strategy.
properties:
retryLimit:
description: Sets maximum number of remediation retries.
type: integer
timeout:
description: Sets the timeout between remediation retries.
type: string
type:
description: Type of remediation.
type: string
type: object
type: object
required:
- spec
type: object
required:
- template
type: object
status:
description: Metal3RemediationTemplateStatus defines the observed state
of Metal3RemediationTemplate.
properties:
status:
description: Metal3RemediationStatus defines the observed state of
Metal3Remediation
properties:
lastRemediated:
description: LastRemediated identifies when the host was last
remediated
format: date-time
type: string
phase:
description: Phase represents the current phase of machine remediation.
E.g. Pending, Running, Done etc.
type: string
retryCount:
description: RetryCount can be used as a counter during the remediation.
Field can hold number of reboots etc.
type: integer
type: object
required:
- status
type: object
type: object
served: true
storage: true
subresources:
status: {}
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-manager
namespace: capm3-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: ipam-manager
namespace: capm3-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-leader-election-role
namespace: capm3-system
rules:
- apiGroups:
- ""
resources:
- events
verbs:
- create
- apiGroups:
- coordination.k8s.io
resources:
- leases
verbs:
- get
- list
- watch
- create
- update
- patch
- delete
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: ipam-leader-election-role
namespace: capm3-system
rules:
- apiGroups:
- ""
resources:
- events
verbs:
- create
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-manager-role
rules:
- apiGroups:
- ""
resources:
- events
verbs:
- create
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- secrets
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
- apiGroups:
- cluster.x-k8s.io
resources:
- clusters
verbs:
- get
- list
- watch
- apiGroups:
- cluster.x-k8s.io
resources:
- clusters
- clusters/status
verbs:
- get
- list
- watch
- apiGroups:
- cluster.x-k8s.io
resources:
- clusters/status
verbs:
- get
- apiGroups:
- cluster.x-k8s.io
resources:
- kubeadmcontrolplanes
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- cluster.x-k8s.io
resources:
- machinedeployments
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- cluster.x-k8s.io
resources:
- machines
- machines/status
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- cluster.x-k8s.io
resources:
- machinesets
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- nodes
verbs:
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- pods
verbs:
- list
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3clusters
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3clusters/status
verbs:
- get
- patch
- update
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3dataclaims
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3dataclaims/status
verbs:
- get
- patch
- update
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3datas
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3datas/status
verbs:
- get
- patch
- update
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3datatemplates
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3datatemplates/status
verbs:
- get
- patch
- update
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3machines
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3machines/status
verbs:
- get
- patch
- update
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3machinetemplates
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3remediations
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- infrastructure.cluster.x-k8s.io
resources:
- metal3remediations/status
verbs:
- get
- patch
- update
- apiGroups:
- ipam.cluster.x-k8s.io
resources:
- ipaddressclaims
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ipam.cluster.x-k8s.io
resources:
- ipaddressclaims/status
verbs:
- get
- watch
- apiGroups:
- ipam.cluster.x-k8s.io
resources:
- ipaddresses
verbs:
- get
- list
- watch
- apiGroups:
- ipam.cluster.x-k8s.io
resources:
- ipaddresses/status
verbs:
- get
- apiGroups:
- ipam.metal3.io
resources:
- ipaddresses
verbs:
- get
- list
- watch
- apiGroups:
- ipam.metal3.io
resources:
- ipaddresses/status
verbs:
- get
- apiGroups:
- ipam.metal3.io
resources:
- ipclaims
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ipam.metal3.io
resources:
- ipclaims/status
verbs:
- get
- watch
- apiGroups:
- metal3.io
resources:
- baremetalhosts
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- metal3.io
resources:
- baremetalhosts/status
verbs:
- get
- patch
- update
- apiGroups:
- storage.k8s.io
resources:
- volumeattachments
verbs:
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: ipam-manager-role
rules:
- apiGroups:
- ""
resources:
- events
verbs:
- create
- get
- list
- patch
- update
- watch
- apiGroups:
- ""
resources:
- secrets
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- authentication.k8s.io
resources:
- tokenreviews
verbs:
- create
- apiGroups:
- authorization.k8s.io
resources:
- subjectaccessreviews
verbs:
- create
- apiGroups:
- cluster.x-k8s.io
resources:
- clusters
verbs:
- get
- list
- watch
- apiGroups:
- cluster.x-k8s.io
resources:
- clusters/status
verbs:
- get
- apiGroups:
- ipam.metal3.io
resources:
- ipaddresses
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ipam.metal3.io
resources:
- ipaddresses/status
verbs:
- get
- patch
- update
- apiGroups:
- ipam.metal3.io
resources:
- ipclaims
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ipam.metal3.io
resources:
- ipclaims/status
verbs:
- get
- patch
- update
- apiGroups:
- ipam.metal3.io
resources:
- ippools
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- ipam.metal3.io
resources:
- ippools/status
verbs:
- get
- patch
- update
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-leader-election-rolebinding
namespace: capm3-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: capm3-leader-election-role
subjects:
- kind: ServiceAccount
name: capm3-manager
namespace: capm3-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: ipam-leader-election-rolebinding
namespace: capm3-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: ipam-leader-election-role
subjects:
- kind: ServiceAccount
name: ipam-manager
namespace: capm3-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-manager-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: capm3-manager-role
subjects:
- kind: ServiceAccount
name: capm3-manager
namespace: capm3-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: ipam-manager-rolebinding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: ipam-manager-role
subjects:
- kind: ServiceAccount
name: ipam-manager
namespace: capm3-system
---
apiVersion: v1
data:
CAPM3_FAST_TRACK: ${CAPM3_FAST_TRACK:='false'}
kind: ConfigMap
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-capm3fasttrack-configmap
namespace: capm3-system
---
apiVersion: v1
kind: Service
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-webhook-service
namespace: capm3-system
spec:
ports:
- port: 443
targetPort: webhook-server
selector:
cluster.x-k8s.io/provider: infrastructure-metal3
---
apiVersion: v1
kind: Service
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: ipam-webhook-service
namespace: capm3-system
spec:
ports:
- port: 443
targetPort: ipam-webhook
selector:
cluster.x-k8s.io/provider: infrastructure-metal3
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
control-plane: controller-manager
controller-tools.k8s.io: "1.0"
name: capm3-controller-manager
namespace: capm3-system
spec:
selector:
matchLabels:
cluster.x-k8s.io/provider: infrastructure-metal3
control-plane: controller-manager
controller-tools.k8s.io: "1.0"
template:
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
control-plane: controller-manager
controller-tools.k8s.io: "1.0"
spec:
containers:
- args:
- --webhook-port=9443
- --enableBMHNameBasedPreallocation=${ENABLE_BMH_NAME_BASED_PREALLOCATION:=false}
- --diagnostics-address=${CAPM3_DIAGNOSTICS_ADDRESS:=:8443}
- --insecure-diagnostics=${CAPM3_INSECURE_DIAGNOSTICS:=false}
command:
- /manager
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
envFrom:
- configMapRef:
name: capm3-capm3fasttrack-configmap
image: registry.rancher.com/rancher/cluster-api-provider-metal3:v1.8.2
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /healthz
port: healthz
name: manager
ports:
- containerPort: 9443
name: webhook-server
protocol: TCP
- containerPort: 9440
name: healthz
protocol: TCP
- containerPort: 8443
name: metrics
protocol: TCP
readinessProbe:
httpGet:
path: /readyz
port: healthz
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
runAsGroup: 65532
runAsUser: 65532
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert
readOnly: true
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
serviceAccountName: capm3-manager
terminationGracePeriodSeconds: 10
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
volumes:
- name: cert
secret:
defaultMode: 420
secretName: capm3-webhook-service-cert
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
control-plane: controller-manager
controller-tools.k8s.io: "1.0"
name: ipam-controller-manager
namespace: capm3-system
spec:
selector:
matchLabels:
cluster.x-k8s.io/provider: infrastructure-metal3
control-plane: controller-manager
controller-tools.k8s.io: "1.0"
template:
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
control-plane: controller-manager
controller-tools.k8s.io: "1.0"
spec:
containers:
- args:
- --webhook-port=9443
- --diagnostics-address=${IPAM_DIAGNOSTICS_ADDRESS:=:8443}
- --insecure-diagnostics=${IPAM_INSECURE_DIAGNOSTICS:=false}
command:
- /manager
env:
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: quay.io/metal3-io/ip-address-manager:v1.8.1
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /healthz
port: healthz
name: manager
ports:
- containerPort: 9443
name: ipam-webhook
protocol: TCP
- containerPort: 9440
name: healthz
protocol: TCP
- containerPort: 8443
name: metrics
protocol: TCP
readinessProbe:
httpGet:
path: /readyz
port: healthz
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
privileged: false
runAsGroup: 65532
runAsUser: 65532
terminationMessagePolicy: FallbackToLogsOnError
volumeMounts:
- mountPath: /tmp/k8s-webhook-server/serving-certs
name: cert
readOnly: true
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
serviceAccountName: ipam-manager
terminationGracePeriodSeconds: 10
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
- effect: NoSchedule
key: node-role.kubernetes.io/control-plane
volumes:
- name: cert
secret:
defaultMode: 420
secretName: ipam-webhook-service-cert
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-serving-cert
namespace: capm3-system
spec:
dnsNames:
- capm3-webhook-service.capm3-system.svc
- capm3-webhook-service.capm3-system.svc.cluster.local
issuerRef:
kind: Issuer
name: capm3-selfsigned-issuer
secretName: capm3-webhook-service-cert
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: ipam-serving-cert
namespace: capm3-system
spec:
dnsNames:
- ipam-webhook-service.capm3-system.svc
- ipam-webhook-service.capm3-system.svc.cluster.local
issuerRef:
kind: Issuer
name: ipam-selfsigned-issuer
secretName: ipam-webhook-service-cert
---
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-selfsigned-issuer
namespace: capm3-system
spec:
selfSigned: {}
---
apiVersion: cert-manager.io/v1
kind: Issuer
metadata:
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: ipam-selfsigned-issuer
namespace: capm3-system
spec:
selfSigned: {}
---
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-mutating-webhook-configuration
webhooks:
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster
failurePolicy: Fail
matchPolicy: Equivalent
name: default.metal3cluster.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3clusters
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3clustertemplate
failurePolicy: Fail
matchPolicy: Equivalent
name: default.metal3clustertemplate.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3clustertemplates
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data
failurePolicy: Fail
matchPolicy: Equivalent
name: default.metal3data.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3datas
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim
failurePolicy: Fail
matchPolicy: Equivalent
name: default.metal3dataclaim.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3dataclaims
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate
failurePolicy: Fail
matchPolicy: Equivalent
name: default.metal3datatemplate.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3datatemplates
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine
failurePolicy: Fail
matchPolicy: Equivalent
name: default.metal3machine.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3machines
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate
failurePolicy: Fail
matchPolicy: Equivalent
name: default.metal3machinetemplate.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3machinetemplates
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation
failurePolicy: Fail
matchPolicy: Equivalent
name: default.metal3remediation.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3remediations
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /mutate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate
failurePolicy: Fail
matchPolicy: Equivalent
name: default.metal3remediationtemplate.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3remediationtemplates
sideEffects: None
---
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/ipam-serving-cert
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: ipam-mutating-webhook-configuration
webhooks:
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: ipam-webhook-service
namespace: capm3-system
path: /mutate-ipam-metal3-io-v1alpha1-ipaddress
failurePolicy: Fail
matchPolicy: Equivalent
name: default.ipaddress.ipam.metal3.io
rules:
- apiGroups:
- ipam.metal3.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- ipaddresses
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: ipam-webhook-service
namespace: capm3-system
path: /mutate-ipam-metal3-io-v1alpha1-ipclaim
failurePolicy: Fail
matchPolicy: Equivalent
name: default.ipclaim.ipam.metal3.io
rules:
- apiGroups:
- ipam.metal3.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- ipclaims
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: ipam-webhook-service
namespace: capm3-system
path: /mutate-ipam-metal3-io-v1alpha1-ippool
failurePolicy: Fail
matchPolicy: Equivalent
name: default.ippool.ipam.metal3.io
rules:
- apiGroups:
- ipam.metal3.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- ippools
sideEffects: None
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/capm3-serving-cert
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: capm3-validating-webhook-configuration
webhooks:
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3cluster
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.metal3cluster.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3clusters
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3clustertemplate
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.metal3clustertemplate.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3clustertemplates
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3data
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.metal3data.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3datas
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3dataclaim
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.metal3dataclaim.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3dataclaims
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3datatemplate
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.metal3datatemplate.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3datatemplates
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machine
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.metal3machine.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3machines
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3machinetemplate
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.metal3machinetemplate.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3machinetemplates
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediation
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.metal3remediation.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3remediations
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: capm3-webhook-service
namespace: capm3-system
path: /validate-infrastructure-cluster-x-k8s-io-v1beta1-metal3remediationtemplate
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.metal3remediationtemplate.infrastructure.cluster.x-k8s.io
rules:
- apiGroups:
- infrastructure.cluster.x-k8s.io
apiVersions:
- v1beta1
operations:
- CREATE
- UPDATE
resources:
- metal3remediationtemplates
sideEffects: None
---
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
annotations:
cert-manager.io/inject-ca-from: capm3-system/ipam-serving-cert
labels:
cluster.x-k8s.io/provider: infrastructure-metal3
name: ipam-validating-webhook-configuration
webhooks:
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: ipam-webhook-service
namespace: capm3-system
path: /validate-ipam-metal3-io-v1alpha1-ipaddress
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.ipaddress.ipam.metal3.io
rules:
- apiGroups:
- ipam.metal3.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- ipaddresses
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: ipam-webhook-service
namespace: capm3-system
path: /validate-ipam-metal3-io-v1alpha1-ipclaim
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.ipclaim.ipam.metal3.io
rules:
- apiGroups:
- ipam.metal3.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- ipclaims
sideEffects: None
- admissionReviewVersions:
- v1
- v1beta1
clientConfig:
service:
name: ipam-webhook-service
namespace: capm3-system
path: /validate-ipam-metal3-io-v1alpha1-ippool
failurePolicy: Fail
matchPolicy: Equivalent
name: validation.ippool.ipam.metal3.io
rules:
- apiGroups:
- ipam.metal3.io
apiVersions:
- v1alpha1
operations:
- CREATE
- UPDATE
resources:
- ippools
sideEffects: None
metadata: |
apiVersion: clusterctl.cluster.x-k8s.io/v1alpha3
kind: Metadata
releaseSeries:
- major: 1
minor: 8
contract: v1beta1
- major: 1
minor: 7
contract: v1beta1
- major: 1
minor: 6
contract: v1beta1
- major: 1
minor: 5
contract: v1beta1
- major: 1
minor: 4
contract: v1beta1
- major: 1
minor: 3
contract: v1beta1
- major: 1
minor: 2
contract: v1beta1
- major: 1
minor: 1
contract: v1beta1
kind: ConfigMap
metadata:
creationTimestamp: null
name: v1.8.2
namespace: capm3-system
labels:
provider-components: metal3