--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.11.4 name: etcdadmconfigs.bootstrap.cluster.x-k8s.io spec: group: bootstrap.cluster.x-k8s.io names: kind: EtcdadmConfig listKind: EtcdadmConfigList plural: etcdadmconfigs singular: etcdadmconfig scope: Namespaced versions: - name: v1alpha3 schema: openAPIV3Schema: description: EtcdadmConfig is the Schema for the etcdadmconfigs 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: EtcdadmConfigSpec defines the desired state of EtcdadmConfig properties: bottlerocketConfig: description: BottlerocketConfig specifies the configuration for the bottlerocket bootstrap data properties: adminImage: description: AdminImage specifies the admin container image to use for bottlerocket. type: string boot: description: Boot specifies boot settings for bottlerocket properties: bootKernelParameters: additionalProperties: items: type: string type: array type: object type: object bootstrapImage: description: BootstrapImage specifies the container image to use for bottlerocket's bootstrapping type: string controlImage: description: ControlImage specifies the control container image to use for bottlerocket. type: string customBootstrapContainers: description: CustomBootstrapContainers adds additional bootstrap containers for bottlerocket. items: description: BottlerocketBootstrapContainer holds the bootstrap container setting for bottlerocket. properties: essential: description: Essential decides whether or not the container should fail the boot process. Bootstrap containers configured with essential = true will stop the boot process if they exit code is a non-zero value. Default is false. type: boolean image: description: Image is the actual image used for Bottlerocket bootstrap. type: string mode: description: Mode represents the bootstrap container mode. enum: - always - "off" - once type: string name: description: Name is the bootstrap container name that will be given to the container in BR's `apiserver`. type: string userData: description: UserData is the base64-encoded userdata. type: string required: - image - mode - name type: object type: array customHostContainers: description: CustomHostContainers adds additional host containers for bottlerocket. items: description: BottlerocketHostContainer holds the host container setting for bottlerocket. properties: image: description: Image is the actual location of the host container image. type: string name: description: Name is the host container name that will be given to the container in BR's `apiserver` type: string superpowered: description: Superpowered indicates if the container will be superpowered type: boolean userData: description: UserData is the userdata that will be attached to the image. type: string required: - image - name - superpowered type: object type: array etcdImage: description: EtcdImage specifies the etcd image to use by etcdadm type: string kernel: description: Kernel specifies additional kernel settings for bottlerocket properties: sysctlSettings: additionalProperties: type: string description: SysctlSettings defines the kernel sysctl settings to set for bottlerocket nodes. type: object type: object pauseImage: description: PauseImage specifies the image to use for the pause container type: string required: - bootstrapImage - pauseImage type: object certBundles: description: Certbundle holds additional cert bundles. items: description: CertBundle holds the cert data. properties: data: description: Data is the actual cert. type: string name: description: Name is the name of the cert bundle. type: string required: - data - name type: object type: array cipherSuites: description: CipherSuites is a list of comma-delimited supported TLS cipher suites, mapping to the --cipher-suites flag. Default is empty, which means that they will be auto-populated by Go. type: string cloudInitConfig: description: CloudInitConfig specifies the configuration for the cloud-init bootstrap data properties: etcdReleaseURL: description: EtcdReleaseURL is an optional field to specify where etcdadm can download etcd from type: string installDir: description: InstallDir is an optional field to specify where etcdadm will extract etcd binaries to type: string version: type: string type: object etcdadmBuiltin: type: boolean etcdadmInstallCommands: items: type: string type: array 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: append: description: Append specifies whether to append Content to existing file if Path exists. type: boolean 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: Secret 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 KubeadmBootstrapConfig'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 format: description: Format specifies the output format of the bootstrap data enum: - cloud-config - bottlerocket type: string 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 postEtcdadmCommands: description: PostEtcdadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preEtcdadmCommands: description: PreEtcdadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array proxy: description: Proxy holds the https and no proxy information This is only used for bottlerocket properties: httpProxy: description: HTTP Proxy type: string httpsProxy: description: HTTPS proxy type: string noProxy: description: No proxy, list of ips that should not use proxy items: type: string type: array type: object registryMirror: description: RegistryMirror holds the image registry mirror information This is only used for bottlerocket properties: caCert: description: CACert defines the CA cert for the registry mirror type: string endpoint: description: Endpoint defines the registry mirror endpoint to use for pulling images type: string type: object users: description: Users specifies extra users to add items: description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: description: Groups specifies the additional groups for the user type: string homeDir: description: HomeDir specifies the home directory to use for the user type: string inactive: description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: description: Passwd specifies a hashed password for the user type: string passwdFrom: description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: description: Secret represents a secret that should populate this password. 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 KubeadmBootstrapConfig's namespace to use. type: string required: - key - name type: object required: - secret type: object primaryGroup: description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array sudo: description: Sudo specifies a sudo role for the user type: string required: - name type: object type: array type: object status: description: EtcdadmConfigStatus defines the observed state of EtcdadmConfig properties: conditions: description: Conditions defines current service state of the KubeadmConfig. 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: - status - type type: object type: array dataSecretName: type: string ready: type: boolean type: object type: object served: true storage: false subresources: status: {} - name: v1beta1 schema: openAPIV3Schema: description: EtcdadmConfig is the Schema for the etcdadmconfigs 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: EtcdadmConfigSpec defines the desired state of EtcdadmConfig properties: bottlerocketConfig: description: BottlerocketConfig specifies the configuration for the bottlerocket bootstrap data properties: adminImage: description: AdminImage specifies the admin container image to use for bottlerocket. type: string boot: description: Boot specifies boot settings for bottlerocket properties: bootKernelParameters: additionalProperties: items: type: string type: array type: object type: object bootstrapImage: description: BootstrapImage specifies the container image to use for bottlerocket's bootstrapping type: string controlImage: description: ControlImage specifies the control container image to use for bottlerocket. type: string customBootstrapContainers: description: CustomBootstrapContainers adds additional bootstrap containers for bottlerocket. items: description: BottlerocketBootstrapContainer holds the bootstrap container setting for bottlerocket. properties: essential: description: Essential decides whether or not the container should fail the boot process. Bootstrap containers configured with essential = true will stop the boot process if they exit code is a non-zero value. Default is false. type: boolean image: description: Image is the actual image used for Bottlerocket bootstrap. type: string mode: description: Mode represents the bootstrap container mode. enum: - always - "off" - once type: string name: description: Name is the bootstrap container name that will be given to the container in BR's `apiserver`. type: string userData: description: UserData is the base64-encoded userdata. type: string required: - image - mode - name type: object type: array customHostContainers: description: CustomHostContainers adds additional host containers for bottlerocket. items: description: BottlerocketHostContainer holds the host container setting for bottlerocket. properties: image: description: Image is the actual location of the host container image. type: string name: description: Name is the host container name that will be given to the container in BR's `apiserver` type: string superpowered: description: Superpowered indicates if the container will be superpowered type: boolean userData: description: UserData is the userdata that will be attached to the image. type: string required: - image - name - superpowered type: object type: array etcdImage: description: EtcdImage specifies the etcd image to use by etcdadm type: string kernel: description: Kernel specifies additional kernel settings for bottlerocket properties: sysctlSettings: additionalProperties: type: string description: SysctlSettings defines the kernel sysctl settings to set for bottlerocket nodes. type: object type: object pauseImage: description: PauseImage specifies the image to use for the pause container type: string required: - bootstrapImage - pauseImage type: object certBundles: description: Certbundle holds additional cert bundles. items: description: CertBundle holds the cert data. properties: data: description: Data is the actual cert. type: string name: description: Name is the name of the cert bundle. type: string required: - data - name type: object type: array cipherSuites: description: CipherSuites is a list of comma-delimited supported TLS cipher suites, mapping to the --cipher-suites flag. Default is empty, which means that they will be auto-populated by Go. type: string cloudInitConfig: description: CloudInitConfig specifies the configuration for the cloud-init bootstrap data properties: etcdReleaseURL: description: EtcdReleaseURL is an optional field to specify where etcdadm can download etcd from type: string installDir: description: InstallDir is an optional field to specify where etcdadm will extract etcd binaries to type: string version: type: string type: object etcdadmBuiltin: type: boolean etcdadmInstallCommands: items: type: string type: array 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: append: description: Append specifies whether to append Content to existing file if Path exists. type: boolean 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: Secret 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 KubeadmBootstrapConfig'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 format: description: Format specifies the output format of the bootstrap data enum: - cloud-config - bottlerocket type: string 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 postEtcdadmCommands: description: PostEtcdadmCommands specifies extra commands to run after kubeadm runs items: type: string type: array preEtcdadmCommands: description: PreEtcdadmCommands specifies extra commands to run before kubeadm runs items: type: string type: array proxy: description: Proxy holds the https and no proxy information This is only used for bottlerocket properties: httpProxy: description: HTTP Proxy type: string httpsProxy: description: HTTPS proxy type: string noProxy: description: No proxy, list of ips that should not use proxy items: type: string type: array type: object registryMirror: description: RegistryMirror holds the image registry mirror information This is only used for bottlerocket properties: caCert: description: CACert defines the CA cert for the registry mirror type: string endpoint: description: Endpoint defines the registry mirror endpoint to use for pulling images type: string type: object users: description: Users specifies extra users to add items: description: User defines the input for a generated user in cloud-init. properties: gecos: description: Gecos specifies the gecos to use for the user type: string groups: description: Groups specifies the additional groups for the user type: string homeDir: description: HomeDir specifies the home directory to use for the user type: string inactive: description: Inactive specifies whether to mark the user as inactive type: boolean lockPassword: description: LockPassword specifies if password login should be disabled type: boolean name: description: Name specifies the user name type: string passwd: description: Passwd specifies a hashed password for the user type: string passwdFrom: description: PasswdFrom is a referenced source of passwd to populate the passwd. properties: secret: description: Secret represents a secret that should populate this password. 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 KubeadmBootstrapConfig's namespace to use. type: string required: - key - name type: object required: - secret type: object primaryGroup: description: PrimaryGroup specifies the primary group for the user type: string shell: description: Shell specifies the user's shell type: string sshAuthorizedKeys: description: SSHAuthorizedKeys specifies a list of ssh authorized keys for the user items: type: string type: array sudo: description: Sudo specifies a sudo role for the user type: string required: - name type: object type: array type: object status: description: EtcdadmConfigStatus defines the observed state of EtcdadmConfig properties: conditions: description: Conditions defines current service state of the KubeadmConfig. 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: type: string ready: type: boolean type: object type: object served: true storage: true subresources: status: {}