crds/node.eks.aws_nodeconfigs.yaml (156 lines of code) (raw):

--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.16.3 name: nodeconfigs.node.eks.aws spec: group: node.eks.aws names: kind: NodeConfig listKind: NodeConfigList plural: nodeconfigs singular: nodeconfig scope: Cluster versions: - name: v1alpha1 schema: openAPIV3Schema: description: NodeConfig is the primary configuration object for `nodeadm`. 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: properties: cluster: description: |- ClusterDetails contains the coordinates of your EKS cluster. These details can be found using the [DescribeCluster API](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeCluster.html). properties: apiServerEndpoint: description: APIServerEndpoint is the URL of your EKS cluster's kube-apiserver. type: string certificateAuthority: description: CertificateAuthority is a base64-encoded string of your cluster's certificate authority chain. format: byte type: string cidr: description: CIDR is your cluster's Pod IP CIDR. This value is used to infer your cluster's DNS address. type: string enableOutpost: description: EnableOutpost determines how your node is configured when running on an AWS Outpost. type: boolean id: description: ID is an identifier for your cluster; this is only used when your node is running on an AWS Outpost. type: string name: description: Name is the name of your EKS cluster type: string region: description: |- Region is an AWS region (e.g. us-east-1) used to retrieve regional artifacts as well as region where EKS cluster lives. type: string type: object containerd: description: ContainerdOptions are additional parameters passed to `containerd`. properties: config: description: |- Config is inline [`containerd` configuration TOML](https://github.com/containerd/containerd/blob/main/docs/man/containerd-config.toml.5.md) that will be [imported](https://github.com/containerd/containerd/blob/32169d591dbc6133ef7411329b29d0c0433f8c4d/docs/man/containerd-config.toml.5.md?plain=1#L146-L154) by the default configuration file. type: string type: object hybrid: description: HybridOptions defines the options specific to hybrid node enrollment. properties: enableCredentialsFile: description: |- EnableCredentialsFile enables a shared credentials file on the host at /eks-hybrid/.aws/credentials For SSM, this means that nodeadm will create a symlink from `/root/.aws/credentials` to `/eks-hybrid/.aws/credentials`. For IAM Roles Anywhere, this means that nodeadm will set up a systemd service to write and refresh the credentials to `/eks-hybrid/.aws/credentials`. type: boolean iamRolesAnywhere: description: |- IAMRolesAnywhere includes IAM Roles Anywhere specific configuration and is mutually exclusive with SSM. properties: awsConfigPath: description: |- AwsConfigPath is the path where the Aws config is stored for hybrid nodes. This field is only used to init phase type: string certificatePath: description: CertificatePath is the location on disk for the certificate used to authenticate with AWS. type: string nodeName: description: NodeName is the name the node will adopt. type: string privateKeyPath: description: PrivateKeyPath is the location on disk for the certificate's private key. type: string profileArn: description: ProfileARN is the ARN of the profile linked with the Hybrid IAM Role. type: string roleArn: description: RoleARN is the role to IAM roles anywhere gets authorized as to get temporary credentials. type: string trustAnchorArn: description: TrustAnchorARN is the ARN of the trust anchor. type: string type: object ssm: description: |- SSM includes Systems Manager specific configuration and is mutually exclusive with IAMRolesAnywhere. properties: activationCode: description: ActivationCode is the token generated when creating an SSM activation. type: string activationId: description: ActivationToken is the ID generated when creating an SSM activation. type: string type: object type: object instance: description: InstanceOptions determines how the node's operating system and devices are configured. properties: localStorage: description: |- LocalStorageOptions control how [EC2 instance stores](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) are used when available. properties: strategy: description: LocalStorageStrategy specifies how to handle an instance's local storage devices. enum: - RAID0 - Mount type: string type: object type: object kubelet: description: KubeletOptions are additional parameters passed to `kubelet`. properties: config: additionalProperties: type: object x-kubernetes-preserve-unknown-fields: true description: |- Config is a [`KubeletConfiguration`](https://kubernetes.io/docs/reference/config-api/kubelet-config.v1/) that will be merged with the defaults. type: object flags: description: |- Flags are [command-line `kubelet`` arguments](https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/). that will be appended to the defaults. items: type: string type: array type: object type: object type: object served: true storage: true