forked from suse-edge/Factory
2752 lines
153 KiB
YAML
2752 lines
153 KiB
YAML
|
apiVersion: v1
|
||
|
kind: Namespace
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
control-plane: controller-manager
|
||
|
name: rke2-bootstrap-system
|
||
|
---
|
||
|
apiVersion: v1
|
||
|
data:
|
||
|
components: |
|
||
|
apiVersion: v1
|
||
|
kind: Namespace
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
control-plane: controller-manager
|
||
|
name: rke2-bootstrap-system
|
||
|
---
|
||
|
apiVersion: apiextensions.k8s.io/v1
|
||
|
kind: CustomResourceDefinition
|
||
|
metadata:
|
||
|
annotations:
|
||
|
cert-manager.io/inject-ca-from: rke2-bootstrap-system/rke2-bootstrap-serving-cert
|
||
|
controller-gen.kubebuilder.io/version: v0.14.0
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
cluster.x-k8s.io/v1beta1: v1alpha1_v1beta1
|
||
|
name: rke2configs.bootstrap.cluster.x-k8s.io
|
||
|
spec:
|
||
|
conversion:
|
||
|
strategy: Webhook
|
||
|
webhook:
|
||
|
clientConfig:
|
||
|
caBundle: Cg==
|
||
|
service:
|
||
|
name: rke2-bootstrap-webhook-service
|
||
|
namespace: rke2-bootstrap-system
|
||
|
path: /convert
|
||
|
conversionReviewVersions:
|
||
|
- v1
|
||
|
- v1beta1
|
||
|
group: bootstrap.cluster.x-k8s.io
|
||
|
names:
|
||
|
kind: RKE2Config
|
||
|
listKind: RKE2ConfigList
|
||
|
plural: rke2configs
|
||
|
singular: rke2config
|
||
|
scope: Namespaced
|
||
|
versions:
|
||
|
- name: v1alpha1
|
||
|
schema:
|
||
|
openAPIV3Schema:
|
||
|
description: RKE2Config is the Schema for the rke2configs 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: RKE2ConfigSpec defines the desired state of RKE2Config.
|
||
|
properties:
|
||
|
agentConfig:
|
||
|
description: AgentConfig specifies configuration for the agent nodes.
|
||
|
properties:
|
||
|
additionalUserData:
|
||
|
description: |-
|
||
|
AdditionalUserData is a field that allows users to specify additional cloud-init or ignition configuration to be included in the
|
||
|
generated cloud-init/ignition script.
|
||
|
properties:
|
||
|
config:
|
||
|
description: |-
|
||
|
In case of using ignition, the data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/
|
||
|
NOTE: All fields of the UserData that are managed by the RKE2Config controller will be ignored, this include "write_files", "runcmd", "ntp".
|
||
|
Deprecated: Data is reserved for the arbitrary cloud-init data
|
||
|
type: string
|
||
|
data:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
Data allows to pass arbitrary set of key/value pairs consistent with
|
||
|
https://cloudinit.readthedocs.io/en/latest/reference/modules.html
|
||
|
to extend existing cloud-init configuration
|
||
|
type: object
|
||
|
strict:
|
||
|
description: Strict controls if Config should be strictly
|
||
|
parsed. If so, warnings are treated as errors.
|
||
|
type: boolean
|
||
|
type: object
|
||
|
x-kubernetes-validations:
|
||
|
- message: Only config or data could be populated at once
|
||
|
rule: '!has(self.data) || !has(self.config)'
|
||
|
airGapped:
|
||
|
description: |-
|
||
|
AirGapped is a boolean value to define if the bootstrapping should be air-gapped,
|
||
|
basically supposing that online container registries and RKE2 install scripts are not reachable.
|
||
|
type: boolean
|
||
|
cisProfile:
|
||
|
description: CISProfile activates CIS compliance of RKE2 for a
|
||
|
certain profile
|
||
|
enum:
|
||
|
- cis
|
||
|
- cis-1.23
|
||
|
- cis-1.5
|
||
|
- cis-1.6
|
||
|
type: string
|
||
|
containerRuntimeEndpoint:
|
||
|
description: ContainerRuntimeEndpoint Disable embedded containerd
|
||
|
and use alternative CRI implementation.
|
||
|
type: string
|
||
|
dataDir:
|
||
|
description: DataDir Folder to hold state.
|
||
|
type: string
|
||
|
enableContainerdSElinux:
|
||
|
description: |-
|
||
|
EnableContainerdSElinux defines the policy for enabling SELinux for Containerd
|
||
|
if value is true, Containerd will run with selinux-enabled=true flag
|
||
|
if value is false, Containerd will run without the above flag
|
||
|
type: boolean
|
||
|
format:
|
||
|
description: Format specifies the output format of the bootstrap
|
||
|
data. Defaults to cloud-config.
|
||
|
enum:
|
||
|
- cloud-config
|
||
|
- ignition
|
||
|
type: string
|
||
|
imageCredentialProviderConfigMap:
|
||
|
description: |-
|
||
|
ImageCredentialProviderConfigMap is a reference to the ConfigMap that contains credential provider plugin config
|
||
|
The config map should contain a key "credential-config.yaml" with YAML file content and
|
||
|
a key "credential-provider-binaries" with the a path to the binaries for the credential provider.
|
||
|
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
|
||
|
kubeProxy:
|
||
|
description: KubeProxyArgs Customized flag for kube-proxy process.
|
||
|
properties:
|
||
|
extraArgs:
|
||
|
description: 'ExtraArgs is a list of command line arguments
|
||
|
(format: flag=value) to pass to a Kubernetes Component command.'
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
extraEnv:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraEnv is a map of environment variables to
|
||
|
pass on to a Kubernetes Component command.
|
||
|
type: object
|
||
|
extraMounts:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraMounts is a map of volume mounts to be added
|
||
|
for the Kubernetes component StaticPod
|
||
|
type: object
|
||
|
overrideImage:
|
||
|
description: OverrideImage is a string that references a container
|
||
|
image to override the default one for the Kubernetes Component
|
||
|
type: string
|
||
|
type: object
|
||
|
kubelet:
|
||
|
description: KubeletArgs Customized flag for kubelet process.
|
||
|
properties:
|
||
|
extraArgs:
|
||
|
description: 'ExtraArgs is a list of command line arguments
|
||
|
(format: flag=value) to pass to a Kubernetes Component command.'
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
extraEnv:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraEnv is a map of environment variables to
|
||
|
pass on to a Kubernetes Component command.
|
||
|
type: object
|
||
|
extraMounts:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraMounts is a map of volume mounts to be added
|
||
|
for the Kubernetes component StaticPod
|
||
|
type: object
|
||
|
overrideImage:
|
||
|
description: OverrideImage is a string that references a container
|
||
|
image to override the default one for the Kubernetes Component
|
||
|
type: string
|
||
|
type: object
|
||
|
kubeletPath:
|
||
|
description: KubeletPath Override kubelet binary path.
|
||
|
type: string
|
||
|
loadBalancerPort:
|
||
|
description: |-
|
||
|
LoadBalancerPort local port for supervisor client load-balancer. If the supervisor and apiserver are
|
||
|
not colocated an additional port 1 less than this port will also be used for the apiserver client load-balancer (default: 6444).
|
||
|
type: integer
|
||
|
nodeAnnotations:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
NodeAnnotations are annotations that are created on nodes post bootstrap phase.
|
||
|
Unfortunately it is not possible to apply annotations via kubelet
|
||
|
using current bootstrap configurations.
|
||
|
Issue: https://github.com/kubernetes/kubernetes/issues/108046
|
||
|
type: object
|
||
|
nodeLabels:
|
||
|
description: NodeLabels Registering and starting kubelet with
|
||
|
set of labels.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
nodeName:
|
||
|
description: NodeNamePrefix Prefix to the Node Name that CAPI
|
||
|
will generate.
|
||
|
type: string
|
||
|
nodeTaints:
|
||
|
description: NodeTaints Registering kubelet with set of taints.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
ntp:
|
||
|
description: NTP specifies NTP configuration
|
||
|
properties:
|
||
|
enabled:
|
||
|
description: Enabled specifies whether NTP should be enabled
|
||
|
type: boolean
|
||
|
servers:
|
||
|
description: Servers specifies which NTP servers to use
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
type: object
|
||
|
protectKernelDefaults:
|
||
|
description: |-
|
||
|
ProtectKernelDefaults defines Kernel tuning behavior. If true, error if kernel tunables are different than kubelet defaults.
|
||
|
if false, kernel tunable can be different from kubelet defaults
|
||
|
type: boolean
|
||
|
resolvConf:
|
||
|
description: ResolvConf is a reference to a ConfigMap containing
|
||
|
resolv.conf content for the node.
|
||
|
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
|
||
|
runtimeImage:
|
||
|
description: RuntimeImage override image to use for runtime binaries
|
||
|
(containerd, kubectl, crictl, etc).
|
||
|
type: string
|
||
|
snapshotter:
|
||
|
description: 'Snapshotter override default containerd snapshotter
|
||
|
(default: "overlayfs").'
|
||
|
type: string
|
||
|
systemDefaultRegistry:
|
||
|
description: SystemDefaultRegistry Private registry to be used
|
||
|
for all system images.
|
||
|
type: string
|
||
|
version:
|
||
|
description: Version specifies the rke2 version.
|
||
|
type: string
|
||
|
type: object
|
||
|
files:
|
||
|
description: Files specifies extra files to be passed to user_data
|
||
|
upon creation.
|
||
|
items:
|
||
|
description: File defines the input for generating write_files in
|
||
|
cloud-init.
|
||
|
properties:
|
||
|
content:
|
||
|
description: Content is the actual content of the file.
|
||
|
type: string
|
||
|
contentFrom:
|
||
|
description: ContentFrom is a referenced source of content to
|
||
|
populate the file.
|
||
|
properties:
|
||
|
secret:
|
||
|
description: SecretFileSource represents a secret that should
|
||
|
populate this file.
|
||
|
properties:
|
||
|
key:
|
||
|
description: Key is the key in the secret's data map
|
||
|
for this value.
|
||
|
type: string
|
||
|
name:
|
||
|
description: Name of the secret in the RKE2BootstrapConfig's
|
||
|
namespace to use.
|
||
|
type: string
|
||
|
required:
|
||
|
- key
|
||
|
- name
|
||
|
type: object
|
||
|
required:
|
||
|
- secret
|
||
|
type: object
|
||
|
encoding:
|
||
|
description: Encoding specifies the encoding of the file contents.
|
||
|
enum:
|
||
|
- base64
|
||
|
- gzip
|
||
|
- gzip+base64
|
||
|
type: string
|
||
|
owner:
|
||
|
description: Owner specifies the ownership of the file, e.g.
|
||
|
"root:root".
|
||
|
type: string
|
||
|
path:
|
||
|
description: Path specifies the full path on disk where to store
|
||
|
the file.
|
||
|
type: string
|
||
|
permissions:
|
||
|
description: Permissions specifies the permissions to assign
|
||
|
to the file, e.g. "0640".
|
||
|
type: string
|
||
|
required:
|
||
|
- path
|
||
|
type: object
|
||
|
type: array
|
||
|
postRKE2Commands:
|
||
|
description: PostRKE2Commands specifies extra commands to run after
|
||
|
rke2 setup runs.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
preRKE2Commands:
|
||
|
description: PreRKE2Commands specifies extra commands to run before
|
||
|
rke2 setup runs.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
privateRegistriesConfig:
|
||
|
description: PrivateRegistriesConfig defines the containerd configuration
|
||
|
for private registries and local registry mirrors.
|
||
|
properties:
|
||
|
configs:
|
||
|
additionalProperties:
|
||
|
description: RegistryConfig contains configuration used to communicate
|
||
|
with the registry.
|
||
|
properties:
|
||
|
authSecret:
|
||
|
description: |-
|
||
|
Auth si a reference to a Secret containing information to authenticate to the registry.
|
||
|
The Secret must provite a username and a password data entry.
|
||
|
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
|
||
|
tls:
|
||
|
description: |-
|
||
|
TLS is a pair of CA/Cert/Key which then are used when creating the transport
|
||
|
that communicates with the registry.
|
||
|
properties:
|
||
|
insecureSkipVerify:
|
||
|
description: InsecureSkipVerify may be set to false
|
||
|
to skip verifying the registry's certificate, default
|
||
|
is true.
|
||
|
type: boolean
|
||
|
tlsConfigSecret:
|
||
|
description: |-
|
||
|
TLSConfigSecret is a reference to a secret of type `kubernetes.io/tls` thich has up to 3 entries: tls.crt, tls.key and ca.crt
|
||
|
which describe the TLS configuration necessary to connect to the registry.
|
||
|
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
|
||
|
description: |-
|
||
|
Configs are configs for each registry.
|
||
|
The key is the FDQN or IP of the registry.
|
||
|
type: object
|
||
|
mirrors:
|
||
|
additionalProperties:
|
||
|
description: Mirror contains the config related to the registry
|
||
|
mirror.
|
||
|
properties:
|
||
|
endpoint:
|
||
|
description: |-
|
||
|
Endpoints are endpoints for a namespace. CRI plugin will try the endpoints
|
||
|
one by one until a working one is found. The endpoint must be a valid url
|
||
|
with host specified.
|
||
|
The scheme, host and path from the endpoint URL will be used.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
rewrite:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
Rewrites are repository rewrite rules for a namespace. When fetching image resources
|
||
|
from an endpoint and a key matches the repository via regular expression matching
|
||
|
it will be replaced with the corresponding value from the map in the resource request.
|
||
|
type: object
|
||
|
type: object
|
||
|
description: Mirrors are namespace to mirror mapping for all namespaces.
|
||
|
type: object
|
||
|
type: object
|
||
|
type: object
|
||
|
status:
|
||
|
description: RKE2ConfigStatus defines the observed state of RKE2Config.
|
||
|
properties:
|
||
|
conditions:
|
||
|
description: Conditions defines current service state of the RKE2Config.
|
||
|
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
|
||
|
dataSecretName:
|
||
|
description: DataSecretName is the name of the secret that stores
|
||
|
the bootstrap data script.
|
||
|
type: string
|
||
|
failureMessage:
|
||
|
description: FailureMessage will be set on non-retryable errors.
|
||
|
type: string
|
||
|
failureReason:
|
||
|
description: FailureReason will be set on non-retryable errors.
|
||
|
type: string
|
||
|
observedGeneration:
|
||
|
description: ObservedGeneration is the latest generation observed
|
||
|
by the controller.
|
||
|
format: int64
|
||
|
type: integer
|
||
|
ready:
|
||
|
description: Ready indicates the BootstrapData field is ready to be
|
||
|
consumed.
|
||
|
type: boolean
|
||
|
type: object
|
||
|
type: object
|
||
|
served: true
|
||
|
storage: false
|
||
|
subresources:
|
||
|
status: {}
|
||
|
- name: v1beta1
|
||
|
schema:
|
||
|
openAPIV3Schema:
|
||
|
description: RKE2Config is the Schema for the rke2configs 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: RKE2ConfigSpec defines the desired state of RKE2Config.
|
||
|
properties:
|
||
|
agentConfig:
|
||
|
description: AgentConfig specifies configuration for the agent nodes.
|
||
|
properties:
|
||
|
additionalUserData:
|
||
|
description: |-
|
||
|
AdditionalUserData is a field that allows users to specify additional cloud-init or ignition configuration to be included in the
|
||
|
generated cloud-init/ignition script.
|
||
|
properties:
|
||
|
config:
|
||
|
description: |-
|
||
|
In case of using ignition, the data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/
|
||
|
NOTE: All fields of the UserData that are managed by the RKE2Config controller will be ignored, this include "write_files", "runcmd", "ntp".
|
||
|
type: string
|
||
|
data:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
Data allows to pass arbitrary set of key/value pairs consistent with
|
||
|
https://cloudinit.readthedocs.io/en/latest/reference/modules.html
|
||
|
to extend existing cloud-init configuration
|
||
|
type: object
|
||
|
strict:
|
||
|
description: Strict controls if Config should be strictly
|
||
|
parsed. If so, warnings are treated as errors.
|
||
|
type: boolean
|
||
|
type: object
|
||
|
x-kubernetes-validations:
|
||
|
- message: Only config or data could be populated at once
|
||
|
rule: '!has(self.data) || !has(self.config)'
|
||
|
airGapped:
|
||
|
description: |-
|
||
|
AirGapped is a boolean value to define if the bootstrapping should be air-gapped,
|
||
|
basically supposing that online container registries and RKE2 install scripts are not reachable.
|
||
|
type: boolean
|
||
|
airGappedChecksum:
|
||
|
description: |-
|
||
|
AirGappedChecksum is a string value with a sha256sum checksum to compare with checksum
|
||
|
of existing sha256sum-<arch>.txt file for packages already available on the machine
|
||
|
before performing air-gapped installation.
|
||
|
type: string
|
||
|
cisProfile:
|
||
|
description: CISProfile activates CIS compliance of RKE2 for a
|
||
|
certain profile
|
||
|
enum:
|
||
|
- cis
|
||
|
- cis-1.23
|
||
|
- cis-1.5
|
||
|
- cis-1.6
|
||
|
type: string
|
||
|
containerRuntimeEndpoint:
|
||
|
description: ContainerRuntimeEndpoint Disable embedded containerd
|
||
|
and use alternative CRI implementation.
|
||
|
type: string
|
||
|
dataDir:
|
||
|
description: DataDir Folder to hold state.
|
||
|
type: string
|
||
|
enableContainerdSElinux:
|
||
|
description: |-
|
||
|
EnableContainerdSElinux defines the policy for enabling SELinux for Containerd
|
||
|
if value is true, Containerd will run with selinux-enabled=true flag
|
||
|
if value is false, Containerd will run without the above flag
|
||
|
type: boolean
|
||
|
format:
|
||
|
description: Format specifies the output format of the bootstrap
|
||
|
data. Defaults to cloud-config.
|
||
|
enum:
|
||
|
- cloud-config
|
||
|
- ignition
|
||
|
type: string
|
||
|
imageCredentialProviderConfigMap:
|
||
|
description: |-
|
||
|
ImageCredentialProviderConfigMap is a reference to the ConfigMap that contains credential provider plugin config
|
||
|
The config map should contain a key "credential-config.yaml" with YAML file content and
|
||
|
a key "credential-provider-binaries" with the a path to the binaries for the credential provider.
|
||
|
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
|
||
|
kubeProxy:
|
||
|
description: KubeProxyArgs Customized flag for kube-proxy process.
|
||
|
properties:
|
||
|
extraArgs:
|
||
|
description: 'ExtraArgs is a list of command line arguments
|
||
|
(format: flag=value) to pass to a Kubernetes Component command.'
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
extraEnv:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraEnv is a map of environment variables to
|
||
|
pass on to a Kubernetes Component command.
|
||
|
type: object
|
||
|
extraMounts:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraMounts is a map of volume mounts to be added
|
||
|
for the Kubernetes component StaticPod
|
||
|
type: object
|
||
|
overrideImage:
|
||
|
description: OverrideImage is a string that references a container
|
||
|
image to override the default one for the Kubernetes Component
|
||
|
type: string
|
||
|
type: object
|
||
|
kubelet:
|
||
|
description: KubeletArgs Customized flag for kubelet process.
|
||
|
properties:
|
||
|
extraArgs:
|
||
|
description: 'ExtraArgs is a list of command line arguments
|
||
|
(format: flag=value) to pass to a Kubernetes Component command.'
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
extraEnv:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraEnv is a map of environment variables to
|
||
|
pass on to a Kubernetes Component command.
|
||
|
type: object
|
||
|
extraMounts:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraMounts is a map of volume mounts to be added
|
||
|
for the Kubernetes component StaticPod
|
||
|
type: object
|
||
|
overrideImage:
|
||
|
description: OverrideImage is a string that references a container
|
||
|
image to override the default one for the Kubernetes Component
|
||
|
type: string
|
||
|
type: object
|
||
|
kubeletPath:
|
||
|
description: KubeletPath Override kubelet binary path.
|
||
|
type: string
|
||
|
loadBalancerPort:
|
||
|
description: |-
|
||
|
LoadBalancerPort local port for supervisor client load-balancer. If the supervisor and apiserver are
|
||
|
not colocated an additional port 1 less than this port will also be used for the apiserver client load-balancer (default: 6444).
|
||
|
type: integer
|
||
|
nodeAnnotations:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
NodeAnnotations are annotations that are created on nodes post bootstrap phase.
|
||
|
Unfortunately it is not possible to apply annotations via kubelet
|
||
|
using current bootstrap configurations.
|
||
|
Issue: https://github.com/kubernetes/kubernetes/issues/108046
|
||
|
type: object
|
||
|
nodeLabels:
|
||
|
description: NodeLabels Registering and starting kubelet with
|
||
|
set of labels.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
nodeName:
|
||
|
description: NodeNamePrefix Prefix to the Node Name that CAPI
|
||
|
will generate.
|
||
|
type: string
|
||
|
nodeTaints:
|
||
|
description: NodeTaints Registering kubelet with set of taints.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
ntp:
|
||
|
description: NTP specifies NTP configuration
|
||
|
properties:
|
||
|
enabled:
|
||
|
description: Enabled specifies whether NTP should be enabled
|
||
|
type: boolean
|
||
|
servers:
|
||
|
description: Servers specifies which NTP servers to use
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
type: object
|
||
|
protectKernelDefaults:
|
||
|
description: |-
|
||
|
ProtectKernelDefaults defines Kernel tuning behavior. If true, error if kernel tunables are different than kubelet defaults.
|
||
|
if false, kernel tunable can be different from kubelet defaults
|
||
|
type: boolean
|
||
|
resolvConf:
|
||
|
description: ResolvConf is a reference to a ConfigMap containing
|
||
|
resolv.conf content for the node.
|
||
|
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
|
||
|
runtimeImage:
|
||
|
description: RuntimeImage override image to use for runtime binaries
|
||
|
(containerd, kubectl, crictl, etc).
|
||
|
type: string
|
||
|
snapshotter:
|
||
|
description: 'Snapshotter override default containerd snapshotter
|
||
|
(default: "overlayfs").'
|
||
|
type: string
|
||
|
systemDefaultRegistry:
|
||
|
description: SystemDefaultRegistry Private registry to be used
|
||
|
for all system images.
|
||
|
type: string
|
||
|
type: object
|
||
|
files:
|
||
|
description: Files specifies extra files to be passed to user_data
|
||
|
upon creation.
|
||
|
items:
|
||
|
description: File defines the input for generating write_files in
|
||
|
cloud-init.
|
||
|
properties:
|
||
|
content:
|
||
|
description: Content is the actual content of the file.
|
||
|
type: string
|
||
|
contentFrom:
|
||
|
description: ContentFrom is a referenced source of content to
|
||
|
populate the file.
|
||
|
properties:
|
||
|
secret:
|
||
|
description: SecretFileSource represents a secret that should
|
||
|
populate this file.
|
||
|
properties:
|
||
|
key:
|
||
|
description: Key is the key in the secret's data map
|
||
|
for this value.
|
||
|
type: string
|
||
|
name:
|
||
|
description: Name of the secret in the RKE2BootstrapConfig's
|
||
|
namespace to use.
|
||
|
type: string
|
||
|
required:
|
||
|
- key
|
||
|
- name
|
||
|
type: object
|
||
|
required:
|
||
|
- secret
|
||
|
type: object
|
||
|
encoding:
|
||
|
description: Encoding specifies the encoding of the file contents.
|
||
|
enum:
|
||
|
- base64
|
||
|
- gzip
|
||
|
- gzip+base64
|
||
|
type: string
|
||
|
owner:
|
||
|
description: Owner specifies the ownership of the file, e.g.
|
||
|
"root:root".
|
||
|
type: string
|
||
|
path:
|
||
|
description: Path specifies the full path on disk where to store
|
||
|
the file.
|
||
|
type: string
|
||
|
permissions:
|
||
|
description: Permissions specifies the permissions to assign
|
||
|
to the file, e.g. "0640".
|
||
|
type: string
|
||
|
required:
|
||
|
- path
|
||
|
type: object
|
||
|
type: array
|
||
|
postRKE2Commands:
|
||
|
description: PostRKE2Commands specifies extra commands to run after
|
||
|
rke2 setup runs.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
preRKE2Commands:
|
||
|
description: PreRKE2Commands specifies extra commands to run before
|
||
|
rke2 setup runs.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
privateRegistriesConfig:
|
||
|
description: PrivateRegistriesConfig defines the containerd configuration
|
||
|
for private registries and local registry mirrors.
|
||
|
properties:
|
||
|
configs:
|
||
|
additionalProperties:
|
||
|
description: RegistryConfig contains configuration used to communicate
|
||
|
with the registry.
|
||
|
properties:
|
||
|
authSecret:
|
||
|
description: |-
|
||
|
Auth is a reference to a Secret containing information to authenticate to the registry.
|
||
|
The Secret must provite a username and a password data entry.
|
||
|
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
|
||
|
tls:
|
||
|
description: |-
|
||
|
TLS is a pair of CA/Cert/Key which then are used when creating the transport
|
||
|
that communicates with the registry.
|
||
|
properties:
|
||
|
insecureSkipVerify:
|
||
|
description: InsecureSkipVerify may be set to false
|
||
|
to skip verifying the registry's certificate, default
|
||
|
is true.
|
||
|
type: boolean
|
||
|
tlsConfigSecret:
|
||
|
description: |-
|
||
|
TLSConfigSecret is a reference to a secret of type `kubernetes.io/tls` thich has up to 3 entries: tls.crt, tls.key and ca.crt
|
||
|
which describe the TLS configuration necessary to connect to the registry.
|
||
|
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
|
||
|
description: |-
|
||
|
Configs are configs for each registry.
|
||
|
The key is the FDQN or IP of the registry.
|
||
|
type: object
|
||
|
mirrors:
|
||
|
additionalProperties:
|
||
|
description: Mirror contains the config related to the registry
|
||
|
mirror.
|
||
|
properties:
|
||
|
endpoint:
|
||
|
description: |-
|
||
|
Endpoints are endpoints for a namespace. CRI plugin will try the endpoints
|
||
|
one by one until a working one is found. The endpoint must be a valid url
|
||
|
with host specified.
|
||
|
The scheme, host and path from the endpoint URL will be used.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
rewrite:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
Rewrites are repository rewrite rules for a namespace. When fetching image resources
|
||
|
from an endpoint and a key matches the repository via regular expression matching
|
||
|
it will be replaced with the corresponding value from the map in the resource request.
|
||
|
type: object
|
||
|
type: object
|
||
|
description: Mirrors are namespace to mirror mapping for all namespaces.
|
||
|
type: object
|
||
|
type: object
|
||
|
type: object
|
||
|
status:
|
||
|
description: RKE2ConfigStatus defines the observed state of RKE2Config.
|
||
|
properties:
|
||
|
conditions:
|
||
|
description: Conditions defines current service state of the RKE2Config.
|
||
|
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
|
||
|
dataSecretName:
|
||
|
description: DataSecretName is the name of the secret that stores
|
||
|
the bootstrap data script.
|
||
|
type: string
|
||
|
failureMessage:
|
||
|
description: FailureMessage will be set on non-retryable errors.
|
||
|
type: string
|
||
|
failureReason:
|
||
|
description: FailureReason will be set on non-retryable errors.
|
||
|
type: string
|
||
|
observedGeneration:
|
||
|
description: ObservedGeneration is the latest generation observed
|
||
|
by the controller.
|
||
|
format: int64
|
||
|
type: integer
|
||
|
ready:
|
||
|
description: Ready indicates the BootstrapData field is ready to be
|
||
|
consumed.
|
||
|
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: rke2-bootstrap-system/rke2-bootstrap-serving-cert
|
||
|
controller-gen.kubebuilder.io/version: v0.14.0
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
cluster.x-k8s.io/v1beta1: v1alpha1_v1beta1
|
||
|
name: rke2configtemplates.bootstrap.cluster.x-k8s.io
|
||
|
spec:
|
||
|
conversion:
|
||
|
strategy: Webhook
|
||
|
webhook:
|
||
|
clientConfig:
|
||
|
caBundle: Cg==
|
||
|
service:
|
||
|
name: rke2-bootstrap-webhook-service
|
||
|
namespace: rke2-bootstrap-system
|
||
|
path: /convert
|
||
|
conversionReviewVersions:
|
||
|
- v1
|
||
|
group: bootstrap.cluster.x-k8s.io
|
||
|
names:
|
||
|
kind: RKE2ConfigTemplate
|
||
|
listKind: RKE2ConfigTemplateList
|
||
|
plural: rke2configtemplates
|
||
|
singular: rke2configtemplate
|
||
|
scope: Namespaced
|
||
|
versions:
|
||
|
- name: v1alpha1
|
||
|
schema:
|
||
|
openAPIV3Schema:
|
||
|
description: RKE2ConfigTemplate is the Schema for the RKE2configtemplates
|
||
|
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: Spec details the RKE2ConfigTemplate specification.
|
||
|
properties:
|
||
|
template:
|
||
|
description: "Template references a RKE2ConfigTemplate, which is used
|
||
|
to include an RKE2ConfigSpec struct.\n\tThis is used to include
|
||
|
a desired RKE2ConfigSpec configuration when an RKE2Config resource
|
||
|
is generated by a MachineDeployment resource."
|
||
|
properties:
|
||
|
spec:
|
||
|
description: Spec is the RKE2ConfigSpec that should be used for
|
||
|
the template.
|
||
|
properties:
|
||
|
agentConfig:
|
||
|
description: AgentConfig specifies configuration for the agent
|
||
|
nodes.
|
||
|
properties:
|
||
|
additionalUserData:
|
||
|
description: |-
|
||
|
AdditionalUserData is a field that allows users to specify additional cloud-init or ignition configuration to be included in the
|
||
|
generated cloud-init/ignition script.
|
||
|
properties:
|
||
|
config:
|
||
|
description: |-
|
||
|
In case of using ignition, the data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/
|
||
|
NOTE: All fields of the UserData that are managed by the RKE2Config controller will be ignored, this include "write_files", "runcmd", "ntp".
|
||
|
Deprecated: Data is reserved for the arbitrary cloud-init data
|
||
|
type: string
|
||
|
data:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
Data allows to pass arbitrary set of key/value pairs consistent with
|
||
|
https://cloudinit.readthedocs.io/en/latest/reference/modules.html
|
||
|
to extend existing cloud-init configuration
|
||
|
type: object
|
||
|
strict:
|
||
|
description: Strict controls if Config should be strictly
|
||
|
parsed. If so, warnings are treated as errors.
|
||
|
type: boolean
|
||
|
type: object
|
||
|
x-kubernetes-validations:
|
||
|
- message: Only config or data could be populated at once
|
||
|
rule: '!has(self.data) || !has(self.config)'
|
||
|
airGapped:
|
||
|
description: |-
|
||
|
AirGapped is a boolean value to define if the bootstrapping should be air-gapped,
|
||
|
basically supposing that online container registries and RKE2 install scripts are not reachable.
|
||
|
type: boolean
|
||
|
cisProfile:
|
||
|
description: CISProfile activates CIS compliance of RKE2
|
||
|
for a certain profile
|
||
|
enum:
|
||
|
- cis
|
||
|
- cis-1.23
|
||
|
- cis-1.5
|
||
|
- cis-1.6
|
||
|
type: string
|
||
|
containerRuntimeEndpoint:
|
||
|
description: ContainerRuntimeEndpoint Disable embedded
|
||
|
containerd and use alternative CRI implementation.
|
||
|
type: string
|
||
|
dataDir:
|
||
|
description: DataDir Folder to hold state.
|
||
|
type: string
|
||
|
enableContainerdSElinux:
|
||
|
description: |-
|
||
|
EnableContainerdSElinux defines the policy for enabling SELinux for Containerd
|
||
|
if value is true, Containerd will run with selinux-enabled=true flag
|
||
|
if value is false, Containerd will run without the above flag
|
||
|
type: boolean
|
||
|
format:
|
||
|
description: Format specifies the output format of the
|
||
|
bootstrap data. Defaults to cloud-config.
|
||
|
enum:
|
||
|
- cloud-config
|
||
|
- ignition
|
||
|
type: string
|
||
|
imageCredentialProviderConfigMap:
|
||
|
description: |-
|
||
|
ImageCredentialProviderConfigMap is a reference to the ConfigMap that contains credential provider plugin config
|
||
|
The config map should contain a key "credential-config.yaml" with YAML file content and
|
||
|
a key "credential-provider-binaries" with the a path to the binaries for the credential provider.
|
||
|
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
|
||
|
kubeProxy:
|
||
|
description: KubeProxyArgs Customized flag for kube-proxy
|
||
|
process.
|
||
|
properties:
|
||
|
extraArgs:
|
||
|
description: 'ExtraArgs is a list of command line
|
||
|
arguments (format: flag=value) to pass to a Kubernetes
|
||
|
Component command.'
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
extraEnv:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraEnv is a map of environment variables
|
||
|
to pass on to a Kubernetes Component command.
|
||
|
type: object
|
||
|
extraMounts:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraMounts is a map of volume mounts
|
||
|
to be added for the Kubernetes component StaticPod
|
||
|
type: object
|
||
|
overrideImage:
|
||
|
description: OverrideImage is a string that references
|
||
|
a container image to override the default one for
|
||
|
the Kubernetes Component
|
||
|
type: string
|
||
|
type: object
|
||
|
kubelet:
|
||
|
description: KubeletArgs Customized flag for kubelet process.
|
||
|
properties:
|
||
|
extraArgs:
|
||
|
description: 'ExtraArgs is a list of command line
|
||
|
arguments (format: flag=value) to pass to a Kubernetes
|
||
|
Component command.'
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
extraEnv:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraEnv is a map of environment variables
|
||
|
to pass on to a Kubernetes Component command.
|
||
|
type: object
|
||
|
extraMounts:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraMounts is a map of volume mounts
|
||
|
to be added for the Kubernetes component StaticPod
|
||
|
type: object
|
||
|
overrideImage:
|
||
|
description: OverrideImage is a string that references
|
||
|
a container image to override the default one for
|
||
|
the Kubernetes Component
|
||
|
type: string
|
||
|
type: object
|
||
|
kubeletPath:
|
||
|
description: KubeletPath Override kubelet binary path.
|
||
|
type: string
|
||
|
loadBalancerPort:
|
||
|
description: |-
|
||
|
LoadBalancerPort local port for supervisor client load-balancer. If the supervisor and apiserver are
|
||
|
not colocated an additional port 1 less than this port will also be used for the apiserver client load-balancer (default: 6444).
|
||
|
type: integer
|
||
|
nodeAnnotations:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
NodeAnnotations are annotations that are created on nodes post bootstrap phase.
|
||
|
Unfortunately it is not possible to apply annotations via kubelet
|
||
|
using current bootstrap configurations.
|
||
|
Issue: https://github.com/kubernetes/kubernetes/issues/108046
|
||
|
type: object
|
||
|
nodeLabels:
|
||
|
description: NodeLabels Registering and starting kubelet
|
||
|
with set of labels.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
nodeName:
|
||
|
description: NodeNamePrefix Prefix to the Node Name that
|
||
|
CAPI will generate.
|
||
|
type: string
|
||
|
nodeTaints:
|
||
|
description: NodeTaints Registering kubelet with set of
|
||
|
taints.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
ntp:
|
||
|
description: NTP specifies NTP configuration
|
||
|
properties:
|
||
|
enabled:
|
||
|
description: Enabled specifies whether NTP should
|
||
|
be enabled
|
||
|
type: boolean
|
||
|
servers:
|
||
|
description: Servers specifies which NTP servers to
|
||
|
use
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
type: object
|
||
|
protectKernelDefaults:
|
||
|
description: |-
|
||
|
ProtectKernelDefaults defines Kernel tuning behavior. If true, error if kernel tunables are different than kubelet defaults.
|
||
|
if false, kernel tunable can be different from kubelet defaults
|
||
|
type: boolean
|
||
|
resolvConf:
|
||
|
description: ResolvConf is a reference to a ConfigMap
|
||
|
containing resolv.conf content for the node.
|
||
|
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
|
||
|
runtimeImage:
|
||
|
description: RuntimeImage override image to use for runtime
|
||
|
binaries (containerd, kubectl, crictl, etc).
|
||
|
type: string
|
||
|
snapshotter:
|
||
|
description: 'Snapshotter override default containerd
|
||
|
snapshotter (default: "overlayfs").'
|
||
|
type: string
|
||
|
systemDefaultRegistry:
|
||
|
description: SystemDefaultRegistry Private registry to
|
||
|
be used for all system images.
|
||
|
type: string
|
||
|
version:
|
||
|
description: Version specifies the rke2 version.
|
||
|
type: string
|
||
|
type: object
|
||
|
files:
|
||
|
description: Files specifies extra files to be passed to user_data
|
||
|
upon creation.
|
||
|
items:
|
||
|
description: File defines the input for generating write_files
|
||
|
in cloud-init.
|
||
|
properties:
|
||
|
content:
|
||
|
description: Content is the actual content of the file.
|
||
|
type: string
|
||
|
contentFrom:
|
||
|
description: ContentFrom is a referenced source of content
|
||
|
to populate the file.
|
||
|
properties:
|
||
|
secret:
|
||
|
description: SecretFileSource represents a secret
|
||
|
that should populate this file.
|
||
|
properties:
|
||
|
key:
|
||
|
description: Key is the key in the secret's
|
||
|
data map for this value.
|
||
|
type: string
|
||
|
name:
|
||
|
description: Name of the secret in the RKE2BootstrapConfig's
|
||
|
namespace to use.
|
||
|
type: string
|
||
|
required:
|
||
|
- key
|
||
|
- name
|
||
|
type: object
|
||
|
required:
|
||
|
- secret
|
||
|
type: object
|
||
|
encoding:
|
||
|
description: Encoding specifies the encoding of the
|
||
|
file contents.
|
||
|
enum:
|
||
|
- base64
|
||
|
- gzip
|
||
|
- gzip+base64
|
||
|
type: string
|
||
|
owner:
|
||
|
description: Owner specifies the ownership of the file,
|
||
|
e.g. "root:root".
|
||
|
type: string
|
||
|
path:
|
||
|
description: Path specifies the full path on disk where
|
||
|
to store the file.
|
||
|
type: string
|
||
|
permissions:
|
||
|
description: Permissions specifies the permissions to
|
||
|
assign to the file, e.g. "0640".
|
||
|
type: string
|
||
|
required:
|
||
|
- path
|
||
|
type: object
|
||
|
type: array
|
||
|
postRKE2Commands:
|
||
|
description: PostRKE2Commands specifies extra commands to
|
||
|
run after rke2 setup runs.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
preRKE2Commands:
|
||
|
description: PreRKE2Commands specifies extra commands to run
|
||
|
before rke2 setup runs.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
privateRegistriesConfig:
|
||
|
description: PrivateRegistriesConfig defines the containerd
|
||
|
configuration for private registries and local registry
|
||
|
mirrors.
|
||
|
properties:
|
||
|
configs:
|
||
|
additionalProperties:
|
||
|
description: RegistryConfig contains configuration used
|
||
|
to communicate with the registry.
|
||
|
properties:
|
||
|
authSecret:
|
||
|
description: |-
|
||
|
Auth si a reference to a Secret containing information to authenticate to the registry.
|
||
|
The Secret must provite a username and a password data entry.
|
||
|
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
|
||
|
tls:
|
||
|
description: |-
|
||
|
TLS is a pair of CA/Cert/Key which then are used when creating the transport
|
||
|
that communicates with the registry.
|
||
|
properties:
|
||
|
insecureSkipVerify:
|
||
|
description: InsecureSkipVerify may be set to
|
||
|
false to skip verifying the registry's certificate,
|
||
|
default is true.
|
||
|
type: boolean
|
||
|
tlsConfigSecret:
|
||
|
description: |-
|
||
|
TLSConfigSecret is a reference to a secret of type `kubernetes.io/tls` thich has up to 3 entries: tls.crt, tls.key and ca.crt
|
||
|
which describe the TLS configuration necessary to connect to the registry.
|
||
|
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
|
||
|
description: |-
|
||
|
Configs are configs for each registry.
|
||
|
The key is the FDQN or IP of the registry.
|
||
|
type: object
|
||
|
mirrors:
|
||
|
additionalProperties:
|
||
|
description: Mirror contains the config related to the
|
||
|
registry mirror.
|
||
|
properties:
|
||
|
endpoint:
|
||
|
description: |-
|
||
|
Endpoints are endpoints for a namespace. CRI plugin will try the endpoints
|
||
|
one by one until a working one is found. The endpoint must be a valid url
|
||
|
with host specified.
|
||
|
The scheme, host and path from the endpoint URL will be used.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
rewrite:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
Rewrites are repository rewrite rules for a namespace. When fetching image resources
|
||
|
from an endpoint and a key matches the repository via regular expression matching
|
||
|
it will be replaced with the corresponding value from the map in the resource request.
|
||
|
type: object
|
||
|
type: object
|
||
|
description: Mirrors are namespace to mirror mapping for
|
||
|
all namespaces.
|
||
|
type: object
|
||
|
type: object
|
||
|
type: object
|
||
|
required:
|
||
|
- spec
|
||
|
type: object
|
||
|
required:
|
||
|
- template
|
||
|
type: object
|
||
|
required:
|
||
|
- spec
|
||
|
type: object
|
||
|
served: true
|
||
|
storage: false
|
||
|
subresources:
|
||
|
status: {}
|
||
|
- name: v1beta1
|
||
|
schema:
|
||
|
openAPIV3Schema:
|
||
|
description: RKE2ConfigTemplate is the Schema for the RKE2configtemplates
|
||
|
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: Spec details the RKE2ConfigTemplate specification.
|
||
|
properties:
|
||
|
template:
|
||
|
description: "Template references a RKE2ConfigTemplate, which is used
|
||
|
to include an RKE2ConfigSpec struct.\n\tThis is used to include
|
||
|
a desired RKE2ConfigSpec configuration when an RKE2Config resource
|
||
|
is generated by a MachineDeployment resource."
|
||
|
properties:
|
||
|
spec:
|
||
|
description: Spec is the RKE2ConfigSpec that should be used for
|
||
|
the template.
|
||
|
properties:
|
||
|
agentConfig:
|
||
|
description: AgentConfig specifies configuration for the agent
|
||
|
nodes.
|
||
|
properties:
|
||
|
additionalUserData:
|
||
|
description: |-
|
||
|
AdditionalUserData is a field that allows users to specify additional cloud-init or ignition configuration to be included in the
|
||
|
generated cloud-init/ignition script.
|
||
|
properties:
|
||
|
config:
|
||
|
description: |-
|
||
|
In case of using ignition, the data format is documented here: https://kinvolk.io/docs/flatcar-container-linux/latest/provisioning/cl-config/
|
||
|
NOTE: All fields of the UserData that are managed by the RKE2Config controller will be ignored, this include "write_files", "runcmd", "ntp".
|
||
|
type: string
|
||
|
data:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
Data allows to pass arbitrary set of key/value pairs consistent with
|
||
|
https://cloudinit.readthedocs.io/en/latest/reference/modules.html
|
||
|
to extend existing cloud-init configuration
|
||
|
type: object
|
||
|
strict:
|
||
|
description: Strict controls if Config should be strictly
|
||
|
parsed. If so, warnings are treated as errors.
|
||
|
type: boolean
|
||
|
type: object
|
||
|
x-kubernetes-validations:
|
||
|
- message: Only config or data could be populated at once
|
||
|
rule: '!has(self.data) || !has(self.config)'
|
||
|
airGapped:
|
||
|
description: |-
|
||
|
AirGapped is a boolean value to define if the bootstrapping should be air-gapped,
|
||
|
basically supposing that online container registries and RKE2 install scripts are not reachable.
|
||
|
type: boolean
|
||
|
airGappedChecksum:
|
||
|
description: |-
|
||
|
AirGappedChecksum is a string value with a sha256sum checksum to compare with checksum
|
||
|
of existing sha256sum-<arch>.txt file for packages already available on the machine
|
||
|
before performing air-gapped installation.
|
||
|
type: string
|
||
|
cisProfile:
|
||
|
description: CISProfile activates CIS compliance of RKE2
|
||
|
for a certain profile
|
||
|
enum:
|
||
|
- cis
|
||
|
- cis-1.23
|
||
|
- cis-1.5
|
||
|
- cis-1.6
|
||
|
type: string
|
||
|
containerRuntimeEndpoint:
|
||
|
description: ContainerRuntimeEndpoint Disable embedded
|
||
|
containerd and use alternative CRI implementation.
|
||
|
type: string
|
||
|
dataDir:
|
||
|
description: DataDir Folder to hold state.
|
||
|
type: string
|
||
|
enableContainerdSElinux:
|
||
|
description: |-
|
||
|
EnableContainerdSElinux defines the policy for enabling SELinux for Containerd
|
||
|
if value is true, Containerd will run with selinux-enabled=true flag
|
||
|
if value is false, Containerd will run without the above flag
|
||
|
type: boolean
|
||
|
format:
|
||
|
description: Format specifies the output format of the
|
||
|
bootstrap data. Defaults to cloud-config.
|
||
|
enum:
|
||
|
- cloud-config
|
||
|
- ignition
|
||
|
type: string
|
||
|
imageCredentialProviderConfigMap:
|
||
|
description: |-
|
||
|
ImageCredentialProviderConfigMap is a reference to the ConfigMap that contains credential provider plugin config
|
||
|
The config map should contain a key "credential-config.yaml" with YAML file content and
|
||
|
a key "credential-provider-binaries" with the a path to the binaries for the credential provider.
|
||
|
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
|
||
|
kubeProxy:
|
||
|
description: KubeProxyArgs Customized flag for kube-proxy
|
||
|
process.
|
||
|
properties:
|
||
|
extraArgs:
|
||
|
description: 'ExtraArgs is a list of command line
|
||
|
arguments (format: flag=value) to pass to a Kubernetes
|
||
|
Component command.'
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
extraEnv:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraEnv is a map of environment variables
|
||
|
to pass on to a Kubernetes Component command.
|
||
|
type: object
|
||
|
extraMounts:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraMounts is a map of volume mounts
|
||
|
to be added for the Kubernetes component StaticPod
|
||
|
type: object
|
||
|
overrideImage:
|
||
|
description: OverrideImage is a string that references
|
||
|
a container image to override the default one for
|
||
|
the Kubernetes Component
|
||
|
type: string
|
||
|
type: object
|
||
|
kubelet:
|
||
|
description: KubeletArgs Customized flag for kubelet process.
|
||
|
properties:
|
||
|
extraArgs:
|
||
|
description: 'ExtraArgs is a list of command line
|
||
|
arguments (format: flag=value) to pass to a Kubernetes
|
||
|
Component command.'
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
extraEnv:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraEnv is a map of environment variables
|
||
|
to pass on to a Kubernetes Component command.
|
||
|
type: object
|
||
|
extraMounts:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: ExtraMounts is a map of volume mounts
|
||
|
to be added for the Kubernetes component StaticPod
|
||
|
type: object
|
||
|
overrideImage:
|
||
|
description: OverrideImage is a string that references
|
||
|
a container image to override the default one for
|
||
|
the Kubernetes Component
|
||
|
type: string
|
||
|
type: object
|
||
|
kubeletPath:
|
||
|
description: KubeletPath Override kubelet binary path.
|
||
|
type: string
|
||
|
loadBalancerPort:
|
||
|
description: |-
|
||
|
LoadBalancerPort local port for supervisor client load-balancer. If the supervisor and apiserver are
|
||
|
not colocated an additional port 1 less than this port will also be used for the apiserver client load-balancer (default: 6444).
|
||
|
type: integer
|
||
|
nodeAnnotations:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
NodeAnnotations are annotations that are created on nodes post bootstrap phase.
|
||
|
Unfortunately it is not possible to apply annotations via kubelet
|
||
|
using current bootstrap configurations.
|
||
|
Issue: https://github.com/kubernetes/kubernetes/issues/108046
|
||
|
type: object
|
||
|
nodeLabels:
|
||
|
description: NodeLabels Registering and starting kubelet
|
||
|
with set of labels.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
nodeName:
|
||
|
description: NodeNamePrefix Prefix to the Node Name that
|
||
|
CAPI will generate.
|
||
|
type: string
|
||
|
nodeTaints:
|
||
|
description: NodeTaints Registering kubelet with set of
|
||
|
taints.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
ntp:
|
||
|
description: NTP specifies NTP configuration
|
||
|
properties:
|
||
|
enabled:
|
||
|
description: Enabled specifies whether NTP should
|
||
|
be enabled
|
||
|
type: boolean
|
||
|
servers:
|
||
|
description: Servers specifies which NTP servers to
|
||
|
use
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
type: object
|
||
|
protectKernelDefaults:
|
||
|
description: |-
|
||
|
ProtectKernelDefaults defines Kernel tuning behavior. If true, error if kernel tunables are different than kubelet defaults.
|
||
|
if false, kernel tunable can be different from kubelet defaults
|
||
|
type: boolean
|
||
|
resolvConf:
|
||
|
description: ResolvConf is a reference to a ConfigMap
|
||
|
containing resolv.conf content for the node.
|
||
|
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
|
||
|
runtimeImage:
|
||
|
description: RuntimeImage override image to use for runtime
|
||
|
binaries (containerd, kubectl, crictl, etc).
|
||
|
type: string
|
||
|
snapshotter:
|
||
|
description: 'Snapshotter override default containerd
|
||
|
snapshotter (default: "overlayfs").'
|
||
|
type: string
|
||
|
systemDefaultRegistry:
|
||
|
description: SystemDefaultRegistry Private registry to
|
||
|
be used for all system images.
|
||
|
type: string
|
||
|
type: object
|
||
|
files:
|
||
|
description: Files specifies extra files to be passed to user_data
|
||
|
upon creation.
|
||
|
items:
|
||
|
description: File defines the input for generating write_files
|
||
|
in cloud-init.
|
||
|
properties:
|
||
|
content:
|
||
|
description: Content is the actual content of the file.
|
||
|
type: string
|
||
|
contentFrom:
|
||
|
description: ContentFrom is a referenced source of content
|
||
|
to populate the file.
|
||
|
properties:
|
||
|
secret:
|
||
|
description: SecretFileSource represents a secret
|
||
|
that should populate this file.
|
||
|
properties:
|
||
|
key:
|
||
|
description: Key is the key in the secret's
|
||
|
data map for this value.
|
||
|
type: string
|
||
|
name:
|
||
|
description: Name of the secret in the RKE2BootstrapConfig's
|
||
|
namespace to use.
|
||
|
type: string
|
||
|
required:
|
||
|
- key
|
||
|
- name
|
||
|
type: object
|
||
|
required:
|
||
|
- secret
|
||
|
type: object
|
||
|
encoding:
|
||
|
description: Encoding specifies the encoding of the
|
||
|
file contents.
|
||
|
enum:
|
||
|
- base64
|
||
|
- gzip
|
||
|
- gzip+base64
|
||
|
type: string
|
||
|
owner:
|
||
|
description: Owner specifies the ownership of the file,
|
||
|
e.g. "root:root".
|
||
|
type: string
|
||
|
path:
|
||
|
description: Path specifies the full path on disk where
|
||
|
to store the file.
|
||
|
type: string
|
||
|
permissions:
|
||
|
description: Permissions specifies the permissions to
|
||
|
assign to the file, e.g. "0640".
|
||
|
type: string
|
||
|
required:
|
||
|
- path
|
||
|
type: object
|
||
|
type: array
|
||
|
postRKE2Commands:
|
||
|
description: PostRKE2Commands specifies extra commands to
|
||
|
run after rke2 setup runs.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
preRKE2Commands:
|
||
|
description: PreRKE2Commands specifies extra commands to run
|
||
|
before rke2 setup runs.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
privateRegistriesConfig:
|
||
|
description: PrivateRegistriesConfig defines the containerd
|
||
|
configuration for private registries and local registry
|
||
|
mirrors.
|
||
|
properties:
|
||
|
configs:
|
||
|
additionalProperties:
|
||
|
description: RegistryConfig contains configuration used
|
||
|
to communicate with the registry.
|
||
|
properties:
|
||
|
authSecret:
|
||
|
description: |-
|
||
|
Auth is a reference to a Secret containing information to authenticate to the registry.
|
||
|
The Secret must provite a username and a password data entry.
|
||
|
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
|
||
|
tls:
|
||
|
description: |-
|
||
|
TLS is a pair of CA/Cert/Key which then are used when creating the transport
|
||
|
that communicates with the registry.
|
||
|
properties:
|
||
|
insecureSkipVerify:
|
||
|
description: InsecureSkipVerify may be set to
|
||
|
false to skip verifying the registry's certificate,
|
||
|
default is true.
|
||
|
type: boolean
|
||
|
tlsConfigSecret:
|
||
|
description: |-
|
||
|
TLSConfigSecret is a reference to a secret of type `kubernetes.io/tls` thich has up to 3 entries: tls.crt, tls.key and ca.crt
|
||
|
which describe the TLS configuration necessary to connect to the registry.
|
||
|
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
|
||
|
description: |-
|
||
|
Configs are configs for each registry.
|
||
|
The key is the FDQN or IP of the registry.
|
||
|
type: object
|
||
|
mirrors:
|
||
|
additionalProperties:
|
||
|
description: Mirror contains the config related to the
|
||
|
registry mirror.
|
||
|
properties:
|
||
|
endpoint:
|
||
|
description: |-
|
||
|
Endpoints are endpoints for a namespace. CRI plugin will try the endpoints
|
||
|
one by one until a working one is found. The endpoint must be a valid url
|
||
|
with host specified.
|
||
|
The scheme, host and path from the endpoint URL will be used.
|
||
|
items:
|
||
|
type: string
|
||
|
type: array
|
||
|
rewrite:
|
||
|
additionalProperties:
|
||
|
type: string
|
||
|
description: |-
|
||
|
Rewrites are repository rewrite rules for a namespace. When fetching image resources
|
||
|
from an endpoint and a key matches the repository via regular expression matching
|
||
|
it will be replaced with the corresponding value from the map in the resource request.
|
||
|
type: object
|
||
|
type: object
|
||
|
description: Mirrors are namespace to mirror mapping for
|
||
|
all namespaces.
|
||
|
type: object
|
||
|
type: object
|
||
|
type: object
|
||
|
required:
|
||
|
- spec
|
||
|
type: object
|
||
|
required:
|
||
|
- template
|
||
|
type: object
|
||
|
required:
|
||
|
- spec
|
||
|
type: object
|
||
|
served: true
|
||
|
storage: true
|
||
|
subresources:
|
||
|
status: {}
|
||
|
---
|
||
|
apiVersion: v1
|
||
|
kind: ServiceAccount
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
name: rke2-bootstrap-manager
|
||
|
namespace: rke2-bootstrap-system
|
||
|
---
|
||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||
|
kind: Role
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
name: rke2-bootstrap-leader-election-role
|
||
|
namespace: rke2-bootstrap-system
|
||
|
rules:
|
||
|
- apiGroups:
|
||
|
- ""
|
||
|
resources:
|
||
|
- configmaps
|
||
|
verbs:
|
||
|
- get
|
||
|
- list
|
||
|
- watch
|
||
|
- create
|
||
|
- update
|
||
|
- patch
|
||
|
- delete
|
||
|
- apiGroups:
|
||
|
- coordination.k8s.io
|
||
|
resources:
|
||
|
- leases
|
||
|
verbs:
|
||
|
- get
|
||
|
- list
|
||
|
- watch
|
||
|
- create
|
||
|
- update
|
||
|
- patch
|
||
|
- delete
|
||
|
- apiGroups:
|
||
|
- ""
|
||
|
resources:
|
||
|
- events
|
||
|
verbs:
|
||
|
- create
|
||
|
- patch
|
||
|
---
|
||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||
|
kind: ClusterRole
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
name: rke2-bootstrap-manager-role
|
||
|
rules:
|
||
|
- apiGroups:
|
||
|
- ""
|
||
|
resources:
|
||
|
- configmaps
|
||
|
- events
|
||
|
- 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:
|
||
|
- bootstrap.cluster.x-k8s.io
|
||
|
resources:
|
||
|
- rke2configs
|
||
|
- rke2configs/finalizers
|
||
|
- rke2configs/status
|
||
|
verbs:
|
||
|
- create
|
||
|
- delete
|
||
|
- get
|
||
|
- list
|
||
|
- patch
|
||
|
- update
|
||
|
- watch
|
||
|
- apiGroups:
|
||
|
- cluster.x-k8s.io
|
||
|
resources:
|
||
|
- clusters
|
||
|
- clusters/status
|
||
|
- machinepools
|
||
|
- machinepools/status
|
||
|
- machines
|
||
|
- machines/status
|
||
|
- machinesets
|
||
|
verbs:
|
||
|
- get
|
||
|
- list
|
||
|
- watch
|
||
|
- apiGroups:
|
||
|
- controlplane.cluster.x-k8s.io
|
||
|
resources:
|
||
|
- rke2controlplanes
|
||
|
- rke2controlplanes/status
|
||
|
verbs:
|
||
|
- get
|
||
|
- list
|
||
|
- watch
|
||
|
---
|
||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||
|
kind: RoleBinding
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
name: rke2-bootstrap-leader-election-rolebinding
|
||
|
namespace: rke2-bootstrap-system
|
||
|
roleRef:
|
||
|
apiGroup: rbac.authorization.k8s.io
|
||
|
kind: Role
|
||
|
name: rke2-bootstrap-leader-election-role
|
||
|
subjects:
|
||
|
- kind: ServiceAccount
|
||
|
name: rke2-bootstrap-manager
|
||
|
namespace: rke2-bootstrap-system
|
||
|
---
|
||
|
apiVersion: rbac.authorization.k8s.io/v1
|
||
|
kind: ClusterRoleBinding
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
name: rke2-bootstrap-manager-rolebinding
|
||
|
roleRef:
|
||
|
apiGroup: rbac.authorization.k8s.io
|
||
|
kind: ClusterRole
|
||
|
name: rke2-bootstrap-manager-role
|
||
|
subjects:
|
||
|
- kind: ServiceAccount
|
||
|
name: rke2-bootstrap-manager
|
||
|
namespace: rke2-bootstrap-system
|
||
|
---
|
||
|
apiVersion: v1
|
||
|
kind: Service
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
name: rke2-bootstrap-webhook-service
|
||
|
namespace: rke2-bootstrap-system
|
||
|
spec:
|
||
|
ports:
|
||
|
- port: 443
|
||
|
targetPort: webhook-server
|
||
|
selector:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
---
|
||
|
apiVersion: apps/v1
|
||
|
kind: Deployment
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
control-plane: controller-manager
|
||
|
name: rke2-bootstrap-controller-manager
|
||
|
namespace: rke2-bootstrap-system
|
||
|
spec:
|
||
|
replicas: 1
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
control-plane: controller-manager
|
||
|
template:
|
||
|
metadata:
|
||
|
annotations:
|
||
|
kubectl.kubernetes.io/default-container: manager
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
control-plane: controller-manager
|
||
|
spec:
|
||
|
containers:
|
||
|
- args:
|
||
|
- --leader-elect
|
||
|
- --diagnostics-address=${CAPRKE2_DIAGNOSTICS_ADDRESS:=:8443}
|
||
|
- --insecure-diagnostics=${CAPRKE2_INSECURE_DIAGNOSTICS:=false}
|
||
|
command:
|
||
|
- /manager
|
||
|
image: ghcr.io/rancher/cluster-api-provider-rke2-bootstrap:v0.7.1
|
||
|
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
|
||
|
volumeMounts:
|
||
|
- mountPath: /tmp/k8s-webhook-server/serving-certs
|
||
|
name: cert
|
||
|
readOnly: true
|
||
|
securityContext:
|
||
|
runAsNonRoot: true
|
||
|
seccompProfile:
|
||
|
type: RuntimeDefault
|
||
|
serviceAccountName: rke2-bootstrap-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:
|
||
|
secretName: rke2-bootstrap-webhook-service-cert
|
||
|
---
|
||
|
apiVersion: cert-manager.io/v1
|
||
|
kind: Certificate
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
name: rke2-bootstrap-serving-cert
|
||
|
namespace: rke2-bootstrap-system
|
||
|
spec:
|
||
|
dnsNames:
|
||
|
- rke2-bootstrap-webhook-service.rke2-bootstrap-system.svc
|
||
|
- rke2-bootstrap-webhook-service.rke2-bootstrap-system.svc.cluster.local
|
||
|
issuerRef:
|
||
|
kind: Issuer
|
||
|
name: rke2-bootstrap-selfsigned-issuer
|
||
|
secretName: rke2-bootstrap-webhook-service-cert
|
||
|
subject:
|
||
|
organizations:
|
||
|
- Rancher by SUSE
|
||
|
---
|
||
|
apiVersion: cert-manager.io/v1
|
||
|
kind: Issuer
|
||
|
metadata:
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
name: rke2-bootstrap-selfsigned-issuer
|
||
|
namespace: rke2-bootstrap-system
|
||
|
spec:
|
||
|
selfSigned: {}
|
||
|
---
|
||
|
apiVersion: admissionregistration.k8s.io/v1
|
||
|
kind: MutatingWebhookConfiguration
|
||
|
metadata:
|
||
|
annotations:
|
||
|
cert-manager.io/inject-ca-from: rke2-bootstrap-system/rke2-bootstrap-serving-cert
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
name: rke2-bootstrap-mutating-webhook-configuration
|
||
|
webhooks:
|
||
|
- admissionReviewVersions:
|
||
|
- v1
|
||
|
clientConfig:
|
||
|
service:
|
||
|
name: rke2-bootstrap-webhook-service
|
||
|
namespace: rke2-bootstrap-system
|
||
|
path: /mutate-bootstrap-cluster-x-k8s-io-v1beta1-rke2config
|
||
|
failurePolicy: Fail
|
||
|
name: mrke2config.kb.io
|
||
|
rules:
|
||
|
- apiGroups:
|
||
|
- bootstrap.cluster.x-k8s.io
|
||
|
apiVersions:
|
||
|
- v1beta1
|
||
|
operations:
|
||
|
- CREATE
|
||
|
- UPDATE
|
||
|
resources:
|
||
|
- rke2configs
|
||
|
sideEffects: None
|
||
|
- admissionReviewVersions:
|
||
|
- v1
|
||
|
clientConfig:
|
||
|
service:
|
||
|
name: rke2-bootstrap-webhook-service
|
||
|
namespace: rke2-bootstrap-system
|
||
|
path: /mutate-bootstrap-cluster-x-k8s-io-v1beta1-rke2configtemplate
|
||
|
failurePolicy: Fail
|
||
|
name: mrke2configtemplate.kb.io
|
||
|
rules:
|
||
|
- apiGroups:
|
||
|
- bootstrap.cluster.x-k8s.io
|
||
|
apiVersions:
|
||
|
- v1beta1
|
||
|
operations:
|
||
|
- CREATE
|
||
|
- UPDATE
|
||
|
resources:
|
||
|
- rke2configtemplates
|
||
|
sideEffects: None
|
||
|
---
|
||
|
apiVersion: admissionregistration.k8s.io/v1
|
||
|
kind: ValidatingWebhookConfiguration
|
||
|
metadata:
|
||
|
annotations:
|
||
|
cert-manager.io/inject-ca-from: rke2-bootstrap-system/rke2-bootstrap-serving-cert
|
||
|
labels:
|
||
|
cluster.x-k8s.io/provider: bootstrap-rke2
|
||
|
name: rke2-bootstrap-validating-webhook-configuration
|
||
|
webhooks:
|
||
|
- admissionReviewVersions:
|
||
|
- v1
|
||
|
clientConfig:
|
||
|
service:
|
||
|
name: rke2-bootstrap-webhook-service
|
||
|
namespace: rke2-bootstrap-system
|
||
|
path: /validate-bootstrap-cluster-x-k8s-io-v1beta1-rke2config
|
||
|
failurePolicy: Fail
|
||
|
name: vrke2config.kb.io
|
||
|
rules:
|
||
|
- apiGroups:
|
||
|
- bootstrap.cluster.x-k8s.io
|
||
|
apiVersions:
|
||
|
- v1beta1
|
||
|
operations:
|
||
|
- CREATE
|
||
|
- UPDATE
|
||
|
resources:
|
||
|
- rke2configs
|
||
|
sideEffects: None
|
||
|
- admissionReviewVersions:
|
||
|
- v1
|
||
|
clientConfig:
|
||
|
service:
|
||
|
name: rke2-bootstrap-webhook-service
|
||
|
namespace: rke2-bootstrap-system
|
||
|
path: /validate-bootstrap-cluster-x-k8s-io-v1beta1-rke2configtemplate
|
||
|
failurePolicy: Fail
|
||
|
name: vrke2configtemplate.kb.io
|
||
|
rules:
|
||
|
- apiGroups:
|
||
|
- bootstrap.cluster.x-k8s.io
|
||
|
apiVersions:
|
||
|
- v1beta1
|
||
|
operations:
|
||
|
- CREATE
|
||
|
- UPDATE
|
||
|
resources:
|
||
|
- rke2configtemplates
|
||
|
sideEffects: None
|
||
|
metadata: |
|
||
|
# maps release series of major.minor to cluster-api contract version
|
||
|
# the contract version may change between minor or major versions, but *not*
|
||
|
# between patch versions.
|
||
|
#
|
||
|
# update this file only when a new major or minor version is released
|
||
|
apiVersion: clusterctl.cluster.x-k8s.io/v1alpha3
|
||
|
kind: Metadata
|
||
|
releaseSeries:
|
||
|
- major: 0
|
||
|
minor: 1
|
||
|
contract: v1beta1
|
||
|
- major: 0
|
||
|
minor: 2
|
||
|
contract: v1beta1
|
||
|
- major: 0
|
||
|
minor: 3
|
||
|
contract: v1beta1
|
||
|
- major: 0
|
||
|
minor: 4
|
||
|
contract: v1beta1
|
||
|
- major: 0
|
||
|
minor: 5
|
||
|
contract: v1beta1
|
||
|
- major: 0
|
||
|
minor: 6
|
||
|
contract: v1beta1
|
||
|
- major: 0
|
||
|
minor: 7
|
||
|
contract: v1beta1
|
||
|
kind: ConfigMap
|
||
|
metadata:
|
||
|
creationTimestamp: null
|
||
|
name: v0.7.1
|
||
|
namespace: rke2-bootstrap-system
|
||
|
labels:
|
||
|
provider-components: rke2-bootstrap
|