TalosConfigPatch

This page is generated from the CRD schema in config/crd/bases (make docs-reference). Do not edit it.

TalosConfigPatch is the Schema for the talosconfigpatches API

Groupichor.maesh.dev
KindTalosConfigPatch (list kind TalosConfigPatchList)
Resourcetalosconfigpatches
Short namestcp
ScopeNamespaced

v1alpha1

Version v1alpha1: has a status subresource.

spec

FieldTypeRequiredDescription
specobjectyesspec defines the desired state of TalosConfigPatch
spec.clusterRefobjectyesclusterRef names the TalosCluster this patch applies to.
spec.clusterRef.namestringnoName of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names Default: "".
spec.documents[]objectnodocuments holds the Talos config documents this patch applies, restricted to an allow-list of kinds.
spec.documents[].configobjectnoconfig is a Talos v1alpha1 Config document; populated when kind is "Config".
spec.documents[].config.clusterobjectnoProvides cluster specific configuration options.
spec.documents[].config.cluster.acceptedCAs (deprecated)[]objectnodocgen:nodoc Deprecated: Use KubeAPIServerCAConfig instead.
spec.documents[].config.cluster.acceptedCAs[].crt (deprecated)string (byte)yes
spec.documents[].config.cluster.adminKubeconfigobjectnoSettings for admin kubeconfig generation. Certificate lifetime can be configured.
spec.documents[].config.cluster.adminKubeconfig.certLifetimestringnoAdmin kubeconfig certificate lifetime (default is 1 year). Field format accepts any Go time.Duration format ('1h' for one hour, '10m' for ten minutes).
spec.documents[].config.cluster.allowSchedulingOnControlPlanes (deprecated)booleannodocgen:nodoc Deprecated: use KubeNodeConfig instead.
spec.documents[].config.cluster.allowSchedulingOnMasters (deprecated)booleannodocgen:nodoc Deprecated: use KubeNodeConfig instead.
spec.documents[].config.cluster.apiServer (deprecated)objectnodocgen:nodoc Deprecated: Use KubeAPIServerConfig instead.
spec.documents[].config.cluster.apiServer.admissionControl (deprecated)[]objectnodocgen:nodoc Deprecated: Use KubeAdmissionControlConfig instead.
spec.documents[].config.cluster.apiServer.admissionControl[].name (deprecated)stringyesName is the name of the admission controller. It must match the registered admission plugin name.
spec.documents[].config.cluster.apiServer.auditPolicy (deprecated)objectnodocgen:nodoc Deprecated: Use KubeAuditPolicyConfig instead.
spec.documents[].config.cluster.apiServer.auditPolicy.apiVersion (deprecated)stringnoAPIVersion 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
spec.documents[].config.cluster.apiServer.auditPolicy.kind (deprecated)stringnoKind 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
spec.documents[].config.cluster.apiServer.auditPolicy.metadata (deprecated)objectnoObjectMeta is included for interoperability with API infrastructure.
spec.documents[].config.cluster.apiServer.auditPolicy.omitManagedFields (deprecated)booleannoOmitManagedFields indicates whether to omit the managed fields of the request and response bodies from being written to the API audit log. This is used as a global default - a value of 'true' will omit the managed fileds, otherwise the managed fields will be included in the API audit log. Note that this can also be specified per rule in which case the value specified in a rule will override the global default.
spec.documents[].config.cluster.apiServer.auditPolicy.omitStages (deprecated)[]stringnoOmitStages is a list of stages for which no events are created. Note that this can also be specified per rule in which case the union of both are omitted.
spec.documents[].config.cluster.apiServer.auditPolicy.rules (deprecated)[]objectyesRules specify the audit Level a request should be recorded at. A request may match multiple rules, in which case the FIRST matching rule is used. The default audit level is None, but can be overridden by a catch-all rule at the end of the list. PolicyRules are strictly ordered.
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].level (deprecated)stringyesThe Level that requests matching this rule are recorded at.
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].namespaces (deprecated)[]stringnoNamespaces that this rule matches. The empty string "" matches non-namespaced resources. An empty list implies every namespace.
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].nonResourceURLs (deprecated)[]stringnoNonResourceURLs is a set of URL paths that should be audited. *s are allowed, but only as the full, final step in the path. Examples: - /metrics - Log requests for apiserver metrics - /healthz* - Log all health checks
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].omitManagedFields (deprecated)booleannoOmitManagedFields indicates whether to omit the managed fields of the request and response bodies from being written to the API audit log. - a value of 'true' will drop the managed fields from the API audit log - a value of 'false' indicates that the managed fileds should be included in the API audit log Note that the value, if specified, in this rule will override the global default If a value is not specified then the global default specified in Policy.OmitManagedFields will stand.
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].omitStages (deprecated)[]stringnoOmitStages is a list of stages for which no events are created. Note that this can also be specified policy wide in which case the union of both are omitted. An empty list means no restrictions will apply.
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].resources (deprecated)[]objectnoResources that this rule matches. An empty list implies all kinds in all API groups.
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].resources[].group (deprecated)stringnoGroup is the name of the API group that contains the resources. The empty string represents the core API group. * matches all groups
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].resources[].resourceNames (deprecated)[]stringnoResourceNames is a list of resource instance names that the policy matches. Using this field requires Resources to be specified. An empty list implies that every instance of the resource is matched.
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].resources[].resources (deprecated)[]stringnoResources is a list of resources this rule applies to. For example: - pods matches pods. - pods/log matches the log subresource of pods. - * matches all resources and their subresources. - pods/* matches all subresources of pods. - */scale matches all scale subresources. If wildcard is present, the validation rule will ensure resources do not overlap with each other. An empty list implies all resources and subresources in this API groups apply.
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].userGroups (deprecated)[]stringnoThe user groups this rule applies to. A user is considered matching if it is a member of any of the UserGroups. An empty list implies every user group.
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].users (deprecated)[]stringnoThe users (by authenticated user name) this rule applies to. An empty list implies every user.
spec.documents[].config.cluster.apiServer.auditPolicy.rules[].verbs (deprecated)[]stringnoThe verbs that match this rule. An empty list implies every verb.
spec.documents[].config.cluster.apiServer.authorizationConfig (deprecated)[]objectnodocgen:nodoc Deprecated: Use KubeAuthorizerConfig instead.
spec.documents[].config.cluster.apiServer.authorizationConfig[].name (deprecated)stringyesName is used to describe the authorizer.
spec.documents[].config.cluster.apiServer.authorizationConfig[].type (deprecated)stringyesType is the name of the authorizer. Allowed values are Node, RBAC, and Webhook.
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook (deprecated)objectnowebhook is the configuration for the webhook authorizer.
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.authorizedTTL (deprecated)stringyesThe duration to cache 'authorized' responses from the webhook authorizer. Same as setting --authorization-webhook-cache-authorized-ttl flag Default: 5m0s
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.cacheAuthorizedRequests (deprecated)booleannoCacheAuthorizedRequests specifies whether authorized requests should be cached. If set to true, the TTL for cached decisions can be configured via the AuthorizedTTL field. Default: true
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.cacheUnauthorizedRequests (deprecated)booleannoCacheUnauthorizedRequests specifies whether unauthorized requests should be cached. If set to true, the TTL for cached decisions can be configured via the UnauthorizedTTL field. Default: true
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.connectionInfo (deprecated)objectyesConnectionInfo defines how we talk to the webhook
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.connectionInfo.kubeConfigFile (deprecated)stringyesPath to KubeConfigFile for connection info Required, if connectionInfo.Type is KubeConfig
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.connectionInfo.type (deprecated)stringyesControls how the webhook should communicate with the server. Valid values: - KubeConfigFile: use the file specified in kubeConfigFile to locate the server. - InClusterConfig: use the in-cluster configuration to call the SubjectAccessReview API hosted by kube-apiserver. This mode is not allowed for kube-apiserver.
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.failurePolicy (deprecated)stringyesControls the authorization decision when a webhook request fails to complete or returns a malformed response or errors evaluating matchConditions. Valid values: - NoOpinion: continue to subsequent authorizers to see if one of them allows the request - Deny: reject the request without consulting subsequent authorizers Required, with no default.
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.matchConditionSubjectAccessReviewVersion (deprecated)stringyesMatchConditionSubjectAccessReviewVersion specifies the SubjectAccessReview version the CEL expressions are evaluated against Valid values: v1 Required, no default value
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.matchConditions (deprecated)[]objectyesmatchConditions is a list of conditions that must be met for a request to be sent to this webhook. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed. The exact matching logic is (in order): 1. If at least one matchCondition evaluates to FALSE, then the webhook is skipped. 2. If ALL matchConditions evaluate to TRUE, then the webhook is called. 3. If at least one matchCondition evaluates to an error (but none are FALSE): - If failurePolicy=Deny, then the webhook rejects the request - If failurePolicy=NoOpinion, then the error is ignored and the webhook is skipped
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.matchConditions[].expression (deprecated)stringyesexpression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the SubjectAccessReview in v1 version. If version specified by subjectAccessReviewVersion in the request variable is v1beta1, the contents would be converted to the v1 version before evaluating the CEL expression. - 'resourceAttributes' describes information for a resource access request and is unset for non-resource requests. e.g. has(request.resourceAttributes) && request.resourceAttributes.namespace == 'default' - 'nonResourceAttributes' describes information for a non-resource access request and is unset for resource requests. e.g. has(request.nonResourceAttributes) && request.nonResourceAttributes.path == '/healthz'. - 'user' is the user to test for. e.g. request.user == 'alice' - 'groups' is the groups to test for. e.g. ('group1' in request.groups) - 'extra' corresponds to the user.Info.GetExtra() method from the authenticator. - 'uid' is the information about the requesting user. e.g. request.uid == '1' Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.subjectAccessReviewVersion (deprecated)stringyesThe API version of the authorization.k8s.io SubjectAccessReview to send to and expect from the webhook. Same as setting --authorization-webhook-version flag Valid values: v1beta1, v1 Required, no default value
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.timeout (deprecated)stringyesTimeout for the webhook request Maximum allowed value is 30s. Required, no default value.
spec.documents[].config.cluster.apiServer.authorizationConfig[].webhook.unauthorizedTTL (deprecated)stringyesThe duration to cache 'unauthorized' responses from the webhook authorizer. Same as setting --authorization-webhook-cache-unauthorized-ttl flag Default: 30s
spec.documents[].config.cluster.apiServer.certSANs (deprecated)[]stringnoExtra certificate subject alternative names for the API server's certificate.
spec.documents[].config.cluster.apiServer.disablePodSecurityPolicy (deprecated)booleannodocgen:nodoc
spec.documents[].config.cluster.apiServer.env (deprecated)map[string]stringnoThe env field allows for the addition of environment variables for the control plane component.
spec.documents[].config.cluster.apiServer.extraArgs (deprecated)map[string][]stringnoExtra arguments to supply to the API server.
spec.documents[].config.cluster.apiServer.extraVolumes (deprecated)[]objectnoExtra volumes to mount to the API server static pod.
spec.documents[].config.cluster.apiServer.extraVolumes[].hostPath (deprecated)stringyesPath on the host.
spec.documents[].config.cluster.apiServer.extraVolumes[].mountPath (deprecated)stringyesPath in the container.
spec.documents[].config.cluster.apiServer.extraVolumes[].readonly (deprecated)booleannoMount the volume read only.
spec.documents[].config.cluster.apiServer.image (deprecated)stringnoThe container image used in the API server manifest.
spec.documents[].config.cluster.apiServer.resources (deprecated)objectnoConfigure the API server resources.
spec.documents[].config.cluster.apiServer.resources.limits (deprecated)map[string]integer or stringnoLimits configures the maximum cpu/memory resources a container can use.
spec.documents[].config.cluster.apiServer.resources.requests (deprecated)map[string]integer or stringnoRequests configures the reserved cpu/memory resources.
spec.documents[].config.cluster.clusterName (deprecated)stringnodocgen:nodoc Deprecated: Use KubeClusterConfig instead.
spec.documents[].config.cluster.controlPlane (deprecated)objectnodocgen:nodoc Deprecated: Use KubeClusterConfig instead.
spec.documents[].config.cluster.controlPlane.endpoint (deprecated)stringyesEndpoint is the canonical controlplane endpoint, which can be an IP address or a DNS hostname. It is single-valued, and may optionally include a port number.
spec.documents[].config.cluster.controlPlane.localAPIServerPort (deprecated)integernodocgen:nodoc Deprecated: Use KubeAPIServerConfig instead.
spec.documents[].config.cluster.controllerManager (deprecated)objectnodocgen:nodoc Deprecated: Use KubeControllerManagerConfig instead.
spec.documents[].config.cluster.controllerManager.env (deprecated)map[string]stringnoThe env field allows for the addition of environment variables for the control plane component.
spec.documents[].config.cluster.controllerManager.extraArgs (deprecated)map[string][]stringnoExtra arguments to supply to the controller manager.
spec.documents[].config.cluster.controllerManager.extraVolumes (deprecated)[]objectnoExtra volumes to mount to the controller manager static pod.
spec.documents[].config.cluster.controllerManager.extraVolumes[].hostPath (deprecated)stringyesPath on the host.
spec.documents[].config.cluster.controllerManager.extraVolumes[].mountPath (deprecated)stringyesPath in the container.
spec.documents[].config.cluster.controllerManager.extraVolumes[].readonly (deprecated)booleannoMount the volume read only.
spec.documents[].config.cluster.controllerManager.image (deprecated)stringnoThe container image used in the controller manager manifest.
spec.documents[].config.cluster.controllerManager.resources (deprecated)objectnoConfigure the controller manager resources.
spec.documents[].config.cluster.controllerManager.resources.limits (deprecated)map[string]integer or stringnoLimits configures the maximum cpu/memory resources a container can use.
spec.documents[].config.cluster.controllerManager.resources.requests (deprecated)map[string]integer or stringnoRequests configures the reserved cpu/memory resources.
spec.documents[].config.cluster.coreDNS (deprecated)objectnodocgen:nodoc Deprecated: Use KubeCoreDNSConfig instead.
spec.documents[].config.cluster.coreDNS.disabled (deprecated)booleannoDisable coredns deployment on cluster bootstrap.
spec.documents[].config.cluster.coreDNS.image (deprecated)stringnoThe image field is an override to the default coredns image.
spec.documents[].config.cluster.discovery (deprecated)objectnodocgen:nodoc Deprecated: Use 'DiscoveryServiceConfig' instead
spec.documents[].config.cluster.discovery.enabled (deprecated)booleannoEnable the cluster membership discovery feature. Cluster discovery is based on individual registries which are configured under the registries field.
spec.documents[].config.cluster.discovery.registries (deprecated)objectyesConfigure registries used for cluster member discovery.
spec.documents[].config.cluster.discovery.registries.kubernetes (deprecated)objectyesKubernetes registry uses Kubernetes API server to discover cluster members and stores additional information as annotations on the Node resources. This feature is deprecated as it is not compatible with Kubernetes 1.32+. See https://github.com/siderolabs/talos/issues/9980 for more information.
spec.documents[].config.cluster.discovery.registries.kubernetes.disabled (deprecated)booleannoDisable Kubernetes discovery registry.
spec.documents[].config.cluster.discovery.registries.service (deprecated)objectyesService registry is using an external service to push and pull information about cluster members.
spec.documents[].config.cluster.discovery.registries.service.disabled (deprecated)booleannoDisable external service discovery registry.
spec.documents[].config.cluster.discovery.registries.service.endpoint (deprecated)stringnoExternal service endpoint.
spec.documents[].config.cluster.etcdobjectnoEtcd specific configuration options.
spec.documents[].config.cluster.etcd.advertisedSubnets[]stringnoThe advertisedSubnets field configures the networks to pick etcd advertised IP from. IPs can be excluded from the list by using negative match with !, e.g !10.0.0.0/8. Negative subnet matches should be specified last to filter out IPs picked by positive matches. If not specified, advertised IP is selected as the first routable address of the node.
spec.documents[].config.cluster.etcd.extraArgsmap[string][]stringnoExtra arguments to supply to etcd. Note that the following args are not allowed: - name - data-dir - initial-cluster-state - listen-peer-urls - listen-client-urls - cert-file - key-file - trusted-ca-file - peer-client-cert-auth - peer-cert-file - peer-trusted-ca-file - peer-key-file
spec.documents[].config.cluster.etcd.imagestringnoThe container image used to create the etcd service.
spec.documents[].config.cluster.etcd.listenSubnets[]stringnoThe listenSubnets field configures the networks for the etcd to listen for peer and client connections. If listenSubnets is not set, but advertisedSubnets is set, listenSubnets defaults to advertisedSubnets. If neither advertisedSubnets nor listenSubnets is set, listenSubnets defaults to listen on all addresses. IPs can be excluded from the list by using negative match with !, e.g !10.0.0.0/8. Negative subnet matches should be specified last to filter out IPs picked by positive matches. If not specified, advertised IP is selected as the first routable address of the node.
spec.documents[].config.cluster.etcd.subnet (deprecated)stringnodocgen:nodoc Deprecated: use EtcdAdvertistedSubnets
spec.documents[].config.cluster.externalCloudProviderobjectnoExternal cloud provider configuration.
spec.documents[].config.cluster.externalCloudProvider.enabledbooleannoEnable external cloud provider.
spec.documents[].config.cluster.externalCloudProvider.manifests[]stringnoA list of urls that point to additional manifests for an external cloud provider. These will get automatically deployed as part of the bootstrap.
spec.documents[].config.cluster.extraManifestHeaders (deprecated)map[string]stringnodocgen:nodoc Deprecated: Use KubeExternalManifestConfig instead.
spec.documents[].config.cluster.extraManifests (deprecated)[]stringnodocgen:nodoc Deprecated: Use KubeExternalManifestConfig instead.
spec.documents[].config.cluster.id (deprecated)stringnodocgen:nodoc Deprecated: Use 'DiscoveryIdentityConfig' document instead.
spec.documents[].config.cluster.inlineManifests (deprecated)[]objectnodocgen:nodoc Deprecated: Use KubeInlineManifestConfig instead.
spec.documents[].config.cluster.inlineManifests[].contents (deprecated)stringyesManifest contents as a string.
spec.documents[].config.cluster.inlineManifests[].name (deprecated)stringyesName of the manifest. Name should be unique.
spec.documents[].config.cluster.network (deprecated)objectnodocgen:nodoc Deprecated: Use KubeNetworkConfig and KubeFlannelCNIConfig instead.
spec.documents[].config.cluster.network.cni (deprecated)objectnoThe CNI used. Composed of "name" and "urls". The "name" key supports the following options: "flannel", "custom", and "none". "flannel" uses Talos-managed Flannel CNI, and that's the default option. "custom" uses custom manifests that should be provided in "urls". "none" indicates that Talos will not manage any CNI installation.
spec.documents[].config.cluster.network.cni.flannel (deprecated)objectnoFlannelCNIConfig represents the Flannel CNI configuration options. docgen:nodoc
spec.documents[].config.cluster.network.cni.flannel.extraArgs (deprecated)[]stringnoExtra arguments for 'flanneld'.
spec.documents[].config.cluster.network.cni.flannel.kubeNetworkPoliciesEnabled (deprecated)booleannoDeploys kube-network-policies along with Flannel. This enables Kubernetes Network Policies support in the cluster.
spec.documents[].config.cluster.network.cni.name (deprecated)stringnoName of CNI to use.
spec.documents[].config.cluster.network.cni.urls (deprecated)[]stringnoURLs containing manifests to apply for the CNI. Should be present for "custom", must be empty for "flannel" and "none".
spec.documents[].config.cluster.network.dnsDomain (deprecated)stringyesThe domain used by Kubernetes DNS. The default is cluster.local
spec.documents[].config.cluster.network.podSubnets (deprecated)[]stringyesThe pod subnet CIDR.
spec.documents[].config.cluster.network.serviceSubnets (deprecated)[]stringyesThe service subnet CIDR.
spec.documents[].config.cluster.proxy (deprecated)objectnodocgen:nodoc Deprecated: use KubeProxyConfig instead.
spec.documents[].config.cluster.proxy.disabled (deprecated)booleannoDisable kube-proxy deployment on cluster bootstrap.
spec.documents[].config.cluster.proxy.extraArgs (deprecated)map[string][]stringnoExtra arguments to supply to kube-proxy.
spec.documents[].config.cluster.proxy.image (deprecated)stringnoThe container image used in the kube-proxy manifest.
spec.documents[].config.cluster.proxy.mode (deprecated)stringnoproxy mode of kube-proxy. The default is 'iptables'.
spec.documents[].config.cluster.scheduler (deprecated)objectnodocgen:nodoc Deprecated: Use KubeSchedulerConfig instead.
spec.documents[].config.cluster.scheduler.env (deprecated)map[string]stringnoThe env field allows for the addition of environment variables for the control plane component.
spec.documents[].config.cluster.scheduler.extraArgs (deprecated)map[string][]stringnoExtra arguments to supply to the scheduler.
spec.documents[].config.cluster.scheduler.extraVolumes (deprecated)[]objectnoExtra volumes to mount to the scheduler static pod.
spec.documents[].config.cluster.scheduler.extraVolumes[].hostPath (deprecated)stringyesPath on the host.
spec.documents[].config.cluster.scheduler.extraVolumes[].mountPath (deprecated)stringyesPath in the container.
spec.documents[].config.cluster.scheduler.extraVolumes[].readonly (deprecated)booleannoMount the volume read only.
spec.documents[].config.cluster.scheduler.image (deprecated)stringnoThe container image used in the scheduler manifest.
spec.documents[].config.cluster.scheduler.resources (deprecated)objectnoConfigure the scheduler resources.
spec.documents[].config.cluster.scheduler.resources.limits (deprecated)map[string]integer or stringnoLimits configures the maximum cpu/memory resources a container can use.
spec.documents[].config.cluster.scheduler.resources.requests (deprecated)map[string]integer or stringnoRequests configures the reserved cpu/memory resources.
spec.documents[].config.debugbooleannoEnable verbose logging to the console. All system containers logs will flow into serial console. Note: To avoid breaking Talos bootstrap flow enable this option only if serial console can handle high message throughput.
spec.documents[].config.machineobjectnoProvides machine specific configuration options.
spec.documents[].config.machine.acceptedCAs[]objectnoThe certificates issued by certificate authorities are accepted in addition to issuing 'ca'. It is composed of a base64 encoded `crt``.
spec.documents[].config.machine.acceptedCAs[].crtstring (byte)yes
spec.documents[].config.machine.certSANs[]stringnoExtra certificate subject alternative names for the machine's certificate. By default, all non-loopback interface IPs are automatically added to the certificate's SANs.
spec.documents[].config.machine.controlPlane (deprecated)objectnodocgen:nodoc Deprecated: Use KubeControllerManagerConfig/KubeSchedulerConfig instead.
spec.documents[].config.machine.controlPlane.controllerManager (deprecated)objectnodocgen:nodoc Deprecated: Use KubeControllerManagerConfig instead.
spec.documents[].config.machine.controlPlane.controllerManager.disabled (deprecated)booleannoDisable kube-controller-manager on the node.
spec.documents[].config.machine.controlPlane.scheduler (deprecated)objectnodocgen:nodoc Deprecated: Use KubeSchedulerConfig instead.
spec.documents[].config.machine.controlPlane.scheduler.disabled (deprecated)booleannoDisable kube-scheduler on the node.
spec.documents[].config.machine.disks (deprecated)[]objectnodocgen:nodoc Deprecated: Use 'UserVolumeConfig' instead.
spec.documents[].config.machine.disks[].device (deprecated)stringnoThe name of the disk to use.
spec.documents[].config.machine.disks[].partitions (deprecated)[]objectnoA list of partitions to create on the disk.
spec.documents[].config.machine.disks[].partitions[].mountpoint (deprecated)stringnoWhere to mount the partition.
spec.documents[].config.machine.disks[].partitions[].size (deprecated)stringnoThe size of partition: either bytes or human readable representation. If size: is omitted, the partition is sized to occupy the full disk.
spec.documents[].config.machine.env (deprecated)map[string]stringnodocgen:nodoc Deprecated: Use 'EnvironmentConfig' instead.
spec.documents[].config.machine.featuresobjectnoFeatures describe individual Talos features that can be switched on or off.
spec.documents[].config.machine.features.apidCheckExtKeyUsagebooleannodocgen:nodoc
spec.documents[].config.machine.features.diskQuotaSupportbooleannoEnable XFS project quota support for EPHEMERAL partition and user disks. Also enables kubelet tracking of ephemeral disk usage in the kubelet via quota.
spec.documents[].config.machine.features.hostDNS (deprecated)objectnodocgen:nodoc Deprecated: Use ResolverConfig document instead.
spec.documents[].config.machine.features.hostDNS.enabled (deprecated)booleannoEnable host DNS caching resolver.
spec.documents[].config.machine.features.hostDNS.forwardKubeDNSToHost (deprecated)booleannoUse the host DNS resolver as upstream for Kubernetes CoreDNS pods. When enabled, CoreDNS pods use host DNS server as the upstream DNS (instead of using configured upstream DNS resolvers directly).
spec.documents[].config.machine.features.hostDNS.resolveMemberNames (deprecated)booleannoResolve member hostnames using the host DNS resolver. When enabled, cluster member hostnames and node names are resolved using the host DNS resolver. This requires service discovery to be enabled.
spec.documents[].config.machine.features.imageCache (deprecated)objectnodocgen:nodoc Deprecated: Use ImageCacheConfig document instead.
spec.documents[].config.machine.features.imageCache.localEnabled (deprecated)booleannoEnable local image cache.
spec.documents[].config.machine.features.kubePrism (deprecated)objectnodocgen:nodoc Deprecated: Use KubePrismConfig document instead.
spec.documents[].config.machine.features.kubePrism.enabled (deprecated)booleannoEnable KubePrism support - will start local load balancing proxy.
spec.documents[].config.machine.features.kubePrism.port (deprecated)integernoKubePrism port.
spec.documents[].config.machine.features.kubernetesTalosAPIAccess (deprecated)objectnodocgen:nodoc Deprecated: use KubeTalosAPIAccessConfig instead.
spec.documents[].config.machine.features.kubernetesTalosAPIAccess.allowedKubernetesNamespaces (deprecated)[]stringnoThe list of Kubernetes namespaces Talos API access is available from.
spec.documents[].config.machine.features.kubernetesTalosAPIAccess.allowedRoles (deprecated)[]stringnoThe list of Talos API roles which can be granted for access from Kubernetes pods. Empty list means that no roles can be granted, so access is blocked.
spec.documents[].config.machine.features.kubernetesTalosAPIAccess.enabled (deprecated)booleannoEnable Talos API access from Kubernetes pods.
spec.documents[].config.machine.features.nodeAddressSortAlgorithmstringnoSelect the node address sort algorithm. The 'v1' algorithm sorts addresses by the address itself. The 'v2' algorithm prefers more specific prefixes. If unset, defaults to 'v1'.
spec.documents[].config.machine.features.rbacbooleannodocgen:nodoc
spec.documents[].config.machine.features.stableHostname (deprecated)booleannodocgen:nodoc Deprecated: use HostConfig instead.
spec.documents[].config.machine.files (deprecated)[]objectnodocgen:nodoc Deprecated: Use dedicated configuration documents such as EtcFileConfig and CRICustomizationConfig instead.
spec.documents[].config.machine.files[].content (deprecated)stringyesThe contents of the file.
spec.documents[].config.machine.files[].op (deprecated)stringyesThe operation to use
spec.documents[].config.machine.files[].path (deprecated)stringyesThe path of the file.
spec.documents[].config.machine.files[].permissions (deprecated)stringyesThe file's permissions in octal.
spec.documents[].config.machine.install (deprecated)objectnodocgen:nodoc Deprecated: Use the 'UnattendedInstall' multi-document config instead.
spec.documents[].config.machine.install.bootloader (deprecated)booleannodocgen:nodoc Deprecated: It never worked.
spec.documents[].config.machine.install.disk (deprecated)stringnoThe disk used for installations.
spec.documents[].config.machine.install.diskSelector (deprecated)objectnoLook up disk using disk attributes like model, size, serial and others. Always has priority over disk.
spec.documents[].config.machine.install.diskSelector.busPath (deprecated)stringnoDisk bus path.
spec.documents[].config.machine.install.diskSelector.modalias (deprecated)stringnoDisk modalias /sys/block/\<dev>/device/modalias.
spec.documents[].config.machine.install.diskSelector.model (deprecated)stringnoDisk model /sys/block/\<dev>/device/model.
spec.documents[].config.machine.install.diskSelector.name (deprecated)stringnoDisk name /sys/block/\<dev>/device/name.
spec.documents[].config.machine.install.diskSelector.serial (deprecated)stringnoDisk serial number /sys/block/\<dev>/serial.
spec.documents[].config.machine.install.diskSelector.size (deprecated)stringnoDisk size.
spec.documents[].config.machine.install.diskSelector.type (deprecated)stringnoDisk Type.
spec.documents[].config.machine.install.diskSelector.uuid (deprecated)stringnoDisk UUID /sys/block/\<dev>/uuid.
spec.documents[].config.machine.install.diskSelector.wwid (deprecated)stringnoDisk WWID /sys/block/\<dev>/wwid.
spec.documents[].config.machine.install.extensions (deprecated)[]objectnodocgen:nodoc Deprecated: Use custom InstallImage instead.
spec.documents[].config.machine.install.extensions[].image (deprecated)stringyesSystem extension image.
spec.documents[].config.machine.install.extraKernelArgs (deprecated)[]stringnodocgen:nodoc Deprecated: Use Image Factory/imager instead to build a proper installer.
spec.documents[].config.machine.install.grubUseUKICmdline (deprecated)booleannoIndicates if legacy GRUB bootloader should use kernel cmdline from the UKI instead of building it on the host. This changes the way cmdline is managed with GRUB bootloader to be more consistent with UKI/systemd-boot.
spec.documents[].config.machine.install.image (deprecated)stringnoAllows for supplying the image used to perform the installation. Image reference for each Talos release can be found on GitHub releases page.
spec.documents[].config.machine.install.legacyBIOSSupport (deprecated)booleannoIndicates if MBR partition should be marked as bootable (active). Should be enabled only for the systems with legacy BIOS that doesn't support GPT partitioning scheme.
spec.documents[].config.machine.install.wipe (deprecated)booleanyesIndicates if the installation disk should be wiped at installation time. Defaults to true.
spec.documents[].config.machine.kernel (deprecated)objectnodocgen:nodoc Deprecated: Use 'KernelModuleConfig' instead.
spec.documents[].config.machine.kernel.modules (deprecated)[]objectnoKernel modules to load.
spec.documents[].config.machine.kernel.modules[].name (deprecated)stringyesModule name.
spec.documents[].config.machine.kernel.modules[].parameters (deprecated)[]stringnoModule parameters, changes applied after reboot.
spec.documents[].config.machine.kubelet (deprecated)objectnodocgen:nodoc Deprecated: Use KubeletConfig instead.
spec.documents[].config.machine.kubelet.clusterDNS (deprecated)[]stringnodocgen:nodoc Deprecated: use KubeletConfig instead.
spec.documents[].config.machine.kubelet.credentialProviderConfig (deprecated)objectnoThe KubeletCredentialProviderConfig field is used to provide kubelet credential configuration.
spec.documents[].config.machine.kubelet.credentialProviderConfig.apiVersion (deprecated)stringnoAPIVersion 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
spec.documents[].config.machine.kubelet.credentialProviderConfig.kind (deprecated)stringnoKind 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
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers (deprecated)[]objectyesproviders is a list of credential provider plugins that will be enabled by the kubelet. Multiple providers may match against a single image, in which case credentials from all providers will be returned to the kubelet. If multiple providers are called for a single image, the results are combined. If providers return overlapping auth keys, the value from the provider earlier in this list is attempted first.
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].apiVersion (deprecated)stringyesRequired input version of the exec CredentialProviderRequest. The returned CredentialProviderResponse MUST use the same encoding version as the input. Current supported values are: - credentialprovider.kubelet.k8s.io/v1
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].args (deprecated)[]stringnoArguments to pass to the command when executing it.
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].defaultCacheDuration (deprecated)stringyesdefaultCacheDuration is the default duration the plugin will cache credentials in-memory if a cache duration is not provided in the plugin response. This field is required.
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].env (deprecated)[]objectnoEnv defines additional environment variables to expose to the process. These are unioned with the host's environment, as well as variables client-go uses to pass argument to the plugin.
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].env[].name (deprecated)stringyes
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].env[].value (deprecated)stringyes
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].matchImages (deprecated)[]stringyesmatchImages is a required list of strings used to match against images in order to determine if this provider should be invoked. If one of the strings matches the requested image from the kubelet, the plugin will be invoked and given a chance to provide credentials. Images are expected to contain the registry domain and URL path. Each entry in matchImages is a pattern which can optionally contain a port and a path. Globs can be used in the domain, but not in the port or the path. Globs are supported as subdomains like '.k8s.io' or 'k8s..io', and top-level-domains such as 'k8s.'. Matching partial subdomains like 'app.k8s.io' is also supported. Each glob can only match a single subdomain segment, so *.io does not match *.k8s.io. A match exists between an image and a matchImage when all of the below are true: - Both contain the same number of domain parts and each part matches. - The URL path of an imageMatch must be a prefix of the target image URL path. - If the imageMatch contains a port, then the port must match in the image as well. Example values of matchImages: - 123456789.dkr.ecr.us-east-1.amazonaws.com - *.azurecr.io - gcr.io - ..registry.io - registry.io:8080/path
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].name (deprecated)stringyesname is the required name of the credential provider. It must match the name of the provider executable as seen by the kubelet. The executable must be in the kubelet's bin directory (set by the --image-credential-provider-bin-dir flag). Required to be unique across all providers.
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].tokenAttributes (deprecated)objectnotokenAttributes is the configuration for the service account token that will be passed to the plugin. The credential provider opts in to using service account tokens for image pull by setting this field. When this field is set, kubelet will generate a service account token bound to the pod for which the image is being pulled and pass to the plugin as part of CredentialProviderRequest along with other attributes required by the plugin. The service account metadata and token attributes will be used as a dimension to cache the credentials in kubelet. The cache key is generated by combining the service account metadata (namespace, name, UID, and annotations key+value for the keys defined in serviceAccountTokenAttribute.requiredServiceAccountAnnotationKeys and serviceAccountTokenAttribute.optionalServiceAccountAnnotationKeys). The pod metadata (namespace, name, UID) that are in the service account token are not used as a dimension to cache the credentials in kubelet. This means workloads that are using the same service account could end up using the same credentials for image pull. For plugins that don't want this behavior, or plugins that operate in pass-through mode; i.e., they return the service account token as-is, they can set the credentialProviderResponse.cacheDuration to 0. This will disable the caching of credentials in kubelet and the plugin will be invoked for every image pull. This does result in token generation overhead for every image pull, but it is the only way to ensure that the credentials are not shared across pods (even if they are using the same service account).
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].tokenAttributes.cacheType (deprecated)stringyescacheType indicates the type of cache key use for caching the credentials returned by the plugin when the service account token is used. The most conservative option is to set this to "Token", which means the kubelet will cache returned credentials on a per-token basis. This should be set if the returned credential's lifetime is limited to the service account token's lifetime. If the plugin's credential retrieval logic depends only on the service account and not on pod-specific claims, then the plugin can set this to "ServiceAccount". In this case, the kubelet will cache returned credentials on a per-serviceaccount basis. Use this when the returned credential is valid for all pods using the same service account.
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].tokenAttributes.optionalServiceAccountAnnotationKeys (deprecated)[]stringnooptionalServiceAccountAnnotationKeys is the list of annotation keys that the plugin is interested in and that are optional to be present in the service account. The keys defined in this list will be extracted from the corresponding service account and passed to the plugin as part of the CredentialProviderRequest. The plugin is responsible for validating the existence of annotations and their values. This field is optional and may be empty. Plugins may use this field to extract additional information required to fetch credentials. Keys in this list must be unique.
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].tokenAttributes.requireServiceAccount (deprecated)booleanyesrequireServiceAccount indicates whether the plugin requires the pod to have a service account. If set to true, kubelet will only invoke the plugin if the pod has a service account. If set to false, kubelet will invoke the plugin even if the pod does not have a service account and will not include a token in the CredentialProviderRequest in that scenario. This is useful for plugins that are used to pull images for pods without service accounts (e.g., static pods).
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].tokenAttributes.requiredServiceAccountAnnotationKeys (deprecated)[]stringnorequiredServiceAccountAnnotationKeys is the list of annotation keys that the plugin is interested in and that are required to be present in the service account. The keys defined in this list will be extracted from the corresponding service account and passed to the plugin as part of the CredentialProviderRequest. If any of the keys defined in this list are not present in the service account, kubelet will not invoke the plugin and will return an error. This field is optional and may be empty. Plugins may use this field to extract additional information required to fetch credentials or allow workloads to opt in to using service account tokens for image pull. If non-empty, requireServiceAccount must be set to true. Keys in this list must be unique. This list needs to be mutually exclusive with optionalServiceAccountAnnotationKeys.
spec.documents[].config.machine.kubelet.credentialProviderConfig.providers[].tokenAttributes.serviceAccountTokenAudience (deprecated)stringyesserviceAccountTokenAudience is the intended audience for the projected service account token.
spec.documents[].config.machine.kubelet.defaultRuntimeSeccompProfileEnabled (deprecated)booleannodocgen:nodoc Deprecated: use KubeletConfig instead.
spec.documents[].config.machine.kubelet.disableManifestsDirectory (deprecated)booleannodocgen:nodoc Deprecated: locked to true in multi-doc config.
spec.documents[].config.machine.kubelet.extraArgs (deprecated)map[string][]stringnodocgen:nodoc Deprecated: use KubeletConfig instead.
spec.documents[].config.machine.kubelet.extraMounts (deprecated)[]objectnodocgen:nodoc Deprecated: removed in multi-doc config.
spec.documents[].config.machine.kubelet.extraMounts[].destination (deprecated)stringyesDestination is the absolute path where the mount will be placed in the container.
spec.documents[].config.machine.kubelet.extraMounts[].gidMappings (deprecated)[]objectnoUID/GID mappings used for changing file owners w/o calling chown, fs should support it. Every mount point could have its own mapping.
spec.documents[].config.machine.kubelet.extraMounts[].gidMappings[].containerID (deprecated)integeryesContainerID is the starting UID/GID in the container.
spec.documents[].config.machine.kubelet.extraMounts[].gidMappings[].hostID (deprecated)integeryesHostID is the starting UID/GID on the host to be mapped to 'ContainerID'.
spec.documents[].config.machine.kubelet.extraMounts[].gidMappings[].size (deprecated)integeryesSize is the number of IDs to be mapped.
spec.documents[].config.machine.kubelet.extraMounts[].options (deprecated)[]stringnoOptions are fstab style mount options.
spec.documents[].config.machine.kubelet.extraMounts[].source (deprecated)stringnoSource specifies the source path of the mount.
spec.documents[].config.machine.kubelet.extraMounts[].type (deprecated)stringnoType specifies the mount kind.
spec.documents[].config.machine.kubelet.extraMounts[].uidMappings (deprecated)[]objectnoUID/GID mappings used for changing file owners w/o calling chown, fs should support it. Every mount point could have its own mapping.
spec.documents[].config.machine.kubelet.extraMounts[].uidMappings[].containerID (deprecated)integeryesContainerID is the starting UID/GID in the container.
spec.documents[].config.machine.kubelet.extraMounts[].uidMappings[].hostID (deprecated)integeryesHostID is the starting UID/GID on the host to be mapped to 'ContainerID'.
spec.documents[].config.machine.kubelet.extraMounts[].uidMappings[].size (deprecated)integeryesSize is the number of IDs to be mapped.
spec.documents[].config.machine.kubelet.image (deprecated)stringnodocgen:nodoc Deprecated: use KubeletConfig instead.
spec.documents[].config.machine.kubelet.nodeIP (deprecated)objectnodocgen:nodoc Deprecated: use KubeNodeConfig instead.
spec.documents[].config.machine.kubelet.nodeIP.validSubnets (deprecated)[]stringnoThe validSubnets field configures the networks to pick kubelet node IP from. For dual stack configuration, there should be two subnets: one for IPv4, another for IPv6. IPs can be excluded from the list by using negative match with !, e.g !10.0.0.0/8. Negative subnet matches should be specified last to filter out IPs picked by positive matches. If not specified, node IP is picked based on cluster podCIDRs: IPv4/IPv6 address or both.
spec.documents[].config.machine.kubelet.registerWithFQDN (deprecated)booleannodocgen:nodoc Deprecated: use KubeNodeConfig instead.
spec.documents[].config.machine.kubelet.skipNodeRegistration (deprecated)booleannodocgen:nodoc Deprecated: use KubeNodeConfig instead.
spec.documents[].config.machine.loggingobjectnoConfigures the logging system.
spec.documents[].config.machine.logging.destinations[]objectyesLogging destination.
spec.documents[].config.machine.logging.destinations[].endpointstringyesWhere to send logs. Supported protocols are "tcp" and "udp".
spec.documents[].config.machine.logging.destinations[].extraTagsmap[string]stringnoExtra tags (key-value) pairs to attach to every log message sent.
spec.documents[].config.machine.logging.destinations[].formatstringyesLogs format.
spec.documents[].config.machine.network (deprecated)objectnodocgen:nodoc Deprecated: All fields within NetworkConfig are deprecated. Use multi-document network config types instead: HostnameConfig, NetworkDeviceConfig, ResolverConfig, StaticHostConfig, KubeSpanConfig.
spec.documents[].config.machine.network.disableSearchDomain (deprecated)booleannodocgen:nodoc Deprecated: Use ResolverConfig instead.
spec.documents[].config.machine.network.extraHostEntries (deprecated)[]objectnodocgen:nodoc Deprecated: Use StaticHostConfig instead.
spec.documents[].config.machine.network.extraHostEntries[].aliases (deprecated)[]stringyesThe host alias.
spec.documents[].config.machine.network.extraHostEntries[].ip (deprecated)stringyesThe IP of the host.
spec.documents[].config.machine.network.hostname (deprecated)stringnodocgen:nodoc Deprecated: use HostnameConfig instead.
spec.documents[].config.machine.network.interfaces (deprecated)[]objectnodocgen:nodoc Deprecated: use multi-doc network config.
spec.documents[].config.machine.network.interfaces[].addresses (deprecated)[]stringnoAssigns static IP addresses to the interface. An address can be specified either in proper CIDR notation or as a standalone address (netmask of all ones is assumed).
spec.documents[].config.machine.network.interfaces[].bond (deprecated)objectnoBond specific options.
spec.documents[].config.machine.network.interfaces[].bond.adActorSysPrio (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.adActorSystem (deprecated)stringnoA bond option. Please see the official kernel documentation. Not supported at the moment.
spec.documents[].config.machine.network.interfaces[].bond.adSelect (deprecated)stringnoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.adUserPortKey (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.allSlavesActive (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.arpAllTargets (deprecated)stringnoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.arpIPTarget (deprecated)[]stringnoA bond option. Please see the official kernel documentation. Not supported at the moment.
spec.documents[].config.machine.network.interfaces[].bond.arpInterval (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.arpValidate (deprecated)stringnoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.deviceSelectors (deprecated)[]objectnoPicks a network device using the selector. Mutually exclusive with interfaces. Supports partial match using wildcard syntax.
spec.documents[].config.machine.network.interfaces[].bond.deviceSelectors[].busPath (deprecated)stringnoPCI, USB bus prefix, supports matching by wildcard.
spec.documents[].config.machine.network.interfaces[].bond.deviceSelectors[].driver (deprecated)stringnoKernel driver, supports matching by wildcard.
spec.documents[].config.machine.network.interfaces[].bond.deviceSelectors[].hardwareAddr (deprecated)stringnoDevice hardware (MAC) address, supports matching by wildcard.
spec.documents[].config.machine.network.interfaces[].bond.deviceSelectors[].pciID (deprecated)stringnoPCI ID (vendor ID, product ID), supports matching by wildcard.
spec.documents[].config.machine.network.interfaces[].bond.deviceSelectors[].permanentAddr (deprecated)stringnoDevice permanent hardware address, supports matching by wildcard. The permanent address doesn't change when the link is enslaved to a bond, so it's recommended to use this field for bond members.
spec.documents[].config.machine.network.interfaces[].bond.deviceSelectors[].physical (deprecated)booleannoSelect only physical devices.
spec.documents[].config.machine.network.interfaces[].bond.downdelay (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.failOverMac (deprecated)stringnoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.interfaces (deprecated)[]stringyesThe interfaces that make up the bond.
spec.documents[].config.machine.network.interfaces[].bond.lacpRate (deprecated)stringnoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.lpInterval (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.miimon (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.minLinks (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.mode (deprecated)stringyesA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.numPeerNotif (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.packetsPerSlave (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.peerNotifyDelay (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.primary (deprecated)stringnoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.primaryReselect (deprecated)stringnoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.resendIgmp (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.tlbDynamicLb (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.updelay (deprecated)integernoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.useCarrier (deprecated)booleannoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bond.xmitHashPolicy (deprecated)stringnoA bond option. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bridge (deprecated)objectnoBridge specific options.
spec.documents[].config.machine.network.interfaces[].bridge.interfaces (deprecated)[]stringyesThe interfaces that make up the bridge.
spec.documents[].config.machine.network.interfaces[].bridge.stp (deprecated)objectnoEnable STP on this bridge. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bridge.stp.enabled (deprecated)booleannoWhether Spanning Tree Protocol (STP) is enabled.
spec.documents[].config.machine.network.interfaces[].bridge.vlan (deprecated)objectnoEnable VLAN-awareness on this bridge. Please see the official kernel documentation.
spec.documents[].config.machine.network.interfaces[].bridge.vlan.vlanFiltering (deprecated)booleannoWhether VLAN filtering is enabled.
spec.documents[].config.machine.network.interfaces[].bridgePort (deprecated)objectnoConfigure this device as a bridge port. This can be used to dynamically assign network interfaces to a bridge.
spec.documents[].config.machine.network.interfaces[].bridgePort.master (deprecated)stringnoThe name of the bridge master interface
spec.documents[].config.machine.network.interfaces[].cidr (deprecated)stringnodocgen:nodoc
spec.documents[].config.machine.network.interfaces[].deviceSelector (deprecated)objectnoPicks a network device using the selector. Mutually exclusive with interface. Supports partial match using wildcard syntax.
spec.documents[].config.machine.network.interfaces[].deviceSelector.busPath (deprecated)stringnoPCI, USB bus prefix, supports matching by wildcard.
spec.documents[].config.machine.network.interfaces[].deviceSelector.driver (deprecated)stringnoKernel driver, supports matching by wildcard.
spec.documents[].config.machine.network.interfaces[].deviceSelector.hardwareAddr (deprecated)stringnoDevice hardware (MAC) address, supports matching by wildcard.
spec.documents[].config.machine.network.interfaces[].deviceSelector.pciID (deprecated)stringnoPCI ID (vendor ID, product ID), supports matching by wildcard.
spec.documents[].config.machine.network.interfaces[].deviceSelector.permanentAddr (deprecated)stringnoDevice permanent hardware address, supports matching by wildcard. The permanent address doesn't change when the link is enslaved to a bond, so it's recommended to use this field for bond members.
spec.documents[].config.machine.network.interfaces[].deviceSelector.physical (deprecated)booleannoSelect only physical devices.
spec.documents[].config.machine.network.interfaces[].dhcp (deprecated)booleannoIndicates if DHCP should be used to configure the interface. The following DHCP options are supported: - OptionClasslessStaticRoute - OptionDomainNameServer - OptionDNSDomainSearchList - OptionHostName
spec.documents[].config.machine.network.interfaces[].dhcpOptions (deprecated)objectnoDHCP specific options. dhcp must be set to true for these to take effect.
spec.documents[].config.machine.network.interfaces[].dhcpOptions.duidv6 (deprecated)stringnoSet client DUID (hex string).
spec.documents[].config.machine.network.interfaces[].dhcpOptions.ipv4 (deprecated)booleannoEnables DHCPv4 protocol for the interface (default is enabled).
spec.documents[].config.machine.network.interfaces[].dhcpOptions.ipv6 (deprecated)booleannoEnables DHCPv6 protocol for the interface (default is disabled).
spec.documents[].config.machine.network.interfaces[].dhcpOptions.routeMetric (deprecated)integeryesThe priority of all routes received via DHCP.
spec.documents[].config.machine.network.interfaces[].dummy (deprecated)booleannoIndicates if the interface is a dummy interface. dummy is used to specify that this interface should be a virtual-only, dummy interface.
spec.documents[].config.machine.network.interfaces[].ignore (deprecated)booleannoIndicates if the interface should be ignored (skips configuration).
spec.documents[].config.machine.network.interfaces[].interface (deprecated)stringnoThe interface name. Mutually exclusive with deviceSelector.
spec.documents[].config.machine.network.interfaces[].mtu (deprecated)integernoThe interface's MTU. If used in combination with DHCP, this will override any MTU settings returned from DHCP server.
spec.documents[].config.machine.network.interfaces[].routes (deprecated)[]objectnoA list of routes associated with the interface. If used in combination with DHCP, these routes will be appended to routes returned by DHCP server.
spec.documents[].config.machine.network.interfaces[].routes[].gateway (deprecated)stringyesThe route's gateway (if empty, creates link scope route).
spec.documents[].config.machine.network.interfaces[].routes[].metric (deprecated)integernoThe optional metric for the route.
spec.documents[].config.machine.network.interfaces[].routes[].mtu (deprecated)integernoThe optional MTU for the route.
spec.documents[].config.machine.network.interfaces[].routes[].network (deprecated)stringyesThe route's network (destination).
spec.documents[].config.machine.network.interfaces[].routes[].source (deprecated)stringnoThe route's source address (optional).
spec.documents[].config.machine.network.interfaces[].vip (deprecated)objectnoVirtual (shared) IP address configuration.
spec.documents[].config.machine.network.interfaces[].vip.equinixMetal (deprecated)objectnoSpecifies the Equinix Metal API settings to assign VIP to the node.
spec.documents[].config.machine.network.interfaces[].vip.hcloud (deprecated)objectnoSpecifies the Hetzner Cloud API settings to assign VIP to the node.
spec.documents[].config.machine.network.interfaces[].vip.ip (deprecated)stringnoSpecifies the IP address to be used.
spec.documents[].config.machine.network.interfaces[].vlans (deprecated)[]objectnoVLAN specific options.
spec.documents[].config.machine.network.interfaces[].vlans[].addresses (deprecated)[]stringnoThe addresses in CIDR notation or as plain IPs to use.
spec.documents[].config.machine.network.interfaces[].vlans[].cidr (deprecated)stringnodocgen:nodoc
spec.documents[].config.machine.network.interfaces[].vlans[].dhcp (deprecated)booleannoIndicates if DHCP should be used.
spec.documents[].config.machine.network.interfaces[].vlans[].dhcpOptions (deprecated)objectnoDHCP specific options. dhcp must be set to true for these to take effect.
spec.documents[].config.machine.network.interfaces[].vlans[].dhcpOptions.duidv6 (deprecated)stringnoSet client DUID (hex string).
spec.documents[].config.machine.network.interfaces[].vlans[].dhcpOptions.ipv4 (deprecated)booleannoEnables DHCPv4 protocol for the interface (default is enabled).
spec.documents[].config.machine.network.interfaces[].vlans[].dhcpOptions.ipv6 (deprecated)booleannoEnables DHCPv6 protocol for the interface (default is disabled).
spec.documents[].config.machine.network.interfaces[].vlans[].dhcpOptions.routeMetric (deprecated)integeryesThe priority of all routes received via DHCP.
spec.documents[].config.machine.network.interfaces[].vlans[].mtu (deprecated)integernoThe VLAN's MTU.
spec.documents[].config.machine.network.interfaces[].vlans[].routes (deprecated)[]objectyesA list of routes associated with the VLAN.
spec.documents[].config.machine.network.interfaces[].vlans[].routes[].gateway (deprecated)stringyesThe route's gateway (if empty, creates link scope route).
spec.documents[].config.machine.network.interfaces[].vlans[].routes[].metric (deprecated)integernoThe optional metric for the route.
spec.documents[].config.machine.network.interfaces[].vlans[].routes[].mtu (deprecated)integernoThe optional MTU for the route.
spec.documents[].config.machine.network.interfaces[].vlans[].routes[].network (deprecated)stringyesThe route's network (destination).
spec.documents[].config.machine.network.interfaces[].vlans[].routes[].source (deprecated)stringnoThe route's source address (optional).
spec.documents[].config.machine.network.interfaces[].vlans[].vip (deprecated)objectnoThe VLAN's virtual IP address configuration.
spec.documents[].config.machine.network.interfaces[].vlans[].vip.equinixMetal (deprecated)objectnoSpecifies the Equinix Metal API settings to assign VIP to the node.
spec.documents[].config.machine.network.interfaces[].vlans[].vip.hcloud (deprecated)objectnoSpecifies the Hetzner Cloud API settings to assign VIP to the node.
spec.documents[].config.machine.network.interfaces[].vlans[].vip.ip (deprecated)stringnoSpecifies the IP address to be used.
spec.documents[].config.machine.network.interfaces[].vlans[].vlanId (deprecated)integeryesThe VLAN's ID.
spec.documents[].config.machine.network.interfaces[].wireguard (deprecated)objectnoWireguard specific configuration. Includes things like private key, listen port, peers.
spec.documents[].config.machine.network.interfaces[].wireguard.firewallMark (deprecated)integernoSpecifies a device's firewall mark.
spec.documents[].config.machine.network.interfaces[].wireguard.listenPort (deprecated)integernoSpecifies a device's listening port.
spec.documents[].config.machine.network.interfaces[].wireguard.peers (deprecated)[]objectnoSpecifies a list of peer configurations to apply to a device.
spec.documents[].config.machine.network.interfaces[].wireguard.peers[].allowedIPs (deprecated)[]stringnoAllowedIPs specifies a list of allowed IP addresses in CIDR notation for this peer.
spec.documents[].config.machine.network.interfaces[].wireguard.peers[].endpoint (deprecated)stringnoSpecifies the endpoint of this peer entry.
spec.documents[].config.machine.network.interfaces[].wireguard.peers[].persistentKeepaliveInterval (deprecated)stringnoSpecifies the persistent keepalive interval for this peer. Field format accepts any Go time.Duration format ('1h' for one hour, '10m' for ten minutes).
spec.documents[].config.machine.network.interfaces[].wireguard.peers[].publicKey (deprecated)stringnoSpecifies the public key of this peer. Can be extracted from private key by running wg pubkey \< private.key > public.key && cat public.key.
spec.documents[].config.machine.network.kubespan (deprecated)objectnodocgen:nodoc Deprecated: Use KubeSpanConfig document instead.
spec.documents[].config.machine.network.kubespan.advertiseKubernetesNetworks (deprecated)booleannoControl whether Kubernetes pod CIDRs are announced over KubeSpan from the node. If disabled, CNI handles encapsulating pod-to-pod traffic into some node-to-node tunnel, and KubeSpan handles the node-to-node traffic. If enabled, KubeSpan will take over pod-to-pod traffic and send it over KubeSpan directly. When enabled, KubeSpan should have a way to detect complete pod CIDRs of the node which is not always the case with CNIs not relying on Kubernetes for IPAM.
spec.documents[].config.machine.network.kubespan.allowDownPeerBypass (deprecated)booleannoSkip sending traffic via KubeSpan if the peer connection state is not up. This provides configurable choice between connectivity and security: either traffic is always forced to go via KubeSpan (even if Wireguard peer connection is not up), or traffic can go directly to the peer if Wireguard connection can't be established.
spec.documents[].config.machine.network.kubespan.enabled (deprecated)booleannoEnable the KubeSpan feature. Cluster discovery should be enabled with .cluster.discovery.enabled for KubeSpan to be enabled.
spec.documents[].config.machine.network.kubespan.filters (deprecated)objectnoKubeSpan advanced filtering of network addresses . Settings in this section are optional, and settings apply only to the node.
spec.documents[].config.machine.network.kubespan.filters.endpoints (deprecated)[]stringnoFilter node addresses which will be advertised as KubeSpan endpoints for peer-to-peer Wireguard connections. By default, all addresses are advertised, and KubeSpan cycles through all endpoints until it finds one that works. Default value: no filtering.
spec.documents[].config.machine.network.kubespan.filters.excludeAdvertisedNetworks (deprecated)[]stringnoFilter networks (e.g., host addresses, pod CIDRs if enabled) which will be advertised over KubeSpan. By default, all networks are advertised. Use this filter to exclude some networks from being advertised. Note: excluded networks will not be reachable over KubeSpan, so make sure these networks are still reachable via some other route (e.g., direct connection). Default value: no filtering.
spec.documents[].config.machine.network.kubespan.harvestExtraEndpoints (deprecated)booleannoKubeSpan can collect and publish extra endpoints for each member of the cluster based on Wireguard endpoint information for each peer. This feature is disabled by default, don't enable it with high number of peers (>50) in the KubeSpan network (performance issues).
spec.documents[].config.machine.network.kubespan.mtu (deprecated)integernoKubeSpan link MTU size. Default value is 1420.
spec.documents[].config.machine.network.nameservers (deprecated)[]stringnodocgen:nodoc Deprecated: Use ResolverConfig instead.
spec.documents[].config.machine.network.searchDomains (deprecated)[]stringnodocgen:nodoc Deprecated: Use ResolverConfig instead.
spec.documents[].config.machine.nodeAnnotations (deprecated)map[string]stringnodocgen:nodoc Deprecated: use KubeNodeConfig instead.
spec.documents[].config.machine.nodeLabels (deprecated)map[string]stringnodocgen:nodoc Deprecated: use KubeNodeConfig instead.
spec.documents[].config.machine.nodeTaints (deprecated)map[string]stringnodocgen:nodoc Deprecated: use KubeNodeConfig instead.
spec.documents[].config.machine.registries (deprecated)objectnodocgen:nodoc Deprecated: Use Registry*Config instead.
spec.documents[].config.machine.registries.config (deprecated)map[string]objectnoSpecifies TLS & auth configuration for HTTPS image registries. Mutual TLS can be enabled with 'clientIdentity' option. The full hostname and port (if not using a default port 443) should be used as the key. The fallback key * can't be used for TLS configuration. TLS configuration can be skipped if registry has trusted server certificate.
spec.documents[].config.machine.registries.config.<key>.auth (deprecated)objectnoThe auth configuration for this registry. Note: changes to the registry auth will not be picked up by the CRI containerd plugin without a reboot.
spec.documents[].config.machine.registries.config.<key>.auth.username (deprecated)stringnoOptional registry authentication. The meaning of each field is the same with the corresponding field in .docker/config.json.
spec.documents[].config.machine.registries.config.<key>.tls (deprecated)objectnoThe TLS configuration for the registry.
spec.documents[].config.machine.registries.config.<key>.tls.ca (deprecated)string (byte)noCA registry certificate to add the list of trusted certificates. Certificate should be base64-encoded.
spec.documents[].config.machine.registries.config.<key>.tls.clientIdentity (deprecated)objectnoEnable mutual TLS authentication with the registry. Client certificate and key should be base64-encoded.
spec.documents[].config.machine.registries.config.<key>.tls.clientIdentity.crt (deprecated)string (byte)yes
spec.documents[].config.machine.registries.config.<key>.tls.clientIdentity.key (deprecated)string (byte)yes
spec.documents[].config.machine.registries.config.<key>.tls.insecureSkipVerify (deprecated)booleannoSkip TLS server certificate verification (not recommended).
spec.documents[].config.machine.registries.mirrors (deprecated)map[string]objectnoSpecifies mirror configuration for each registry host namespace. This setting allows to configure local pull-through caching registires, air-gapped installations, etc. For example, when pulling an image with the reference example.com:123/image:v1, the example.com:123 key will be used to lookup the mirror configuration. Optionally the * key can be used to configure a fallback mirror. Registry name is the first segment of image identifier, with 'docker.io' being default one.
spec.documents[].config.machine.registries.mirrors.<key>.endpoints (deprecated)[]stringyesList of endpoints (URLs) for registry mirrors to use. Endpoint configures HTTP/HTTPS access mode, host name, port and path (if path is not set, it defaults to /v2).
spec.documents[].config.machine.registries.mirrors.<key>.overridePath (deprecated)booleannoUse the exact path specified for the endpoint (don't append /v2/). This setting is often required for setting up multiple mirrors on a single instance of a registry.
spec.documents[].config.machine.registries.mirrors.<key>.skipFallback (deprecated)booleannoSkip fallback to the upstream endpoint, for example the mirror configuration for docker.io will not fallback to registry-1.docker.io.
spec.documents[].config.machine.seccompProfiles[]objectnoConfigures the seccomp profiles for the machine.
spec.documents[].config.machine.seccompProfiles[].namestringyesThe name field is used to provide the file name of the seccomp profile.
spec.documents[].config.machine.seccompProfiles[].valueobjectyesThe value field is used to provide the seccomp profile.
spec.documents[].config.machine.seccompProfiles[].value.architectures[]stringno
spec.documents[].config.machine.seccompProfiles[].value.defaultActionstringyesLinuxSeccompAction taken upon Seccomp rule match
spec.documents[].config.machine.seccompProfiles[].value.defaultErrnoRetintegerno
spec.documents[].config.machine.seccompProfiles[].value.flags[]stringno
spec.documents[].config.machine.seccompProfiles[].value.listenerMetadatastringno
spec.documents[].config.machine.seccompProfiles[].value.listenerPathstringno
spec.documents[].config.machine.seccompProfiles[].value.syscalls[]objectno
spec.documents[].config.machine.seccompProfiles[].value.syscalls[].actionstringyesLinuxSeccompAction taken upon Seccomp rule match
spec.documents[].config.machine.seccompProfiles[].value.syscalls[].args[]objectno
spec.documents[].config.machine.seccompProfiles[].value.syscalls[].args[].indexintegeryes
spec.documents[].config.machine.seccompProfiles[].value.syscalls[].args[].opstringyesLinuxSeccompOperator used to match syscall arguments in Seccomp
spec.documents[].config.machine.seccompProfiles[].value.syscalls[].args[].valueintegeryes
spec.documents[].config.machine.seccompProfiles[].value.syscalls[].args[].valueTwointegerno
spec.documents[].config.machine.seccompProfiles[].value.syscalls[].errnoRetintegerno
spec.documents[].config.machine.seccompProfiles[].value.syscalls[].names[]stringyes
spec.documents[].config.machine.sysctls (deprecated)map[string]stringnodocgen:nodoc Deprecated: Use 'SysctlConfig' instead.
spec.documents[].config.machine.sysfs (deprecated)map[string]stringnodocgen:nodoc Deprecated: Use 'SysfsConfig' instead.
spec.documents[].config.machine.systemDiskEncryption (deprecated)objectnodocgen:nodoc Deprecated: Use VolumeConfig instead.
spec.documents[].config.machine.systemDiskEncryption.ephemeral (deprecated)objectnoEphemeral partition encryption.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.blockSize (deprecated)integernoDefines the encryption sector size.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.cipher (deprecated)stringnoCipher kind to use for the encryption. Depends on the encryption provider.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.keySize (deprecated)integernoDefines the encryption key length.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.keys (deprecated)[]objectyesDefines the encryption keys generation and storage method.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.keys[].kms (deprecated)objectnoKMS managed encryption key.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.keys[].kms.endpoint (deprecated)stringyesKMS endpoint to Seal/Unseal the key. The endpoint should be specified as a URL with an explicit scheme, e.g. https://kms.example.com:4443. With the https:// scheme, the connection to the KMS server is established over TLS, and the server certificate is verified against the trusted root CAs. WARNING: if the scheme is omitted (e.g. kms.example.com:4443) or set to grpc://, the connection to the KMS server is established without TLS, and the disk encryption key material is transmitted in plaintext. Use plaintext endpoints only on fully trusted networks. Note: when encrypting the STATE volume, custom trusted root CAs from the machine configuration might not be available when unlocking the volume (as the machine configuration is stored on STATE), so the KMS server certificate should be signed by a CA trusted by default.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.keys[].nodeID (deprecated)objectnoDeterministically generated key from the node UUID and PartitionLabel.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.keys[].slot (deprecated)integeryesKey slot number for LUKS2 encryption.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.keys[].tpm (deprecated)objectnoEnable TPM based disk encryption.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.keys[].tpm.checkSecurebootStatusOnEnroll (deprecated)booleannoCheck that Secureboot is enabled in the EFI firmware. If Secureboot is not enabled, the enrollment of the key will fail. As the TPM key is anyways bound to the value of PCR 7, changing Secureboot status or configuration after the initial enrollment will make the key unusable.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.options (deprecated)[]stringnoAdditional --perf parameters for the LUKS2 encryption.
spec.documents[].config.machine.systemDiskEncryption.ephemeral.provider (deprecated)stringyesEncryption provider to use for the encryption.
spec.documents[].config.machine.systemDiskEncryption.state (deprecated)objectnoState partition encryption.
spec.documents[].config.machine.systemDiskEncryption.state.blockSize (deprecated)integernoDefines the encryption sector size.
spec.documents[].config.machine.systemDiskEncryption.state.cipher (deprecated)stringnoCipher kind to use for the encryption. Depends on the encryption provider.
spec.documents[].config.machine.systemDiskEncryption.state.keySize (deprecated)integernoDefines the encryption key length.
spec.documents[].config.machine.systemDiskEncryption.state.keys (deprecated)[]objectyesDefines the encryption keys generation and storage method.
spec.documents[].config.machine.systemDiskEncryption.state.keys[].kms (deprecated)objectnoKMS managed encryption key.
spec.documents[].config.machine.systemDiskEncryption.state.keys[].kms.endpoint (deprecated)stringyesKMS endpoint to Seal/Unseal the key. The endpoint should be specified as a URL with an explicit scheme, e.g. https://kms.example.com:4443. With the https:// scheme, the connection to the KMS server is established over TLS, and the server certificate is verified against the trusted root CAs. WARNING: if the scheme is omitted (e.g. kms.example.com:4443) or set to grpc://, the connection to the KMS server is established without TLS, and the disk encryption key material is transmitted in plaintext. Use plaintext endpoints only on fully trusted networks. Note: when encrypting the STATE volume, custom trusted root CAs from the machine configuration might not be available when unlocking the volume (as the machine configuration is stored on STATE), so the KMS server certificate should be signed by a CA trusted by default.
spec.documents[].config.machine.systemDiskEncryption.state.keys[].nodeID (deprecated)objectnoDeterministically generated key from the node UUID and PartitionLabel.
spec.documents[].config.machine.systemDiskEncryption.state.keys[].slot (deprecated)integeryesKey slot number for LUKS2 encryption.
spec.documents[].config.machine.systemDiskEncryption.state.keys[].tpm (deprecated)objectnoEnable TPM based disk encryption.
spec.documents[].config.machine.systemDiskEncryption.state.keys[].tpm.checkSecurebootStatusOnEnroll (deprecated)booleannoCheck that Secureboot is enabled in the EFI firmware. If Secureboot is not enabled, the enrollment of the key will fail. As the TPM key is anyways bound to the value of PCR 7, changing Secureboot status or configuration after the initial enrollment will make the key unusable.
spec.documents[].config.machine.systemDiskEncryption.state.options (deprecated)[]stringnoAdditional --perf parameters for the LUKS2 encryption.
spec.documents[].config.machine.systemDiskEncryption.state.provider (deprecated)stringyesEncryption provider to use for the encryption.
spec.documents[].config.machine.time (deprecated)objectnodocgen:nodoc Deprecated: Use 'TimeSyncConfig' instead.
spec.documents[].config.machine.time.bootTimeout (deprecated)stringnoSpecifies the timeout when the node time is considered to be in sync unlocking the boot sequence. NTP sync will be still running in the background. Defaults to "infinity" (waiting forever for time sync)
spec.documents[].config.machine.time.disabled (deprecated)booleannoIndicates if the time service is disabled for the machine. Defaults to false.
spec.documents[].config.machine.time.servers (deprecated)[]stringnoSpecifies time (NTP) servers to use for setting the system time. Defaults to time.cloudflare.com. Talos can also sync to the PTP time source (e.g provided by the hypervisor), provide the path to the PTP device as "/dev/ptp0" or "/dev/ptp_kvm".
spec.documents[].config.machine.type (deprecated)stringnoDefines the role of the machine within the cluster. Control Plane Control Plane node type designates the node as a control plane member. This means it will host etcd along with the Kubernetes controlplane components such as API Server, Controller Manager, Scheduler. Worker Worker node type designates the node as a worker node. This means it will be an available compute node for scheduling workloads. This node type was previously known as "join"; that value is still supported but deprecated.
spec.documents[].config.machine.udevobjectnoConfigures the udev system.
spec.documents[].config.machine.udev.rules[]stringnoList of udev rules to apply to the udev system
spec.documents[].config.persist (deprecated)booleannodocgen:nodoc Deprecated: Not supported anymore.
spec.documents[].config.versionstringyesIndicates the schema used to decode the contents.
spec.documents[].kernelModuleConfigobjectnokernelModuleConfig is a Talos KernelModuleConfig document; populated when kind is "KernelModuleConfig".
spec.documents[].kernelModuleConfig.namestringyesModule name.
spec.documents[].kernelModuleConfig.parameters[]stringnoModule parameters, changes applied after reboot.
spec.documents[].kindstringyeskind selects which of the fields below is populated. Allowed values: SysctlConfig, KernelModuleConfig, Config, VolumeConfig, UserVolumeConfig, RawVolumeConfig.
spec.documents[].rawVolumeConfigobjectnorawVolumeConfig is a Talos RawVolumeConfig document (an unformatted partition for a CSI provisioner); populated when kind is "RawVolumeConfig".
spec.documents[].rawVolumeConfig.encryptionobjectnoThe encryption describes how the volume is encrypted.
spec.documents[].rawVolumeConfig.encryption.allowDiscardsbooleannoAllow TRIM/discard requests to be passed through to the underlying device when the encrypted volume is opened. Defaults to false.
spec.documents[].rawVolumeConfig.encryption.blockSizeintegernoDefines the encryption sector size.
spec.documents[].rawVolumeConfig.encryption.cipherstringnoCipher to use for the encryption. Depends on the encryption provider.
spec.documents[].rawVolumeConfig.encryption.keySizeintegernoDefines the encryption key length.
spec.documents[].rawVolumeConfig.encryption.keys[]objectyesDefines the encryption keys generation and storage method.
spec.documents[].rawVolumeConfig.encryption.keys[].kmsobjectnoEncryptionKeyKMS represents a key that is generated and then sealed/unsealed by the KMS server.
spec.documents[].rawVolumeConfig.encryption.keys[].kms.endpointstringyes
spec.documents[].rawVolumeConfig.encryption.keys[].lockToStatebooleanno
spec.documents[].rawVolumeConfig.encryption.keys[].nodeIDobjectnoEncryptionKeyNodeID represents deterministically generated key from the node UUID and PartitionLabel.
spec.documents[].rawVolumeConfig.encryption.keys[].slotintegeryes
spec.documents[].rawVolumeConfig.encryption.keys[].tpmobjectnoEncryptionKeyTPM represents a key that is generated and then sealed/unsealed by the TPM.
spec.documents[].rawVolumeConfig.encryption.keys[].tpm.checkSecurebootStatusOnEnrollbooleanno
spec.documents[].rawVolumeConfig.encryption.keys[].tpm.optionsobjectnoEncryptionKeyTPMOptions represents the options for TPM-based key protection.
spec.documents[].rawVolumeConfig.encryption.keys[].tpm.options.pcrs[]integernoList of PCRs to bind the key to. If not set, defaults to PCR 7, can be disabled by passing an empty list.
spec.documents[].rawVolumeConfig.encryption.options[]stringnoAdditional --perf parameters for the LUKS2 encryption.
spec.documents[].rawVolumeConfig.encryption.providerstringyesEncryption provider to use for the encryption.
spec.documents[].rawVolumeConfig.namestringyesName of the volume. Name might be between 1 and 34 characters long and can only contain: lowercase and uppercase ASCII letters, digits, and hyphens.
spec.documents[].rawVolumeConfig.provisioningobjectnoThe provisioning describes how the volume is provisioned.
spec.documents[].rawVolumeConfig.provisioning.diskSelectorobjectnoThe disk selector expression.
spec.documents[].rawVolumeConfig.provisioning.diskSelector.matchstringnoThe Common Expression Language (CEL) expression to match the disk.
spec.documents[].rawVolumeConfig.provisioning.growbooleannoShould the volume grow to the size of the disk (if possible).
spec.documents[].rawVolumeConfig.provisioning.maxSizestringnoThe maximum size of the volume, if not specified the volume can grow to the size of the disk. Size is specified in bytes or in percents. It can be expressed in human readable format, e.g. 100MB.
spec.documents[].rawVolumeConfig.provisioning.minSizestringnoThe minimum size of the volume. Size is specified in bytes, but can be expressed in human readable format, e.g. 100MB.
spec.documents[].sysctlConfigobjectnosysctlConfig is a Talos SysctlConfig document; populated when kind is "SysctlConfig".
spec.documents[].sysctlConfig.params (deprecated)map[string]stringyesUsed to configure the machine's sysctls (kernel parameters under /proc/sys). Values from this document are merged with the deprecated v1alpha1 machine.sysctls values (if set), with this document taking precedence on key conflicts.
spec.documents[].userVolumeConfigobjectnouserVolumeConfig is a Talos UserVolumeConfig document; populated when kind is "UserVolumeConfig".
spec.documents[].userVolumeConfig.encryptionobjectnoThe encryption describes how the volume is encrypted.
spec.documents[].userVolumeConfig.encryption.allowDiscardsbooleannoAllow TRIM/discard requests to be passed through to the underlying device when the encrypted volume is opened. Defaults to false.
spec.documents[].userVolumeConfig.encryption.blockSizeintegernoDefines the encryption sector size.
spec.documents[].userVolumeConfig.encryption.cipherstringnoCipher to use for the encryption. Depends on the encryption provider.
spec.documents[].userVolumeConfig.encryption.keySizeintegernoDefines the encryption key length.
spec.documents[].userVolumeConfig.encryption.keys[]objectyesDefines the encryption keys generation and storage method.
spec.documents[].userVolumeConfig.encryption.keys[].kmsobjectnoEncryptionKeyKMS represents a key that is generated and then sealed/unsealed by the KMS server.
spec.documents[].userVolumeConfig.encryption.keys[].kms.endpointstringyes
spec.documents[].userVolumeConfig.encryption.keys[].lockToStatebooleanno
spec.documents[].userVolumeConfig.encryption.keys[].nodeIDobjectnoEncryptionKeyNodeID represents deterministically generated key from the node UUID and PartitionLabel.
spec.documents[].userVolumeConfig.encryption.keys[].slotintegeryes
spec.documents[].userVolumeConfig.encryption.keys[].tpmobjectnoEncryptionKeyTPM represents a key that is generated and then sealed/unsealed by the TPM.
spec.documents[].userVolumeConfig.encryption.keys[].tpm.checkSecurebootStatusOnEnrollbooleanno
spec.documents[].userVolumeConfig.encryption.keys[].tpm.optionsobjectnoEncryptionKeyTPMOptions represents the options for TPM-based key protection.
spec.documents[].userVolumeConfig.encryption.keys[].tpm.options.pcrs[]integernoList of PCRs to bind the key to. If not set, defaults to PCR 7, can be disabled by passing an empty list.
spec.documents[].userVolumeConfig.encryption.options[]stringnoAdditional --perf parameters for the LUKS2 encryption.
spec.documents[].userVolumeConfig.encryption.providerstringyesEncryption provider to use for the encryption.
spec.documents[].userVolumeConfig.filesystemobjectnoThe filesystem describes how the volume is formatted.
spec.documents[].userVolumeConfig.filesystem.projectQuotaSupportbooleannoEnables project quota support, valid only for 'xfs' filesystem. Note: changing this value might require a full remount of the filesystem.
spec.documents[].userVolumeConfig.filesystem.typestringnoFilesystem type. Default is xfs.
spec.documents[].userVolumeConfig.filesystem.xfsobjectnoXFS-specific filesystem options, valid only for 'xfs' filesystem.
spec.documents[].userVolumeConfig.filesystem.xfs.minAllocationGroupSizestringnoThe minimum size of an XFS allocation group. On non-rotational devices mkfs.xfs sizes the allocation group count to the number of CPUs, which on machines with many cores and a modest disk yields hundreds of tiny allocation groups. Talos bounds the allocation group size from below to keep the geometry sane; this option overrides that bound. Set to zero to use the mkfs.xfs defaults unchanged. Note: this only affects volumes at the time they are formatted. Size is specified in bytes, but can be expressed in human readable format, e.g. 100MB.
spec.documents[].userVolumeConfig.mountobjectnoThe mount describes additional mount options.
spec.documents[].userVolumeConfig.mount.disableAccessTimebooleannoIf true, disable file access time updates.
spec.documents[].userVolumeConfig.mount.securebooleannoEnable secure mount options (nosuid, nodev, noexec). Defaults to true for better security.
spec.documents[].userVolumeConfig.namestringyesName of the volume. Name might be between 1 and 34 characters long and can only contain: lowercase and uppercase ASCII letters, digits, and hyphens.
spec.documents[].userVolumeConfig.provisioningobjectnoThe provisioning describes how the volume is provisioned.
spec.documents[].userVolumeConfig.provisioning.diskSelectorobjectnoThe disk selector expression.
spec.documents[].userVolumeConfig.provisioning.diskSelector.matchstringnoThe Common Expression Language (CEL) expression to match the disk.
spec.documents[].userVolumeConfig.provisioning.growbooleannoShould the volume grow to the size of the disk (if possible).
spec.documents[].userVolumeConfig.provisioning.maxSizestringnoThe maximum size of the volume, if not specified the volume can grow to the size of the disk. Size is specified in bytes or in percents. It can be expressed in human readable format, e.g. 100MB.
spec.documents[].userVolumeConfig.provisioning.minSizestringnoThe minimum size of the volume. Size is specified in bytes, but can be expressed in human readable format, e.g. 100MB.
spec.documents[].userVolumeConfig.scrubobjectnoThe scrub describes the per-volume filesystem scrub configuration.
spec.documents[].userVolumeConfig.scrub.enabledbooleannoEnable or disable scrubbing for this volume. If not set, scrubbing is enabled by default when scrub section is present.
spec.documents[].userVolumeConfig.scrub.intervalstringnoThe interval at which the volume is scrubbed, overriding the global scrub interval.
spec.documents[].userVolumeConfig.trimobjectnoThe trim describes the per-volume filesystem trim (fstrim) configuration.
spec.documents[].userVolumeConfig.trim.enabledbooleannoEnable or disable trimming for this volume. If not set, trimming is enabled when the global FilesystemTrimConfig is present.
spec.documents[].userVolumeConfig.trim.intervalstringnoThe interval at which the volume is trimmed, overriding the global trim interval.
spec.documents[].userVolumeConfig.volumeTypestringnoVolume type.
spec.documents[].volumeConfigobjectnovolumeConfig is a Talos VolumeConfig document (a system volume, e.g. STATE or EPHEMERAL, placed on its own disk); populated when kind is "VolumeConfig".
spec.documents[].volumeConfig.encryptionobjectnoThe encryption describes how the volume is encrypted.
spec.documents[].volumeConfig.encryption.allowDiscardsbooleannoAllow TRIM/discard requests to be passed through to the underlying device when the encrypted volume is opened. Defaults to false.
spec.documents[].volumeConfig.encryption.blockSizeintegernoDefines the encryption sector size.
spec.documents[].volumeConfig.encryption.cipherstringnoCipher to use for the encryption. Depends on the encryption provider.
spec.documents[].volumeConfig.encryption.keySizeintegernoDefines the encryption key length.
spec.documents[].volumeConfig.encryption.keys[]objectyesDefines the encryption keys generation and storage method.
spec.documents[].volumeConfig.encryption.keys[].kmsobjectnoEncryptionKeyKMS represents a key that is generated and then sealed/unsealed by the KMS server.
spec.documents[].volumeConfig.encryption.keys[].kms.endpointstringyes
spec.documents[].volumeConfig.encryption.keys[].lockToStatebooleanno
spec.documents[].volumeConfig.encryption.keys[].nodeIDobjectnoEncryptionKeyNodeID represents deterministically generated key from the node UUID and PartitionLabel.
spec.documents[].volumeConfig.encryption.keys[].slotintegeryes
spec.documents[].volumeConfig.encryption.keys[].tpmobjectnoEncryptionKeyTPM represents a key that is generated and then sealed/unsealed by the TPM.
spec.documents[].volumeConfig.encryption.keys[].tpm.checkSecurebootStatusOnEnrollbooleanno
spec.documents[].volumeConfig.encryption.keys[].tpm.optionsobjectnoEncryptionKeyTPMOptions represents the options for TPM-based key protection.
spec.documents[].volumeConfig.encryption.keys[].tpm.options.pcrs[]integernoList of PCRs to bind the key to. If not set, defaults to PCR 7, can be disabled by passing an empty list.
spec.documents[].volumeConfig.encryption.options[]stringnoAdditional --perf parameters for the LUKS2 encryption.
spec.documents[].volumeConfig.encryption.providerstringyesEncryption provider to use for the encryption.
spec.documents[].volumeConfig.filesystemobjectnoThe filesystem describes how the volume is formatted. Note: this only takes effect at the time the volume is formatted.
spec.documents[].volumeConfig.filesystem.xfsobjectnoXFS-specific filesystem options.
spec.documents[].volumeConfig.filesystem.xfs.minAllocationGroupSizestringnoThe minimum size of an XFS allocation group. On non-rotational devices mkfs.xfs sizes the allocation group count to the number of CPUs, which on machines with many cores and a modest disk yields hundreds of tiny allocation groups. Talos bounds the allocation group size from below to keep the geometry sane; this option overrides that bound. Set to zero to use the mkfs.xfs defaults unchanged. Note: this only affects volumes at the time they are formatted. Size is specified in bytes, but can be expressed in human readable format, e.g. 100MB.
spec.documents[].volumeConfig.mountobjectnoThe mount describes additional mount options.
spec.documents[].volumeConfig.mount.disableAccessTimebooleannoIf true, disable file access time updates. Supported only for EPHEMERAL volume.
spec.documents[].volumeConfig.mount.securebooleannoEnable secure mount options (nosuid, nodev). For dedicated ETCD and LOG volumes, this also enables noexec. Defaults to true for better security. Supported for EPHEMERAL and dedicated ETCD, CRI, KUBELET and LOG volumes.
spec.documents[].volumeConfig.namestringyesName of the volume.
spec.documents[].volumeConfig.provisioningobjectnoThe provisioning describes how the volume is provisioned.
spec.documents[].volumeConfig.provisioning.diskSelectorobjectnoThe disk selector expression.
spec.documents[].volumeConfig.provisioning.diskSelector.matchstringnoThe Common Expression Language (CEL) expression to match the disk.
spec.documents[].volumeConfig.provisioning.growbooleannoShould the volume grow to the size of the disk (if possible).
spec.documents[].volumeConfig.provisioning.maxSizestringnoThe maximum size of the volume, if not specified the volume can grow to the size of the disk. Size is specified in bytes or in percents. It can be expressed in human readable format, e.g. 100MB.
spec.documents[].volumeConfig.provisioning.minSizestringnoThe minimum size of the volume. Size is specified in bytes, but can be expressed in human readable format, e.g. 100MB.
spec.documents[].volumeConfig.scrubobjectnoThe scrub describes the per-volume filesystem scrub configuration.
spec.documents[].volumeConfig.scrub.enabledbooleannoEnable or disable scrubbing for this volume. If not set, scrubbing is enabled by default when scrub section is present.
spec.documents[].volumeConfig.scrub.intervalstringnoThe interval at which the volume is scrubbed, overriding the global scrub interval.
spec.documents[].volumeConfig.trimobjectnoThe trim describes the per-volume filesystem trim (fstrim) configuration.
spec.documents[].volumeConfig.trim.enabledbooleannoEnable or disable trimming for this volume. If not set, trimming is enabled when the global FilesystemTrimConfig is present.
spec.documents[].volumeConfig.trim.intervalstringnoThe interval at which the volume is trimmed, overriding the global trim interval.
spec.layerstringyeslayer is where this patch applies in the bottom-up stack; "system" is absent because Ichor generates that layer itself. Allowed values: cluster, role, selector, machine.
spec.priorityintegernopriority orders patches within the same layer. Default: 0.
spec.targetobjectnotarget narrows which machines this patch applies to; required for every layer but "cluster", and its kind follows the layer: role -> role, selector -> labelSelector, machine -> machineRef.
spec.target.labelSelectorobjectnolabelSelector targets machines whose Kubernetes Node labels match.
spec.target.labelSelector.matchExpressions[]objectnomatchExpressions is a list of label selector requirements. The requirements are ANDed.
spec.target.labelSelector.matchExpressions[].keystringyeskey is the label key that the selector applies to.
spec.target.labelSelector.matchExpressions[].operatorstringyesoperator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
spec.target.labelSelector.matchExpressions[].values[]stringnovalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
spec.target.labelSelector.matchLabelsmap[string]stringnomatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
spec.target.machineRefobjectnomachineRef targets a single named TalosMachine.
spec.target.machineRef.namestringnoName of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names Default: "".
spec.target.rolestringnorole targets every machine with this role. Allowed values: controlplane, worker.

status

FieldTypeRequiredDescription
statusobjectnostatus defines the observed state of TalosConfigPatch
status.conditions[]objectnoconditions represent the current state of the TalosConfigPatch resource, kstatus-compatible.
status.conditions[].lastTransitionTimestring (date-time)yeslastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
status.conditions[].messagestringyesmessage is a human readable message indicating details about the transition. This may be an empty string.
status.conditions[].observedGenerationintegernoobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
status.conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
status.conditions[].statusstringyesstatus of the condition, one of True, False, Unknown. Allowed values: True, False, Unknown.
status.conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
status.observedGenerationintegernoobservedGeneration is the most recent generation the controller has reconciled.

Search the docs

Search pages and headings