Type object
Schema URL https://catalog.lintel.tools/schemas/schemastore/eksctl/latest.json
Source https://raw.githubusercontent.com/weaveworks/eksctl/main/pkg/apis/eksctl.io/v1alpha5/assets/schema.json

Validate with Lintel

npx @lintel/lintel check
Type: object

Definitions

ARN github.com%7Caws%7Caws-sdk-go-v2%7Caws%7Carn.ARN
AZSubnetMapping Record<string, object>

holds subnet to AZ mappings. If the key is an AZ, that also becomes the name of the subnet otherwise use the key to refer to this subnet.

AZSubnetSpec object
az string

zone name for this subnet, it can either be an availability zone name or a local zone name. AZ can be omitted if the key is an AZ.

id string
AccessConfig object

specifies the access config for a cluster.

accessEntries AccessEntry[]

specifies a list of access entries for the cluster.

specifies the authentication mode for a cluster.

bootstrapClusterCreatorAdminPermissions boolean

specifies whether the cluster creator IAM principal was set as a cluster admin access entry during cluster creation time.

AccessEntry object

represents an access entry for managing access to a cluster.

accessPolicies AccessPolicy[]

set of policies to associate with an access entry

kubernetesGroups string[]

set of Kubernetes groups to map to the principal ARN

kubernetesUsername string

username to map to the principal ARN

type string

EC2_LINUX, EC2_WINDOWS, FARGATE_LINUX or STANDARD

AccessPolicy object

An AccessPolicy represents a policy to associate with an access entry.

accessScope object

defines the scope of an access policy.

2 nested properties
namespaces string[]

Scope access to namespace(s)

AccessScope object

defines the scope of an access policy.

namespaces string[]

Scope access to namespace(s)

Addon object

holds the EKS addon configuration

name string required
attachPolicy Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
attachPolicyARNs string[]

list of ARNs of the IAM policies to attach

configurationValues string

defines the set of configuration properties for add-ons. For now, all properties will be specified as a JSON string and have to respect the schema from DescribeAddonConfiguration.

namespaceConfig object

holds namespace configuration for addon deployment

1 nested properties
namespace string

specifies the target namespace for addon deployment

owners string[]
permissionsBoundary string

ARN of the permissions' boundary to associate

podIdentityAssociations PodIdentityAssociation[]

holds a list of associations to be configured for the addon

publishers string[]

determines how to resolve field value conflicts for an EKS add-on if a value was changed from default

serviceAccountRoleARN string
tags Record<string, string>

The metadata to apply to the cluster to assist with categorization and organization. Each tag consists of a key and an optional value, both of which you define.

Default: "{}"
types string[]
useDefaultPodIdentityAssociations boolean

uses the pod identity associations recommended by the EKS API. Defaults to false.

Default: "false"
version string
wellKnownPolicies object

for attaching common IAM policies

7 nested properties
autoScaler boolean

adds policies for cluster-autoscaler. See autoscaler AWS docs.

Default: "false"
awsLoadBalancerController boolean

adds policies for using the aws-load-balancer-controller. See Load Balancer docs.

Default: "false"
certManager boolean

adds cert-manager policies. See cert-manager docs.

Default: "false"
ebsCSIController boolean

adds policies for using the ebs-csi-controller. See aws-ebs-csi-driver docs.

Default: "false"
efsCSIController boolean

adds policies for using the efs-csi-controller. See aws-efs-csi-driver docs.

Default: "false"
externalDNS boolean

adds external-dns policies for Amazon Route 53. See external-dns docs.

Default: "false"
imageBuilder boolean

allows for full ECR (Elastic Container Registry) access.

Default: "false"
AddonNamespaceConfig object

holds namespace configuration for addon deployment

namespace string

specifies the target namespace for addon deployment

AddonsConfig object

holds the addons config.

autoApplyPodIdentityAssociations boolean

specifies whether to automatically apply pod identity associations for supported addons that require IAM permissions.

Default: "false"
disableDefaultAddons boolean

enables or disables creation of default networking addons when the cluster is created. By default, all default addons are installed as EKS addons.

Default: "false"
ArgoCDAWSIDC object

holds AWS IDC configuration for ArgoCD

idcInstanceArn string required

ARN of the IDC instance

idcRegion string

region of the IDC instance

ArgoCDConfiguration object

holds ArgoCD-specific configuration

awsIdc object

holds AWS IDC configuration for ArgoCD

2 nested properties
idcInstanceArn string required

ARN of the IDC instance

idcRegion string

region of the IDC instance

namespace string

for ArgoCD installation

networkAccess object

holds network access configuration for ArgoCD

1 nested properties
vpceIds string[]

for VPC endpoint access

rbacRoleMappings ArgoCDRoleMapping[]

for ArgoCD RBAC

ArgoCDNetworkAccess object

holds network access configuration for ArgoCD

vpceIds string[]

for VPC endpoint access

ArgoCDRoleMapping object

holds RBAC role mapping for ArgoCD

identities SSOIdentity[] required

SSO identities to map to the role

role string required

ArgoCD role (ADMIN, EDITOR, VIEWER)

AutoModeConfig object
enabled boolean

enables or disables Auto Mode.

nodePools string[]

a list of node pools to create.

Capability object

represents an EKS capability configuration

name string required

of the capability

type string required

of the capability (ACK, KRO, ARGOCD)

accessPolicies AccessPolicy[]

list of access policies to associate with the access entry

attachPolicy Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
attachPolicyARNs string[]

list of ARNs of the IAM policies to attach

configuration object

holds capability-specific configuration

1 nested properties
argocd object

holds ArgoCD-specific configuration

4 nested properties
awsIdc object

holds AWS IDC configuration for ArgoCD

namespace string

for ArgoCD installation

networkAccess object

holds network access configuration for ArgoCD

rbacRoleMappings ArgoCDRoleMapping[]

for ArgoCD RBAC

deletePropagationPolicy string

specifies the delete propagation policy

permissionsBoundary string

ARN of the permissions boundary policy

roleArn string

IAM role ARN for the capability

tags Record<string, string>

used to tag AWS resources created by the capability

Default: "{}"
CapabilityConfiguration object

holds capability-specific configuration

argocd object

holds ArgoCD-specific configuration

4 nested properties
awsIdc object

holds AWS IDC configuration for ArgoCD

2 nested properties
idcInstanceArn string required

ARN of the IDC instance

idcRegion string

region of the IDC instance

namespace string

for ArgoCD installation

networkAccess object

holds network access configuration for ArgoCD

1 nested properties
vpceIds string[]

for VPC endpoint access

rbacRoleMappings ArgoCDRoleMapping[]

for ArgoCD RBAC

CapacityReservation object

defines a nodegroup's Capacity Reservation targeting option

capacityReservationPreference string

defines a nodegroup's Capacity Reservation preferences (either 'open' or 'none')

capacityReservationTarget object
2 nested properties
capacityReservationID string
capacityReservationResourceGroupARN string
CapacityReservationTarget object
capacityReservationID string
capacityReservationResourceGroupARN string
ClusterCloudWatch object

contains config parameters related to CloudWatch

clusterLogging object

container config parameters related to cluster logging

2 nested properties
enableTypes string[]

Types of logging to enable (see CloudWatch docs). Valid entries are: "api", "audit", "authenticator", "controllerManager", "scheduler", "all", "*".

logRetentionInDays integer

sets the number of days to retain the logs for (see CloudWatch docs) . Valid values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

ClusterCloudWatchLogging object

container config parameters related to cluster logging

enableTypes string[]

Types of logging to enable (see CloudWatch docs). Valid entries are: "api", "audit", "authenticator", "controllerManager", "scheduler", "all", "*".

logRetentionInDays integer

sets the number of days to retain the logs for (see CloudWatch docs) . Valid values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

ClusterConfig object

a simple config, to be replaced with Cluster API

apiVersion string required
Values: "eksctl.io/v1alpha5"
kind string required
Values: "ClusterConfig"
metadata object required

contains general cluster information

6 nested properties
name string required

of the cluster

region string required

the AWS region hosting this cluster

annotations Record<string, string>

arbitrary metadata ignored by eksctl.

Default: "{}"
forceUpdateVersion boolean

When updating cluster version, provide the force flag to override upgrade-blocking insights

tags Record<string, string>

used to tag AWS resources created by eksctl

Default: "{}"
version string

use ./eksctl utils describe-cluster-versions to get the list of supported versions

accessConfig object

specifies the access config for a cluster.

3 nested properties
accessEntries AccessEntry[]

specifies a list of access entries for the cluster.

specifies the authentication mode for a cluster.

bootstrapClusterCreatorAdminPermissions boolean

specifies whether the cluster creator IAM principal was set as a cluster admin access entry during cluster creation time.

addons Addon[]
addonsConfig object

holds the addons config.

2 nested properties
autoApplyPodIdentityAssociations boolean

specifies whether to automatically apply pod identity associations for supported addons that require IAM permissions.

Default: "false"
disableDefaultAddons boolean

enables or disables creation of default networking addons when the cluster is created. By default, all default addons are installed as EKS addons.

Default: "false"
autoModeConfig object
4 nested properties
enabled boolean

enables or disables Auto Mode.

nodePools string[]

a list of node pools to create.

availabilityZones string[]
capabilities Capability[]

specifies the capabilities for the cluster.

cloudWatch object

contains config parameters related to CloudWatch

1 nested properties
clusterLogging object

container config parameters related to cluster logging

2 nested properties
enableTypes string[]

Types of logging to enable (see CloudWatch docs). Valid entries are: "api", "audit", "authenticator", "controllerManager", "scheduler", "all", "*".

logRetentionInDays integer

sets the number of days to retain the logs for (see CloudWatch docs) . Valid values are: 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, and 3653.

controlPlaneScalingConfig object

holds control plane scaling configuration.

1 nested properties
tier string
fargateProfiles FargateProfile[]
gitops object

groups all configuration options related to enabling GitOps Toolkit on a cluster and linking it to a Git repository. Note: this will replace the older Git types

1 nested properties
flux object

groups all configuration options related to a Git repository used for GitOps Toolkit (Flux v2).

2 nested properties
flags Record<string, string>

a map of string for passing arbitrary flags to Flux bootstrap

Default: "{}"
gitProvider string

The repository hosting service. Can be either Github or Gitlab.

iam object

holds all IAM attributes of a cluster

8 nested properties
fargatePodExecutionRoleARN string

role used by pods to access AWS APIs. This role is added to the Kubernetes RBAC for authorization. See Pod Execution Role

fargatePodExecutionRolePermissionsBoundary string

permissions boundary for the fargate pod execution role`. See EKS Fargate Support

podIdentityAssociations PodIdentityAssociation[]

pod identity associations to create in the cluster. See Pod Identity Associations

serviceAccounts ClusterIAMServiceAccount[]

service accounts to create in the cluster. See IAM Service Accounts

serviceRoleARN string
serviceRolePermissionsBoundary string

permissions boundary for all identity-based entities created by eksctl. See AWS Permission Boundary

vpcResourceControllerPolicy boolean

attaches the IAM policy necessary to run the VPC controller in the control plane

Default: true
withOIDC boolean

enables the IAM OIDC provider as well as IRSA for the Amazon CNI plugin

iamIdentityMappings IAMIdentityMapping[]
identityProviders IdentityProvider[]
karpenter object

provides configuration options

4 nested properties
version string required

defines the Karpenter version to install

createServiceAccount boolean

create a service account or not.

defaultInstanceProfile string

override the default IAM instance profile

withSpotInterruptionQueue boolean

if true, adds all required policies and rules for supporting Spot Interruption Queue on Karpenter deployments

kubernetesNetworkConfig object

contains cluster networking options

3 nested properties
ipFamily string

Valid variants are: "IPv4" defines an IP family of v4 to be used when creating a new VPC and cluster., "IPv6" defines an IP family of v6 to be used when creating a new VPC and cluster..

Values: "IPv4" "IPv6"
serviceIPv4CIDR string

IPv4 CIDR range from where ClusterIPs are assigned

serviceIPv6CIDR string

IPv6 CIDR range from where ClusterIPs are assigned

localZones string[]

specifies a list of local zones where the subnets should be created. Only self-managed nodegroups can be launched in local zones. These subnets are not passed to EKS.

nodeGroups NodeGroup[]

For information and examples see nodegroups

outpost object

holds the Outpost configuration.

3 nested properties
controlPlaneInstanceType string

specifies the instance type to use for creating the control plane instances.

controlPlaneOutpostARN string

specifies the Outpost ARN in which the control plane should be created.

controlPlanePlacement object

specifies placement group information

1 nested properties
groupName string
privateCluster object

defines the configuration for a fully-private cluster.

3 nested properties
additionalEndpointServices string[]

specifies additional endpoint services that must be enabled for private access. Valid entries are "cloudformation", "autoscaling" and "logs".

enabled boolean

enables creation of a fully-private cluster.

Default: "false"
skipEndpointCreation boolean

skips the creation process for endpoints completely. This is only used in case of an already provided VPC and if the user decided to set it to true.

Default: "false"
remoteNetworkConfig object

RemoteNetworkConfig

4 nested properties
remoteNodeNetworks RemoteNetwork[] required
vpcGatewayID string required

VPCGatewayID the ID of the gateway that facilitates external connectivity from customer's VPC to their remote network(s). Valid options are Transit Gateway and Virtual Private Gateway.

iam object
3 nested properties
caBundleCert string

the CA bundle certificate used by IRA trust anchor. Can't be set if Provider is SSM.

provider string

the AWS service responsible for provisioning IAM credentials to remote nodes. Valid options are SSM (System Manager), default, and IRA (IAM Roles anywhere). Required IRA config (i.e. TrustAnchor, AnywhereProfile) will be created by eksctl behind the scenes.

roleARN string

the IAM Role ARN to be added to aws-auth configmap for remote nodes. If not set, eksctl creates the role behind the scenes, adds an entry into the configmap and sets up any other SSM/IRA config. If set, eksctl will only add the configmap entry, while creating any required SSM/IRA config falls under user's responsibility.

remotePodNetworks RemoteNetwork[]
secretsEncryption object

defines the configuration for KMS encryption provider

1 nested properties
keyARN string required
upgradePolicy object

holds the upgrade policy configuration for the cluster

1 nested properties
supportType string

specifies the support type for the cluster. Valid variants are: "STANDARD" standard support for the cluster, "EXTENDED" extended support for the cluster (default) defines the default support type.

Default: "EXTENDED"
Values: "STANDARD" "EXTENDED"
vpc object

holds global subnet and all child subnets

17 nested properties
autoAllocateIPv6 boolean

AutoAllocateIPV6 requests an IPv6 CIDR block with /56 prefix for the VPC

clusterEndpoints object

holds cluster api server endpoint access information

2 nested properties
privateAccess boolean
publicAccess boolean
controlPlaneSecurityGroupIDs string[]

configures the security groups for the control plane.

controlPlaneSubnetIDs string[]

configures the subnets for the control plane.

extraCIDRs string[]

for additional CIDR associations, e.g. a CIDR for private subnets or any ad-hoc subnets

extraIPv6CIDRs string[]

for additional IPv6 CIDR associations, e.g. a CIDR for private subnets or any ad-hoc subnets

hostnameType string

type of hostname to use for EC2 instances.

id string
ipv6Cidr string
ipv6Pool string
manageSharedNodeSecurityGroupRules boolean

Automatically add security group rules to and from the default cluster security group and the shared node security group. This allows unmanaged nodes to communicate with the control plane and managed nodes. This option cannot be disabled when using eksctl created security groups.

Default: true
nat object

NAT config

1 nested properties
gateway string

Valid variants are: "HighlyAvailable" configures a highly available NAT gateway, "Single" configures a single NAT gateway (default), "Disable" disables NAT.

Default: "Single"
Values: "HighlyAvailable" "Single" "Disable"
publicAccessCIDRs string[]

which CIDR blocks to allow access to public k8s API endpoint

securityGroup string

(aka the ControlPlaneSecurityGroup) for communication between control plane and nodes

sharedNodeSecurityGroup string

for pre-defined shared node SG

subnets object

holds private and public subnets

2 nested properties
private Record<string, object>

holds subnet to AZ mappings. If the key is an AZ, that also becomes the name of the subnet otherwise use the key to refer to this subnet.

Default: "{}"
public Record<string, object>

holds subnet to AZ mappings. If the key is an AZ, that also becomes the name of the subnet otherwise use the key to refer to this subnet.

Default: "{}"
zonalShiftConfig object

holds the zonal shift configuration.

1 nested properties
enabled boolean

enables or disables zonal shift.

ClusterEndpoints object

holds cluster api server endpoint access information

privateAccess boolean
publicAccess boolean
ClusterIAM object

holds all IAM attributes of a cluster

fargatePodExecutionRoleARN string

role used by pods to access AWS APIs. This role is added to the Kubernetes RBAC for authorization. See Pod Execution Role

fargatePodExecutionRolePermissionsBoundary string

permissions boundary for the fargate pod execution role`. See EKS Fargate Support

podIdentityAssociations PodIdentityAssociation[]

pod identity associations to create in the cluster. See Pod Identity Associations

serviceAccounts ClusterIAMServiceAccount[]

service accounts to create in the cluster. See IAM Service Accounts

serviceRoleARN string
serviceRolePermissionsBoundary string

permissions boundary for all identity-based entities created by eksctl. See AWS Permission Boundary

vpcResourceControllerPolicy boolean

attaches the IAM policy necessary to run the VPC controller in the control plane

Default: true
withOIDC boolean

enables the IAM OIDC provider as well as IRSA for the Amazon CNI plugin

ClusterIAMMeta object

holds information we can use to create ObjectMeta for service accounts

annotations Record<string, string>
Default: "{}"
labels Record<string, string>
Default: "{}"
name string
namespace string
ClusterIAMServiceAccount object

holds an IAM service account metadata and configuration

attachPolicy Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
attachPolicyARNs string[]

list of ARNs of the IAM policies to attach

attachRoleARN string

ARN of the role to attach to the service account

metadata object

holds information we can use to create ObjectMeta for service accounts

4 nested properties
annotations Record<string, string>
Default: "{}"
labels Record<string, string>
Default: "{}"
name string
namespace string
permissionsBoundary string

ARN of the permissions boundary to associate with the service account

roleName string

Specific role name instead of the Cloudformation-generated role name

roleOnly boolean

Specify if only the IAM Service Account role should be created without creating/annotating the service account

status object

holds status of the IAM service account

4 nested properties
capabilities string[]
roleARN string
stackName string
tags Record<string, string>
Default: "{}"
subjectPattern string

Subject pattern to use in the trust policy condition. When set, this pattern is used instead of the service account name, and StringLike is used instead of StringEquals to allow wildcard matching.

tags Record<string, string>

AWS tags for the service account

Default: "{}"
wellKnownPolicies object

for attaching common IAM policies

7 nested properties
autoScaler boolean

adds policies for cluster-autoscaler. See autoscaler AWS docs.

Default: "false"
awsLoadBalancerController boolean

adds policies for using the aws-load-balancer-controller. See Load Balancer docs.

Default: "false"
certManager boolean

adds cert-manager policies. See cert-manager docs.

Default: "false"
ebsCSIController boolean

adds policies for using the ebs-csi-controller. See aws-ebs-csi-driver docs.

Default: "false"
efsCSIController boolean

adds policies for using the efs-csi-controller. See aws-efs-csi-driver docs.

Default: "false"
externalDNS boolean

adds external-dns policies for Amazon Route 53. See external-dns docs.

Default: "false"
imageBuilder boolean

allows for full ECR (Elastic Container Registry) access.

Default: "false"
ClusterIAMServiceAccountStatus object

holds status of the IAM service account

capabilities string[]
roleARN string
stackName string
tags Record<string, string>
Default: "{}"
ClusterMeta object

contains general cluster information

name string required

of the cluster

region string required

the AWS region hosting this cluster

annotations Record<string, string>

arbitrary metadata ignored by eksctl.

Default: "{}"
forceUpdateVersion boolean

When updating cluster version, provide the force flag to override upgrade-blocking insights

tags Record<string, string>

used to tag AWS resources created by eksctl

Default: "{}"
version string

use ./eksctl utils describe-cluster-versions to get the list of supported versions

ClusterNAT object

NAT config

gateway string

Valid variants are: "HighlyAvailable" configures a highly available NAT gateway, "Single" configures a single NAT gateway (default), "Disable" disables NAT.

Default: "Single"
Values: "HighlyAvailable" "Single" "Disable"
ClusterSubnets object

holds private and public subnets

private Record<string, object>

holds subnet to AZ mappings. If the key is an AZ, that also becomes the name of the subnet otherwise use the key to refer to this subnet.

Default: "{}"
public Record<string, object>

holds subnet to AZ mappings. If the key is an AZ, that also becomes the name of the subnet otherwise use the key to refer to this subnet.

Default: "{}"
ClusterVPC object

holds global subnet and all child subnets

autoAllocateIPv6 boolean

AutoAllocateIPV6 requests an IPv6 CIDR block with /56 prefix for the VPC

clusterEndpoints object

holds cluster api server endpoint access information

2 nested properties
privateAccess boolean
publicAccess boolean
controlPlaneSecurityGroupIDs string[]

configures the security groups for the control plane.

controlPlaneSubnetIDs string[]

configures the subnets for the control plane.

extraCIDRs string[]

for additional CIDR associations, e.g. a CIDR for private subnets or any ad-hoc subnets

extraIPv6CIDRs string[]

for additional IPv6 CIDR associations, e.g. a CIDR for private subnets or any ad-hoc subnets

hostnameType string

type of hostname to use for EC2 instances.

id string
ipv6Cidr string
ipv6Pool string
manageSharedNodeSecurityGroupRules boolean

Automatically add security group rules to and from the default cluster security group and the shared node security group. This allows unmanaged nodes to communicate with the control plane and managed nodes. This option cannot be disabled when using eksctl created security groups.

Default: true
nat object

NAT config

1 nested properties
gateway string

Valid variants are: "HighlyAvailable" configures a highly available NAT gateway, "Single" configures a single NAT gateway (default), "Disable" disables NAT.

Default: "Single"
Values: "HighlyAvailable" "Single" "Disable"
publicAccessCIDRs string[]

which CIDR blocks to allow access to public k8s API endpoint

securityGroup string

(aka the ControlPlaneSecurityGroup) for communication between control plane and nodes

sharedNodeSecurityGroup string

for pre-defined shared node SG

subnets object

holds private and public subnets

2 nested properties
private Record<string, object>

holds subnet to AZ mappings. If the key is an AZ, that also becomes the name of the subnet otherwise use the key to refer to this subnet.

Default: "{}"
public Record<string, object>

holds subnet to AZ mappings. If the key is an AZ, that also becomes the name of the subnet otherwise use the key to refer to this subnet.

Default: "{}"
ControlPlaneScalingConfig object

holds control plane scaling configuration.

tier string
FargateProfile object

defines the settings used to schedule workload onto Fargate.

name string required

of the Fargate profile.

podExecutionRoleARN string

IAM role's ARN to use to run pods onto Fargate.

define the rules to select workload to schedule onto Fargate.

status string

The current status of the Fargate profile.

subnets string[]

which Fargate should use to do network placement of the selected workload. If none provided, all subnets for the cluster will be used.

tags Record<string, string>

Used to tag the AWS resources

Default: "{}"
FargateProfileSelector object

defines rules to select workload to schedule onto Fargate.

namespace string required

Kubernetes namespace from which to select workload.

labels Record<string, string>

Kubernetes label selectors to use to select workload.

Default: "{}"
Flux object

groups all configuration options related to a Git repository used for GitOps Toolkit (Flux v2).

flags Record<string, string>

a map of string for passing arbitrary flags to Flux bootstrap

Default: "{}"
gitProvider string

The repository hosting service. Can be either Github or Gitlab.

FluxFlags Record<string, string>

a map of string for passing arbitrary flags to Flux bootstrap

GitOps object

groups all configuration options related to enabling GitOps Toolkit on a cluster and linking it to a Git repository. Note: this will replace the older Git types

flux object

groups all configuration options related to a Git repository used for GitOps Toolkit (Flux v2).

2 nested properties
flags Record<string, string>

a map of string for passing arbitrary flags to Flux bootstrap

Default: "{}"
gitProvider string

The repository hosting service. Can be either Github or Gitlab.

IAMIdentityMapping object

contains IAM accounts, users, roles and services that will be added to the aws-auth configmap to enable access to the cluster

account string
arn string
groups string[]
namespace string
noDuplicateARNs boolean
Default: "false"
serviceName string
username string
IdentityProvider object

holds an identity provider configuration. See the example eksctl config.

type string required

Valid variants are: "oidc": OIDC identity provider

Values: "oidc"
InlineDocument Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

InstanceMarketOptions object

describes the market (purchasing) option for the instances

marketType string

specifies the market type for the instances

InstanceSelector object

holds EC2 instance selector options

allow string

List of allowed instance types to select from w/ regex syntax (Example: m[3-5]\.*)

cpuArchitecture string

CPU Architecture of the EC2 instance type. Valid variants are: "x86_64" "amd64" "arm64"

Values: "x86_64" "amd64" "arm64"
deny string

List of instance types which should be excluded w/ regex syntax (Example: m[1-2]\.*)

gpus integer

specifies the number of GPUs. It can be set to 0 to select non-GPU instance types.

memory string

specifies the memory The unit defaults to GiB

neuron_devices integer

specifies the number of Neuron device Accelerators. It can be set to 0 to select non-Accelerator instance types.

vCPUs integer

specifies the number of vCPUs

Karpenter object

provides configuration options

version string required

defines the Karpenter version to install

createServiceAccount boolean

create a service account or not.

defaultInstanceProfile string

override the default IAM instance profile

withSpotInterruptionQueue boolean

if true, adds all required policies and rules for supporting Spot Interruption Queue on Karpenter deployments

KubernetesNetworkConfig object

contains cluster networking options

ipFamily string

Valid variants are: "IPv4" defines an IP family of v4 to be used when creating a new VPC and cluster., "IPv6" defines an IP family of v6 to be used when creating a new VPC and cluster..

Values: "IPv4" "IPv6"
serviceIPv4CIDR string

IPv4 CIDR range from where ClusterIPs are assigned

serviceIPv6CIDR string

IPv6 CIDR range from where ClusterIPs are assigned

LaunchTemplate object
id string required

Launch template ID

version string

Launch template version Defaults to the default launch template version TODO support $Default, $Latest

ManagedNodeGroup object

represents an EKS-managed nodegroup

name string required
additionalVolumes VolumeMapping[]

Additional Volume Configurations

ami string

Specify custom AMIs, auto-ssm, auto, or static

amiFamily string

Valid variants are: "AmazonLinux2023" (default), "AmazonLinux2", "UbuntuPro2404", "Ubuntu2404", "UbuntuPro2204", "Ubuntu2204", "UbuntuPro2004", "Ubuntu2004", "Bottlerocket", "WindowsServer2019CoreContainer", "WindowsServer2019FullContainer", "WindowsServer2022CoreContainer", "WindowsServer2022FullContainer", "WindowsServer2025CoreContainer", "WindowsServer2025FullContainer".

Default: "AmazonLinux2023"
Values: "AmazonLinux2023" "AmazonLinux2" "UbuntuPro2404" "Ubuntu2404" "UbuntuPro2204" "Ubuntu2204" "UbuntuPro2004" "Ubuntu2004" "Bottlerocket" "WindowsServer2019CoreContainer" "WindowsServer2019FullContainer" "WindowsServer2022CoreContainer" "WindowsServer2022FullContainer" "WindowsServer2025CoreContainer" "WindowsServer2025FullContainer"
asgSuspendProcesses string[]
availabilityZones string[]
bottlerocket object

holds the configuration for Bottlerocket based NodeGroups.

2 nested properties
enableAdminContainer boolean
settings Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
capacityReservation object

defines a nodegroup's Capacity Reservation targeting option

2 nested properties
capacityReservationPreference string

defines a nodegroup's Capacity Reservation preferences (either 'open' or 'none')

capacityReservationTarget object
2 nested properties
capacityReservationID string
capacityReservationResourceGroupARN string
desiredCapacity integer
disableIMDSv1 boolean

requires requests to the metadata service to use IMDSv2 tokens

Default: true
disablePodIMDS boolean

blocks all IMDS requests from non-host networking pods

Default: false
ebsOptimized boolean
efaEnabled boolean

creates the maximum allowed number of EFA-enabled network cards on nodes in this group.

enableDetailedMonitoring boolean

Enable EC2 detailed monitoring

iam object

holds all IAM attributes of a NodeGroup

7 nested properties
attachPolicy Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
attachPolicyARNs string[]

list of ARNs of the IAM policies to attach

instanceProfileARN string

holds the ARN of instance profile, not supported for Managed NodeGroups

instanceRoleARN string
instanceRoleName string
instanceRolePermissionsBoundary string
withAddonPolicies object

holds all IAM addon policies

13 nested properties
albIngress boolean
appMesh boolean

enables full access to AppMesh

appMeshPreview boolean

enables full access to AppMesh Preview

autoScaler boolean

enables IAM policy for cluster-autoscaler

awsLoadBalancerController boolean
certManager boolean

enables the ability to add records to Route 53 in order to solve the DNS01 challenge. More information can be found here

cloudWatch boolean
ebs boolean

enables the new EBS CSI (Elastic Block Store Container Storage Interface) driver

efs boolean
externalDNS boolean

adds the external-dns project policies for Amazon Route 53

fsx boolean
imageBuilder boolean

allows for full ECR (Elastic Container Registry) access. This is useful for building, for example, a CI server that needs to push images to ECR

xRay boolean
instanceMarketOptions object

describes the market (purchasing) option for the instances

1 nested properties
marketType string

specifies the market type for the instances

instanceName string
instancePrefix string
instanceSelector object

holds EC2 instance selector options

7 nested properties
allow string

List of allowed instance types to select from w/ regex syntax (Example: m[3-5]\.*)

cpuArchitecture string

CPU Architecture of the EC2 instance type. Valid variants are: "x86_64" "amd64" "arm64"

Values: "x86_64" "amd64" "arm64"
deny string

List of instance types which should be excluded w/ regex syntax (Example: m[1-2]\.*)

gpus integer

specifies the number of GPUs. It can be set to 0 to select non-GPU instance types.

memory string

specifies the memory The unit defaults to GiB

neuron_devices integer

specifies the number of Neuron device Accelerators. It can be set to 0 to select non-Accelerator instance types.

vCPUs integer

specifies the number of vCPUs

instanceType string
instanceTypes string[]

specifies a list of instance types

labels Record<string, string>
Default: "{}"
launchTemplate object
2 nested properties
id string required

Launch template ID

version string

Launch template version Defaults to the default launch template version TODO support $Default, $Latest

maxPodsPerNode integer
maxSize integer
minSize integer
nodeRepairConfig object

contains the auto repair configuration for the nodegroup

6 nested properties
enabled boolean

Enables the auto repair feature for the nodegroup

maxParallelNodesRepairedCount integer

specifies the maximum number of nodes that can be repaired concurrently or in parallel, expressed as a count of unhealthy nodes. When using this, you cannot also set MaxParallelNodesRepairedPercentage at the same time.

maxParallelNodesRepairedPercentage integer

specifies the maximum number of nodes that can be repaired concurrently or in parallel, expressed as a percentage of unhealthy nodes. When using this, you cannot also set MaxParallelNodesRepairedCount at the same time.

maxUnhealthyNodeThresholdCount integer

specifies a count threshold of unhealthy nodes, above which node auto repair actions will stop. When using this, you cannot also set MaxUnhealthyNodeThresholdPercentage at the same time.

maxUnhealthyNodeThresholdPercentage integer

specifies a percentage threshold of unhealthy nodes, above which node auto repair actions will stop. When using this, you cannot also set MaxUnhealthyNodeThresholdCount at the same time.

nodeRepairConfigOverrides NodeRepairConfigOverride[]

specifies granular overrides for specific repair actions. These overrides control the repair action and the repair delay time before a node is considered eligible for repair. If you use this, you must specify all the values.

outpostARN string

specifies the Outpost ARN in which the nodegroup should be created.

overrideBootstrapCommand string

Override eksctl's bootstrapping script

placement object

specifies placement group information

1 nested properties
groupName string
preBootstrapCommands string[]

executed before bootstrapping instances to the cluster

privateNetworking boolean

Enable private networking for nodegroup

Default: "false"
propagateASGTags boolean

Propagate all taints and labels to the ASG automatically.

releaseVersion string

the AMI version of the EKS optimized AMI to use

securityGroups object

controls security groups for this nodegroup

3 nested properties
attachIDs string[]

attaches additional security groups to the nodegroup

withLocal boolean

attach a security group local to this nodegroup Not supported for managed nodegroups

Default: true
withShared boolean

attach the security group shared among all nodegroups in the cluster Not supported for managed nodegroups

Default: true
spot boolean

creates a spot nodegroup

Default: "false"
ssh object

holds all the ssh access configuration to a NodeGroup

6 nested properties
allow boolean

If Allow is true the SSH configuration provided is used, otherwise it is ignored. Only one of PublicKeyPath, PublicKey and PublicKeyName can be configured

enableSsm boolean

Enables the ability to SSH onto nodes using SSM

publicKey string

Public key to be added to the nodes SSH keychain. If Allow is false this value is ignored.

publicKeyName string

Public key name in EC2 to be added to the nodes SSH keychain. If Allow is false this value is ignored.

publicKeyPath string

The path to the SSH public key to be added to the nodes SSH keychain. If Allow is true this value defaults to "~/.ssh/id_rsa.pub", otherwise the value is ignored.

sourceSecurityGroupIds string[]
subnets string[]

Limit nodes to specific subnets

tags Record<string, string>

Applied to the Autoscaling Group and to the EC2 instances (unmanaged), Applied to the EKS Nodegroup resource and to the EC2 instances (managed)

Default: "{}"

taints to apply to the nodegroup

updateConfig object

contains the configuration for updating NodeGroups.

2 nested properties
maxUnavailable integer

sets the max number of nodes that can become unavailable when updating a nodegroup (specified as number)

maxUnavailablePercentage integer

sets the max number of nodes that can become unavailable when updating a nodegroup (specified as percentage)

volumeEncrypted boolean
volumeIOPS integer
volumeKmsKeyID string
volumeName string
volumeSize integer

gigabytes

Default: 80
volumeThroughput integer
volumeType string

Valid variants are: "gp2" is General Purpose SSD, "gp3" is General Purpose SSD which can be optimised for high throughput (default), "io1" is Provisioned IOPS SSD, "io2" is Provisioned IOPS SSD, "sc1" is Cold HDD, "st1" is Throughput Optimized HDD.

Default: "gp3"
Values: "gp2" "gp3" "io1" "io2" "sc1" "st1"
MetricsCollection object

used by the scaling config, see cloudformation docs

granularity string required
metrics string[]
NodeGroup object

holds configuration attributes that are specific to an unmanaged nodegroup

name string required
additionalVolumes VolumeMapping[]

Additional Volume Configurations

ami string

Specify custom AMIs, auto-ssm, auto, or static

amiFamily string

Valid variants are: "AmazonLinux2023" (default), "AmazonLinux2", "UbuntuPro2404", "Ubuntu2404", "UbuntuPro2204", "Ubuntu2204", "UbuntuPro2004", "Ubuntu2004", "Bottlerocket", "WindowsServer2019CoreContainer", "WindowsServer2019FullContainer", "WindowsServer2022CoreContainer", "WindowsServer2022FullContainer", "WindowsServer2025CoreContainer", "WindowsServer2025FullContainer".

Default: "AmazonLinux2023"
Values: "AmazonLinux2023" "AmazonLinux2" "UbuntuPro2404" "Ubuntu2404" "UbuntuPro2204" "Ubuntu2204" "UbuntuPro2004" "Ubuntu2004" "Bottlerocket" "WindowsServer2019CoreContainer" "WindowsServer2019FullContainer" "WindowsServer2022CoreContainer" "WindowsServer2022FullContainer" "WindowsServer2025CoreContainer" "WindowsServer2025FullContainer"
asgMetricsCollection MetricsCollection[]
asgSuspendProcesses string[]
availabilityZones string[]
bottlerocket object

holds the configuration for Bottlerocket based NodeGroups.

2 nested properties
enableAdminContainer boolean
settings Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
capacityReservation object

defines a nodegroup's Capacity Reservation targeting option

2 nested properties
capacityReservationPreference string

defines a nodegroup's Capacity Reservation preferences (either 'open' or 'none')

capacityReservationTarget object
2 nested properties
capacityReservationID string
capacityReservationResourceGroupARN string
classicLoadBalancerNames string[]

Associate load balancers with auto scaling group

clusterDNS string

Custom address used for DNS lookups

containerRuntime string

defines the runtime (CRI) to use for containers on the node

cpuCredits string

configures T3 Unlimited, valid only for T-type instances

desiredCapacity integer
disableIMDSv1 boolean

requires requests to the metadata service to use IMDSv2 tokens

Default: true
disablePodIMDS boolean

blocks all IMDS requests from non-host networking pods

Default: false
ebsOptimized boolean
efaEnabled boolean

creates the maximum allowed number of EFA-enabled network cards on nodes in this group.

enableDetailedMonitoring boolean

Enable EC2 detailed monitoring

enclaveEnabled boolean

determines if the EC2 instance will be Nitro enclave enabled

iam object

holds all IAM attributes of a NodeGroup

7 nested properties
attachPolicy Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
attachPolicyARNs string[]

list of ARNs of the IAM policies to attach

instanceProfileARN string

holds the ARN of instance profile, not supported for Managed NodeGroups

instanceRoleARN string
instanceRoleName string
instanceRolePermissionsBoundary string
withAddonPolicies object

holds all IAM addon policies

13 nested properties
albIngress boolean
appMesh boolean

enables full access to AppMesh

appMeshPreview boolean

enables full access to AppMesh Preview

autoScaler boolean

enables IAM policy for cluster-autoscaler

awsLoadBalancerController boolean
certManager boolean

enables the ability to add records to Route 53 in order to solve the DNS01 challenge. More information can be found here

cloudWatch boolean
ebs boolean

enables the new EBS CSI (Elastic Block Store Container Storage Interface) driver

efs boolean
externalDNS boolean

adds the external-dns project policies for Amazon Route 53

fsx boolean
imageBuilder boolean

allows for full ECR (Elastic Container Registry) access. This is useful for building, for example, a CI server that needs to push images to ECR

xRay boolean
instanceMarketOptions object

describes the market (purchasing) option for the instances

1 nested properties
marketType string

specifies the market type for the instances

instanceName string
instancePrefix string
instanceSelector object

holds EC2 instance selector options

7 nested properties
allow string

List of allowed instance types to select from w/ regex syntax (Example: m[3-5]\.*)

cpuArchitecture string

CPU Architecture of the EC2 instance type. Valid variants are: "x86_64" "amd64" "arm64"

Values: "x86_64" "amd64" "arm64"
deny string

List of instance types which should be excluded w/ regex syntax (Example: m[1-2]\.*)

gpus integer

specifies the number of GPUs. It can be set to 0 to select non-GPU instance types.

memory string

specifies the memory The unit defaults to GiB

neuron_devices integer

specifies the number of Neuron device Accelerators. It can be set to 0 to select non-Accelerator instance types.

vCPUs integer

specifies the number of vCPUs

instanceType string
instancesDistribution object

holds the configuration for spot instances

7 nested properties
instanceTypes string[] required
capacityRebalance boolean

Enable capacity rebalancing for spot instances

Default: "false"
maxPrice number
Default: "on demand price"
onDemandBaseCapacity integer
Default: 0
onDemandPercentageAboveBaseCapacity integer

Range [0-100]

Default: 100
spotAllocationStrategy string
spotInstancePools integer

Range [1-20]

Default: 2
kubeletExtraConfig Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
labels Record<string, string>
Default: "{}"
localZones string[]

specifies a list of local zones where the nodegroup should be launched. The cluster should have been created with all of the local zones specified in this field.

maxInstanceLifetime integer

defines the maximum amount of time in seconds an instance stays alive.

maxPodsPerNode integer
maxSize integer
minSize integer
outpostARN string

specifies the Outpost ARN in which the nodegroup should be created.

overrideBootstrapCommand string

Override eksctl's bootstrapping script

placement object

specifies placement group information

1 nested properties
groupName string
preBootstrapCommands string[]

executed before bootstrapping instances to the cluster

privateNetworking boolean

Enable private networking for nodegroup

Default: "false"
propagateASGTags boolean

Propagate all taints and labels to the ASG automatically.

securityGroups object

controls security groups for this nodegroup

3 nested properties
attachIDs string[]

attaches additional security groups to the nodegroup

withLocal boolean

attach a security group local to this nodegroup Not supported for managed nodegroups

Default: true
withShared boolean

attach the security group shared among all nodegroups in the cluster Not supported for managed nodegroups

Default: true
ssh object

holds all the ssh access configuration to a NodeGroup

6 nested properties
allow boolean

If Allow is true the SSH configuration provided is used, otherwise it is ignored. Only one of PublicKeyPath, PublicKey and PublicKeyName can be configured

enableSsm boolean

Enables the ability to SSH onto nodes using SSM

publicKey string

Public key to be added to the nodes SSH keychain. If Allow is false this value is ignored.

publicKeyName string

Public key name in EC2 to be added to the nodes SSH keychain. If Allow is false this value is ignored.

publicKeyPath string

The path to the SSH public key to be added to the nodes SSH keychain. If Allow is true this value defaults to "~/.ssh/id_rsa.pub", otherwise the value is ignored.

sourceSecurityGroupIds string[]
subnets string[]

Limit nodes to specific subnets

tags Record<string, string>

Applied to the Autoscaling Group and to the EC2 instances (unmanaged), Applied to the EKS Nodegroup resource and to the EC2 instances (managed)

Default: "{}"

handles unmarshalling both map[string]string and []NodeGroupTaint

targetGroupARNs string[]

Associate target group with auto scaling group

updateConfig object

contains the configuration for updating NodeGroups.

2 nested properties
maxUnavailable integer

sets the max number of nodes that can become unavailable when updating a nodegroup (specified as number)

maxUnavailablePercentage integer

sets the max number of nodes that can become unavailable when updating a nodegroup (specified as percentage)

volumeEncrypted boolean
volumeIOPS integer
volumeKmsKeyID string
volumeName string
volumeSize integer

gigabytes

Default: 80
volumeThroughput integer
volumeType string

Valid variants are: "gp2" is General Purpose SSD, "gp3" is General Purpose SSD which can be optimised for high throughput (default), "io1" is Provisioned IOPS SSD, "io2" is Provisioned IOPS SSD, "sc1" is Cold HDD, "st1" is Throughput Optimized HDD.

Default: "gp3"
Values: "gp2" "gp3" "io1" "io2" "sc1" "st1"
NodeGroupBottlerocket object

holds the configuration for Bottlerocket based NodeGroups.

enableAdminContainer boolean
settings Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
NodeGroupIAM object

holds all IAM attributes of a NodeGroup

attachPolicy Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
attachPolicyARNs string[]

list of ARNs of the IAM policies to attach

instanceProfileARN string

holds the ARN of instance profile, not supported for Managed NodeGroups

instanceRoleARN string
instanceRoleName string
instanceRolePermissionsBoundary string
withAddonPolicies object

holds all IAM addon policies

13 nested properties
albIngress boolean
appMesh boolean

enables full access to AppMesh

appMeshPreview boolean

enables full access to AppMesh Preview

autoScaler boolean

enables IAM policy for cluster-autoscaler

awsLoadBalancerController boolean
certManager boolean

enables the ability to add records to Route 53 in order to solve the DNS01 challenge. More information can be found here

cloudWatch boolean
ebs boolean

enables the new EBS CSI (Elastic Block Store Container Storage Interface) driver

efs boolean
externalDNS boolean

adds the external-dns project policies for Amazon Route 53

fsx boolean
imageBuilder boolean

allows for full ECR (Elastic Container Registry) access. This is useful for building, for example, a CI server that needs to push images to ECR

xRay boolean
NodeGroupIAMAddonPolicies object

holds all IAM addon policies

albIngress boolean
appMesh boolean

enables full access to AppMesh

appMeshPreview boolean

enables full access to AppMesh Preview

autoScaler boolean

enables IAM policy for cluster-autoscaler

awsLoadBalancerController boolean
certManager boolean

enables the ability to add records to Route 53 in order to solve the DNS01 challenge. More information can be found here

cloudWatch boolean
ebs boolean

enables the new EBS CSI (Elastic Block Store Container Storage Interface) driver

efs boolean
externalDNS boolean

adds the external-dns project policies for Amazon Route 53

fsx boolean
imageBuilder boolean

allows for full ECR (Elastic Container Registry) access. This is useful for building, for example, a CI server that needs to push images to ECR

xRay boolean
NodeGroupInstancesDistribution object

holds the configuration for spot instances

instanceTypes string[] required
capacityRebalance boolean

Enable capacity rebalancing for spot instances

Default: "false"
maxPrice number
Default: "on demand price"
onDemandBaseCapacity integer
Default: 0
onDemandPercentageAboveBaseCapacity integer

Range [0-100]

Default: 100
spotAllocationStrategy string
spotInstancePools integer

Range [1-20]

Default: 2
NodeGroupNodeRepairConfig object

contains the auto repair configuration for the nodegroup

enabled boolean

Enables the auto repair feature for the nodegroup

maxParallelNodesRepairedCount integer

specifies the maximum number of nodes that can be repaired concurrently or in parallel, expressed as a count of unhealthy nodes. When using this, you cannot also set MaxParallelNodesRepairedPercentage at the same time.

maxParallelNodesRepairedPercentage integer

specifies the maximum number of nodes that can be repaired concurrently or in parallel, expressed as a percentage of unhealthy nodes. When using this, you cannot also set MaxParallelNodesRepairedCount at the same time.

maxUnhealthyNodeThresholdCount integer

specifies a count threshold of unhealthy nodes, above which node auto repair actions will stop. When using this, you cannot also set MaxUnhealthyNodeThresholdPercentage at the same time.

maxUnhealthyNodeThresholdPercentage integer

specifies a percentage threshold of unhealthy nodes, above which node auto repair actions will stop. When using this, you cannot also set MaxUnhealthyNodeThresholdCount at the same time.

nodeRepairConfigOverrides NodeRepairConfigOverride[]

specifies granular overrides for specific repair actions. These overrides control the repair action and the repair delay time before a node is considered eligible for repair. If you use this, you must specify all the values.

NodeGroupSGs object

controls security groups for this nodegroup

attachIDs string[]

attaches additional security groups to the nodegroup

withLocal boolean

attach a security group local to this nodegroup Not supported for managed nodegroups

Default: true
withShared boolean

attach the security group shared among all nodegroups in the cluster Not supported for managed nodegroups

Default: true
NodeGroupSSH object

holds all the ssh access configuration to a NodeGroup

allow boolean

If Allow is true the SSH configuration provided is used, otherwise it is ignored. Only one of PublicKeyPath, PublicKey and PublicKeyName can be configured

enableSsm boolean

Enables the ability to SSH onto nodes using SSM

publicKey string

Public key to be added to the nodes SSH keychain. If Allow is false this value is ignored.

publicKeyName string

Public key name in EC2 to be added to the nodes SSH keychain. If Allow is false this value is ignored.

publicKeyPath string

The path to the SSH public key to be added to the nodes SSH keychain. If Allow is true this value defaults to "~/.ssh/id_rsa.pub", otherwise the value is ignored.

sourceSecurityGroupIds string[]
NodeGroupTaint object

represents a Kubernetes taint

key string
value string
NodeGroupUpdateConfig object

contains the configuration for updating NodeGroups.

maxUnavailable integer

sets the max number of nodes that can become unavailable when updating a nodegroup (specified as number)

maxUnavailablePercentage integer

sets the max number of nodes that can become unavailable when updating a nodegroup (specified as percentage)

NodeRepairConfigOverride object

specifies granular overrides for specific repair actions. These overrides control the repair action and the repair delay time before a node is considered eligible for repair. If you use this, you must specify all the values.

minRepairWaitTimeMins integer

specifies the minimum time in minutes to wait before attempting to repair a node with this specific NodeMonitoringCondition and NodeUnhealthyReason

nodeMonitoringCondition string

specifies an unhealthy condition reported by the node monitoring agent that this override would apply to

nodeUnhealthyReason string

specifies a reason reported by the node monitoring agent that this override would apply to

repairAction string

specifies the repair action to take for nodes when all of the specified conditions are met

OIDCIdentityProvider object

holds the spec of an OIDC provider to use for EKS authzn

clientID string required
issuerURL string required
name string required
groupsClaim string
groupsPrefix string
requiredClaims Record<string, string>
Default: "{}"
tags Record<string, string>
Default: "{}"
usernameClaim string
usernamePrefix string
Outpost object

holds the Outpost configuration.

controlPlaneInstanceType string

specifies the instance type to use for creating the control plane instances.

controlPlaneOutpostARN string

specifies the Outpost ARN in which the control plane should be created.

controlPlanePlacement object

specifies placement group information

1 nested properties
groupName string
Placement object

specifies placement group information

groupName string
PodIdentityAssociation object
createServiceAccount boolean
Default: "false"
disableSessionTags boolean

disables the tags that are automatically added to role session by Amazon EKS.

namespace string
permissionPolicy Record<string, any>

holds any arbitrary JSON/YAML documents, such as extra config parameters or IAM policies

Default: "{}"
permissionPolicyARNs string[]
permissionPolicyName string
permissionsBoundaryARN string
policy string

optional policy that applies additional restrictions to this pod identity association beyond the IAM policies attached to the IAM role.

roleARN string
roleName string
serviceAccountName string
tags Record<string, string>
Default: "{}"
targetRoleARN string

Amazon Resource Name (ARN) of the IAM role to be chained to the IAM role specified as RoleARN. This enables cross-account access where the RoleARN is in the same account as the cluster and TargetRoleARN is in a different account.

wellKnownPolicies object

for attaching common IAM policies

7 nested properties
autoScaler boolean

adds policies for cluster-autoscaler. See autoscaler AWS docs.

Default: "false"
awsLoadBalancerController boolean

adds policies for using the aws-load-balancer-controller. See Load Balancer docs.

Default: "false"
certManager boolean

adds cert-manager policies. See cert-manager docs.

Default: "false"
ebsCSIController boolean

adds policies for using the ebs-csi-controller. See aws-ebs-csi-driver docs.

Default: "false"
efsCSIController boolean

adds policies for using the efs-csi-controller. See aws-efs-csi-driver docs.

Default: "false"
externalDNS boolean

adds external-dns policies for Amazon Route 53. See external-dns docs.

Default: "false"
imageBuilder boolean

allows for full ECR (Elastic Container Registry) access.

Default: "false"
PrivateCluster object

defines the configuration for a fully-private cluster.

additionalEndpointServices string[]

specifies additional endpoint services that must be enabled for private access. Valid entries are "cloudformation", "autoscaling" and "logs".

enabled boolean

enables creation of a fully-private cluster.

Default: "false"
skipEndpointCreation boolean

skips the creation process for endpoints completely. This is only used in case of an already provided VPC and if the user decided to set it to true.

Default: "false"
RemoteNetwork object

RemoteNetwork

cidrs string[]
RemoteNetworkConfig object

RemoteNetworkConfig

remoteNodeNetworks RemoteNetwork[] required
vpcGatewayID string required

VPCGatewayID the ID of the gateway that facilitates external connectivity from customer's VPC to their remote network(s). Valid options are Transit Gateway and Virtual Private Gateway.

iam object
3 nested properties
caBundleCert string

the CA bundle certificate used by IRA trust anchor. Can't be set if Provider is SSM.

provider string

the AWS service responsible for provisioning IAM credentials to remote nodes. Valid options are SSM (System Manager), default, and IRA (IAM Roles anywhere). Required IRA config (i.e. TrustAnchor, AnywhereProfile) will be created by eksctl behind the scenes.

roleARN string

the IAM Role ARN to be added to aws-auth configmap for remote nodes. If not set, eksctl creates the role behind the scenes, adds an entry into the configmap and sets up any other SSM/IRA config. If set, eksctl will only add the configmap entry, while creating any required SSM/IRA config falls under user's responsibility.

remotePodNetworks RemoteNetwork[]
RemoteNodesIAM object
caBundleCert string

the CA bundle certificate used by IRA trust anchor. Can't be set if Provider is SSM.

provider string

the AWS service responsible for provisioning IAM credentials to remote nodes. Valid options are SSM (System Manager), default, and IRA (IAM Roles anywhere). Required IRA config (i.e. TrustAnchor, AnywhereProfile) will be created by eksctl behind the scenes.

roleARN string

the IAM Role ARN to be added to aws-auth configmap for remote nodes. If not set, eksctl creates the role behind the scenes, adds an entry into the configmap and sets up any other SSM/IRA config. If set, eksctl will only add the configmap entry, while creating any required SSM/IRA config falls under user's responsibility.

SSOIdentity object

represents an SSO identity

id string required

of the SSO identity

type string required

of the SSO identity (SSO_USER, SSO_GROUP)

SecretsEncryption object

defines the configuration for KMS encryption provider

keyARN string required
UpgradePolicy object

holds the upgrade policy configuration for the cluster

supportType string

specifies the support type for the cluster. Valid variants are: "STANDARD" standard support for the cluster, "EXTENDED" extended support for the cluster (default) defines the default support type.

Default: "EXTENDED"
Values: "STANDARD" "EXTENDED"
VPCGateway string

VPCGatewayID the ID of the gateway that facilitates external connectivity from customer's VPC to their remote network(s). Valid options are Transit Gateway and Virtual Private Gateway.

VolumeMapping object

Additional Volume Configurations

snapshotID string
volumeEncrypted boolean
volumeIOPS integer
volumeKmsKeyID string
volumeName string
volumeSize integer

gigabytes

Default: 80
volumeThroughput integer
volumeType string

Valid variants are: "gp2" is General Purpose SSD, "gp3" is General Purpose SSD which can be optimised for high throughput (default), "io1" is Provisioned IOPS SSD, "io2" is Provisioned IOPS SSD, "sc1" is Cold HDD, "st1" is Throughput Optimized HDD.

Default: "gp3"
Values: "gp2" "gp3" "io1" "io2" "sc1" "st1"
WellKnownPolicies object

for attaching common IAM policies

autoScaler boolean

adds policies for cluster-autoscaler. See autoscaler AWS docs.

Default: "false"
awsLoadBalancerController boolean

adds policies for using the aws-load-balancer-controller. See Load Balancer docs.

Default: "false"
certManager boolean

adds cert-manager policies. See cert-manager docs.

Default: "false"
ebsCSIController boolean

adds policies for using the ebs-csi-controller. See aws-ebs-csi-driver docs.

Default: "false"
efsCSIController boolean

adds policies for using the efs-csi-controller. See aws-efs-csi-driver docs.

Default: "false"
externalDNS boolean

adds external-dns policies for Amazon Route 53. See external-dns docs.

Default: "false"
imageBuilder boolean

allows for full ECR (Elastic Container Registry) access.

Default: "false"
ZonalShiftConfig object

holds the zonal shift configuration.

enabled boolean

enables or disables zonal shift.

github.com|aws|aws-sdk-go-v2|aws|arn.ARN

captures the individual fields of an Amazon Resource Name. See http://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html for more information.

github.com|aws|aws-sdk-go-v2|service|eks|types.AccessScopeType string
github.com|aws|aws-sdk-go-v2|service|eks|types.AuthenticationMode string
github.com|aws|aws-sdk-go-v2|service|eks|types.ResolveConflicts string
github.com|weaveworks|eksctl|pkg|utils|ipnet.IPNet string

an IP address in CIDR notation

k8s.io|api|core|v1.TaintEffect string

+enum

taintsWrapper NodeGroupTaint[]

handles unmarshalling both map[string]string and []NodeGroupTaint