config/crd/bases/anywhere.eks.amazonaws.com_snowmachineconfigs.yaml (405 lines of code) (raw):
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.17.2
name: snowmachineconfigs.anywhere.eks.amazonaws.com
spec:
group: anywhere.eks.amazonaws.com
names:
kind: SnowMachineConfig
listKind: SnowMachineConfigList
plural: snowmachineconfigs
singular: snowmachineconfig
scope: Namespaced
versions:
- name: v1alpha1
schema:
openAPIV3Schema:
description: SnowMachineConfig is the Schema for the SnowMachineConfigs 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: SnowMachineConfigSpec defines the desired state of SnowMachineConfigSpec.
properties:
amiID:
description: The AMI ID from which to create the machine instance.
type: string
containersVolume:
description: ContainersVolume provides the configuration options for
the containers data storage volume.
properties:
deviceName:
description: Device name
type: string
size:
description: |-
Size specifies size (in Gi) of the storage device.
Must be greater than the image snapshot size or 8 (whichever is greater).
format: int64
minimum: 8
type: integer
type:
description: Type is the type of the volume (sbp1 for capacity-optimized
HDD, sbg1 performance-optimized SSD, default is sbp1)
enum:
- sbp1
- sbg1
type: string
required:
- size
type: object
devices:
description: Devices contains a device ip list assigned by the user
to provision machines.
items:
type: string
type: array
hostOSConfiguration:
description: HostOSConfiguration provides OS specific configurations
for the machine
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
instanceType:
description: InstanceType is the type of instance to create.
type: string
network:
description: Network provides the custom network setting for the machine.
properties:
directNetworkInterfaces:
description: DirectNetworkInterfaces contains a list of direct
network interface (DNI) configuration.
items:
description: SnowDirectNetworkInterface defines a direct network
interface (DNI) configuration.
properties:
dhcp:
description: DHCP defines whether DHCP is used to assign
ip for the DNI.
type: boolean
index:
description: Index is the index number of DNI used to clarify
the position in the list. Usually starts with 1.
maximum: 8
minimum: 1
type: integer
ipPoolRef:
description: |-
IPPool contains a reference to a snow ip pool which provides a range of ip addresses.
When specified, an ip address selected from the pool is allocated to this DNI.
properties:
kind:
type: string
name:
type: string
type: object
primary:
description: Primary indicates whether the DNI is primary
or not.
type: boolean
vlanID:
description: VlanID is the vlan id assigned by the user
for the DNI.
format: int32
maximum: 4095
minimum: 0
type: integer
type: object
maxItems: 8
minItems: 1
type: array
type: object
nonRootVolumes:
description: NonRootVolumes provides the configuration options for
the non root storage volumes.
items:
description: Volume encapsulates the configuration options for the
storage device
properties:
deviceName:
description: Device name
type: string
size:
description: |-
Size specifies size (in Gi) of the storage device.
Must be greater than the image snapshot size or 8 (whichever is greater).
format: int64
minimum: 8
type: integer
type:
description: Type is the type of the volume (sbp1 for capacity-optimized
HDD, sbg1 performance-optimized SSD, default is sbp1)
enum:
- sbp1
- sbg1
type: string
required:
- size
type: object
type: array
osFamily:
description: |-
OSFamily is the node instance OS.
Valid values: "bottlerocket" and "ubuntu".
type: string
physicalNetworkConnector:
description: |-
PhysicalNetworkConnector is the physical network connector type to use for creating direct network interfaces (DNI).
Valid values: "SFP_PLUS" (default), "QSFP" and "RJ45".
type: string
sshKeyName:
description: SSHKeyName is the name of the ssh key defined in the
aws snow key pairs, to attach to the instance.
type: string
required:
- network
type: object
status:
description: SnowMachineConfigStatus defines the observed state of SnowMachineConfig.
properties:
failureMessage:
description: |-
FailureMessage indicates that there is a fatal problem reconciling the
state, and will be set to a descriptive error message.
type: string
specValid:
description: SpecValid is set to true if vspheredatacenterconfig is
validated.
type: boolean
type: object
type: object
served: true
storage: true
subresources:
status: {}