config/crd/bases/anywhere.eks.amazonaws.com_tinkerbellmachineconfigs.yaml (313 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.17.2
name: tinkerbellmachineconfigs.anywhere.eks.amazonaws.com
spec:
group: anywhere.eks.amazonaws.com
names:
kind: TinkerbellMachineConfig
listKind: TinkerbellMachineConfigList
plural: tinkerbellmachineconfigs
singular: tinkerbellmachineconfig
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: TinkerbellMachineConfig is the Schema for the tinkerbellmachineconfigs
API.
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: TinkerbellMachineConfigSpec defines the desired state of
TinkerbellMachineConfig.
properties:
hardwareSelector:
additionalProperties:
type: string
description: HardwareSelector models a simple key-value selector used
in Tinkerbell provisioning.
type: object
hostOSConfiguration:
description: HostOSConfiguration defines the configuration settings
on the host OS.
properties:
bottlerocketConfiguration:
description: |-
BottlerocketConfiguration defines the Bottlerocket configuration on the host OS.
These settings only take effect when the `osFamily` is bottlerocket.
properties:
boot:
description: Boot defines the boot settings for bottlerocket.
properties:
bootKernelParameters:
additionalProperties:
items:
type: string
type: array
type: object
type: object
kernel:
description: Kernel defines the kernel settings for bottlerocket.
properties:
sysctlSettings:
additionalProperties:
type: string
description: SysctlSettings defines the kernel sysctl
settings to set for bottlerocket nodes.
type: object
type: object
kubernetes:
description: Kubernetes defines the Kubernetes settings on
the host OS.
properties:
allowedUnsafeSysctls:
description: AllowedUnsafeSysctls defines the list of
unsafe sysctls that can be set on a node.
items:
type: string
type: array
clusterDNSIPs:
description: ClusterDNSIPs defines IP addresses of the
DNS servers.
items:
type: string
type: array
clusterDomain:
description: |-
ClusterDomain defines the DNS domain for the cluster, allowing all Kubernetes-run containers
to search this domain before the host’s search domains
type: string
containerLogMaxFiles:
description: |-
ContainerLogMaxFiles specifies the maximum number of container log
files that can be present for a container
type: integer
containerLogMaxSize:
description: |-
ContainerLogMaxSize is a quantity defining the maximum size of
the container log file before it is rotated
type: string
cpuCFSQuota:
description: CPUCFSQuota enables CPU CFS quota enforcement
for containers that specify CPU limits
type: boolean
cpuManagerPolicy:
description: CPUManagerPolicy is the name of the policy
to use.
type: string
cpuManagerPolicyOptions:
additionalProperties:
type: string
description: |-
CPUManagerPolicyOptions is a set of key=value which allows to set extra options to
fine tune the behaviour of the cpu manager policies
type: object
cpuManagerReconcilePeriod:
description: CPUManagerReconcilePeriod is the reconciliation
period for the CPU Manager.
type: string
eventBurst:
description: EventBurst is the maximum size of a burst
of event creations.
type: integer
eventRecordQPS:
description: EventRecordQPS is the maximum event creations
per second.
type: integer
evictionHard:
additionalProperties:
type: string
description: EvictionHard is a map of signal names to
quantities that defines hard eviction thresholds.
type: object
evictionMaxPodGracePeriod:
description: |-
EvictionMaxPodGracePeriod is the maximum allowed grace period (in seconds) to use
when terminating pods in response to a soft eviction threshold being met.
type: integer
evictionSoft:
additionalProperties:
type: string
description: EvictionSoft is a map of signal names to
quantities that defines soft eviction thresholds.
type: object
evictionSoftGracePeriod:
additionalProperties:
type: string
description: |-
EvictionSoftGracePeriod is a map of signal names to quantities that defines grace periods
for each soft eviction signal.
type: object
imageGCHighThresholdPercent:
description: |-
ImageGCHighThresholdPercent is the percent of disk usage after which image garbage
collection is always run.
type: integer
imageGCLowThresholdPercent:
description: ImageGCLowThresholdPercent is the percent
of disk usage before which image garbage collection
is never run.
type: integer
kubeAPIBurst:
description: KubeAPIBurst is the burst to allow while
talking with kubernetes API server.
type: integer
kubeAPIQPS:
description: KubeAPIQPS is the QPS to use while talking
with kubernetes apiserver.
type: integer
kubeReserved:
additionalProperties:
type: string
description: |-
KubeReserved is a set of ResourceName=ResourceQuantity pairs that describe resources
reserved for kubernetes system components
type: object
maxPods:
description: MaxPods defines the maximum number of pods
that can run on a node.
type: integer
memoryManagerPolicy:
description: MemoryManagerPolicy is the name of the policy
to use by memory manager.
type: string
podPidsLimit:
description: PodPidsLimit is the maximum number of PIDs
in any pod.
format: int64
type: integer
providerID:
description: ProviderID sets the unique ID of the instance
that an external provider.
type: string
registryBurst:
description: RegistryBurst is the maximum size of bursty
pulls.
type: integer
registryPullQPS:
description: RegistryPullQPS is the limit of registry
pulls per second.
type: integer
shutdownGracePeriod:
description: |-
ShutdownGracePeriod specifies the total duration that the node should delay
the shutdown and total grace period for pod termination during a node shutdown.
type: string
shutdownGracePeriodCriticalPods:
description: |-
ShutdownGracePeriodCriticalPods specifies the duration used to terminate
critical pods during a node shutdown.
type: string
systemReserved:
additionalProperties:
type: string
description: |-
SystemReserved is a set of ResourceName=ResourceQuantity pairs that describe
resources reserved for non-kubernetes components.
type: object
topologyManagerPolicy:
description: TopologyManagerPolicy is the name of the
topology manager policy to use.
type: string
topologyManagerScope:
description: |-
TopologyManagerScope represents the scope of topology hint generation
that topology manager requests and hint providers generate.
type: string
type: object
type: object
certBundles:
items:
description: Cert defines additional trusted cert bundles on
the host OS.
properties:
data:
description: Data defines the cert bundle data.
type: string
name:
description: Name defines the cert bundle name.
type: string
required:
- data
- name
type: object
type: array
ntpConfiguration:
description: NTPConfiguration defines the NTP configuration on
the host OS.
properties:
servers:
description: Servers defines a list of NTP servers to be configured
on the host OS.
items:
type: string
type: array
required:
- servers
type: object
type: object
osFamily:
type: string
osImageURL:
description: |-
OSImageURL can be used to override the default OS image path to pull from a local server.
OSImageURL is a URL to the OS image used during provisioning. It must include
the Kubernetes version(s). For example, a URL used for Kubernetes 1.27 could
be http://localhost:8080/ubuntu-2204-1.27.tgz
type: string
templateRef:
properties:
kind:
type: string
name:
type: string
type: object
users:
items:
description: UserConfiguration defines the configuration of the
user to be added to the VM.
properties:
name:
type: string
sshAuthorizedKeys:
items:
type: string
type: array
required:
- name
- sshAuthorizedKeys
type: object
type: array
required:
- hardwareSelector
- osFamily
type: object
status:
description: TinkerbellMachineConfigStatus defines the observed state
of TinkerbellMachineConfig.
type: object
type: object
served: true
storage: true
subresources:
status: {}