| allow_imdsv1 |
Whether to allow IMDSv1 access (insecure). |
bool |
false |
no |
| ami_owners |
The list of acceptable owners of AMIs to be used for worker nodes. |
list(string) |
[ "099720109477", "679593333241", "amazon", "self" ] |
no |
| aws_ebs_csi_driver_oidc_fully_qualified_subjects |
The list of trusted resources which can assume the 'aws-ebs-csi-driver' role using OpenID Connect. |
list(string) |
[] |
no |
| aws_load_balancer_controller_oidc_fully_qualified_subjects |
The list of trusted resources which can assume the 'aws-load-balancer-controller' role using OpenID Connect. |
list(string) |
[] |
no |
| cert_manager_oidc_fully_qualified_subjects |
The list of trusted resources which can assume the 'cert-manager' role using OpenID Connect. |
list(string) |
[] |
no |
| cluster_addons |
Map of cluster addon configurations. |
any |
null |
no |
| cluster_autoscaler_oidc_fully_qualified_subjects |
The list of trusted resources which can assume the 'cluster-autoscaler' role using OpenID Connect. |
list(string) |
[] |
no |
| cluster_service_ipv4_cidr |
The CIDR block to assign Kubernetes service IP addresses from. |
string |
null |
no |
| control_plane_subnet_ids |
Can be used to override the list of subnet IDs to use for the EKS control-plane. If not defined, subnets tagged with 'eks-control-plane: true' will be used. |
list(string) |
[] |
no |
| create_iam_role |
Whether to create an IAM role for the EKS cluster. If set to false, the 'eks_cluster_role_arn' variable must be provided. |
bool |
true |
no |
| create_node_iam_role |
Whether to create an IAM role for the EKS worker nodes. If set to false, the 'node_iam_role_arn' variable must be provided. |
bool |
true |
no |
| echo_server_instance_enabled |
Whether to create an EC2 instance outside the cluster that can act as 'echo-server'. |
bool |
false |
no |
| echo_server_instance_user_data |
The user data script to use for the 'echo-server' instance. |
string |
"" |
no |
| external_dns_oidc_fully_qualified_subjects |
The list of trusted resources which can assume the 'external-dns' role using OpenID Connect. |
list(string) |
[] |
no |
| external_source_cidrs |
A list of CIDRs that should be allowed to access the EKS cluster API server. |
list(string) |
[ "" ] |
no |
| iam_role_arn |
The ARN of the IAM role to use for the EKS cluster. If not provided, a new IAM role will be created. |
string |
null |
no |
| include_public_subnets |
Whether to include public subnets in the list of subnets usable by the EKS cluster. |
bool |
true |
no |
| kubernetes_version |
The version of Kubernetes/EKS to use. |
string |
n/a |
yes |
| log_shipping_bucket_name |
The name of the S3 bucket that will be used to store logs. |
string |
"" |
no |
| log_shipping_oidc_fully_qualified_subjects |
The list of trusted resources which can assume the 'log-shipping' role using OpenID Connect. |
list(string) |
[] |
no |
| name |
The name of the EKS cluster. |
string |
n/a |
yes |
| phlare_bucket_name |
The name of the S3 bucket that will be used by Phlare |
string |
"" |
no |
| phlare_oidc_fully_qualified_subjects |
The list of trusted resources which can assume the 'phlare' role using OpenID Connect. |
list(string) |
[] |
no |
| region |
The region in which to create the EKS cluster. |
string |
n/a |
yes |
| self_managed_node_groups |
A map describing the set of self-managed node groups to create. Other types of node groups besides self-managed are currently not supported. |
map(object({ ami_type = string ami_name_filter = string extra_tags = map(string) instance_type = string kubelet_extra_args = string max_nodes = number min_nodes = number name = string pre_bootstrap_user_data = string post_bootstrap_user_data = string cloudinit_pre_nodeadm = optional(list(object({ content = string content_type = optional(string) filename = optional(string) merge_type = optional(string) }))) cloudinit_post_nodeadm = optional(list(object({ content = string content_type = optional(string) filename = optional(string) merge_type = optional(string) }))) root_volume_id = string root_volume_size = number root_volume_type = string subnet_ids = list(string) iam_role_additional_policies = map(string) iam_role_policy_arn = optional(string) create_iam_instance_profile = optional(bool) iam_instance_profile_arn = optional(string) iam_role_arn = optional(string) key_name = optional(string) create_access_entry = optional(bool, true) availability_zones = optional(list(string)) enable_efa_support = optional(bool, false) network_interfaces = optional(list(any)) metadata_options = optional( object({ http_endpoint = optional(string, "enabled") http_protocol_ipv6 = optional(string) http_put_response_hop_limit = optional(number, 2) http_tokens = optional(string, "required") instance_metadata_tags = optional(string) }), { http_endpoint = "enabled" http_put_response_hop_limit = 2 http_tokens = "required" } ) })) |
n/a |
yes |
| tags |
The set of tags to place on the EKS cluster. |
map(string) |
n/a |
yes |
| velero_bucket_name |
The name of the S3 bucket that will be used to upload Velero backups. |
string |
"" |
no |
| velero_oidc_fully_qualified_subjects |
The list of trusted resources which can assume the 'velero' role using OpenID Connect. |
list(string) |
[] |
no |
| vpc_id |
The ID of the VPC in which to create the EKS cluster. |
string |
n/a |
yes |
| worker_node_additional_policies |
A list of additional policies to add to worker nodes. |
list(string) |
[] |
no |