Inputs

The following input variables are supported:

bootstrap_cluster_creator_admin_privileges

Description: Whether to give cluster admin privileges to the cluster creator implicitly. Cannot be changed after cluster creation. For backwards compatibility purposes only.

Type: bool

Default: false

bootstrap_mode_enabled

Description: Whether the cluster is being bootstrapped and does not yet have the autoscaler enabled.

Type: bool

Default: false

cluster_description

Description: The purpose of the EKS cluster.

Type: string

Default: n/a

cluster_name

Description: The name of the EKS cluster resource.

Type: string

Default: n/a

control_plane_logging

Description: Which log streams to turn on for the control plane (will be sent to Cloudwatch and forwarded to DataDog)

Type: set(string)

Default: []

control_plane_subnets

Description: List of subnet names for the control plane. Must be in at least two different availability zones.

Type: set(string)

Default: []

dns_service_ip

Description: The IP address of the cluster’s DNS service. Must be inside the service_cidr range.

Type: string

Default: "172.20.0.10"

enable_public_access

Description: Whether the cluster control plane should be available from the public internet.

Type: bool

Default: true

extended_support_enabled

Description: Whether to enable extended support for EOL Kubernetes versions.

Type: bool

Default: true

extra_admin_principal_arns

Description: Grants read-write access to most resources (not included top-level cluster configuration) to the indicated principals.

Type: list(string)

Default: []

extra_reader_principal_arns

Description: Grants read access to all resources (including secrets) to the indicated principals.

Type: list(string)

Default: []

extra_restricted_reader_principal_arns

Description: Grants read access to all resources (not including secrets) to the indicated principals.

Type: list(string)

Default: []

extra_superuser_principal_arns

Description: Grants read-write access to all resources to the indicated principals.

Type: list(string)

Default: []

kube_version

Description: Desired Kubernetes version to use for all subsystems. Use only major and minor specifiers as patches will be automatically applied.

Type: string

Default: "1.33"

node_ami_name

Description: The name of the AMI to use for the controller nodes.

Type: string

Default: "bottlerocket-aws-k8s-1.33-aarch64-v1.57.0-beaadc52"

node_ebs_volume_size_gb

Description: The size of the EBS volume in GiB to use for each node.

Type: number

Default: 40

node_security_groups

Description: Names of security groups allowed to communicate directly with the cluster nodes.

Type: set(string)

Default: []

node_subnets

Description: List of names for subnets that controller nodes should be deployed to

Type: list(string)

Default: n/a

public_access_cidrs

Description: IP address ranges that can access the public control plane API endpoint.

Type: set(string)

Default:

[
"0.0.0.0/0"
]

root_user_access_entry_enabled

Description: Whether to enable the root user access entry

Type: bool

Default: true

service_cidr

Description: CIDR block that kubernetes will use for assigning service and pod ID addresses.

Type: string

Default: "172.20.0.0/16"

spot_nodes_enabled

Description: Whether to create spot instances instead of on-demand instances

Type: bool

Default: true

vpc_id

Description: The id for the VPC that the cluster should be deployed into

Type: string

Default: n/a

Outputs

The following outputs are exported:

cluster_ca_data

Description: The CA certificate for the Kubernetes API server

cluster_name

Description: The name of the EKS cluster

cluster_region

Description: The AWS region to which the EKS cluster is deployed

cluster_url

Description: The URL for the Kubernetes API server

dns_service_ip

Description: The IP address of the cluster’s DNS service.

node_instance_profile

Description: The instance profile assigned to controller nodes

node_role_arn

Description: The ARN of the role assigned to controller nodes

node_security_group_id

Description: ID of the security group assigned to controller nodes

user_data

Description: The user data file provided to the controller nodes

Providers

The following providers are needed by this module: