config/crd/bases/anywhere.eks.amazonaws.com_vspheremachineconfigs.yaml (326 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.17.2
name: vspheremachineconfigs.anywhere.eks.amazonaws.com
spec:
group: anywhere.eks.amazonaws.com
names:
kind: VSphereMachineConfig
listKind: VSphereMachineConfigList
plural: vspheremachineconfigs
singular: vspheremachineconfig
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: VSphereMachineConfig is the Schema for the vspheremachineconfigs
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: VSphereMachineConfigSpec defines the desired state of VSphereMachineConfig.
properties:
cloneMode:
description: CloneMode describes the clone mode to be used when cloning
vSphere VMs.
enum:
- fullClone
- linkedClone
type: string
datastore:
type: string
diskGiB:
type: integer
folder:
type: string
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
memoryMiB:
type: integer
numCPUs:
type: integer
osFamily:
type: string
resourcePool:
type: string
storagePolicyName:
type: string
tags:
items:
type: string
type: array
template:
description: |-
Template field is the template to use for provisioning the VM. It must include the Kubernetes
version(s). For example, a template used for Kubernetes 1.27 could be ubuntu-2204-1.27.
type: string
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:
- datastore
- folder
- memoryMiB
- numCPUs
- osFamily
- resourcePool
type: object
status:
description: VSphereMachineConfigStatus defines the observed state of
VSphereMachineConfig.
type: object
type: object
served: true
storage: true
subresources:
status: {}