additional_tags |
Additional tags to include |
map(string) |
{} |
no |
create_aws_auth_configmap |
Should Terraform create aws_auth ConfigMap used for setting up cluster access |
bool |
false |
no |
create_vpc |
Specifies if new VPC be created, if not vpc_id and subnet_ids variables need to be provided |
bool |
true |
no |
eks_additional_cluster_addons |
Map of additional cluster addon configurations to enable for the cluster. |
any |
{} |
no |
eks_cluster_auth_role |
AWS roles with access permission to EKS cluster |
list(object({ rolearn : string username : string groups = list(string) })) |
[] |
no |
eks_cluster_auth_user |
AWS users with access permission to EKS cluster |
list(object({ userarn : string username : string groups = list(string) })) |
[] |
no |
eks_cluster_endpoint_access |
EKS managed node group default configurations |
object({ enable_public_access : bool enable_private_access : bool }) |
{ "enable_private_access": false, "enable_public_access": true } |
no |
eks_cluster_fargate_profiles |
EKS Fargate profile object |
map(object({})) |
{} |
no |
eks_cluster_log_types |
A list of the desired control plane logs to enable |
list(string) |
[ "api", "audit", "authenticator" ] |
no |
eks_cluster_name |
Name of the Kubernetes cluster |
string |
"eks-cluster" |
no |
eks_cluster_node_groups |
EKS managed additional node group |
any |
{} |
no |
eks_cluster_node_groups_default_configuration |
EKS managed node group default configurations |
any |
{ "attach_cluster_primary_security_group": true, "desired_size": 3, "disk_size": 40, "instance_types": [ "m5.large" ], "labels": { "node-group": "default" }, "max_size": 5, "min_size": 1 } |
no |
eks_cluster_version |
Kubernetes cluster version |
string |
"1.26" |
no |
eks_create |
Specifies if actually create the EKS cluster |
bool |
true |
no |
eks_default_cluster_addons |
Map of default cluster addon configurations to enable for the cluster. |
any |
{ "coredns": { "most_recent": true, "preserve": true, "resolve_conflicts": "OVERWRITE" }, "kube-proxy": { "most_recent": true, "preserve": true, "resolve_conflicts": "OVERWRITE" }, "vpc-cni": { "most_recent": true, "preserve": true, "resolve_conflicts": "OVERWRITE" } } |
no |
eks_enable_secret_encryption |
Should KMS key to encrypt kubernetes secrets be generated |
bool |
true |
no |
eks_node_security_group_tags |
Map of tags for eks node sg |
map(string) |
{} |
no |
eks_single_az |
Specifies if all node's should be deployed in the same AZ |
bool |
false |
no |
eks_storage_classes |
EBS storage class with custom parameters |
list(object({ name = string storage_class_provisioner = string parameters = optional(map(string)) volume_binding_mode = optional(string) reclaim_policy = optional(string)
} )) |
[] |
no |
enable_bastion |
True if bastion host should be created |
bool |
false |
no |
enable_ebs_csi_driver |
Specifies if enable the EBS/CSI driver |
bool |
true |
no |
environment |
Environment name |
string |
n/a |
yes |
logs_retention_days |
Log retention in days |
number |
14 |
no |
manage_aws_auth_configmap |
Should Terraform manage aws_auth ConfigMap used for setting up cluster access |
bool |
true |
no |
org |
Organization name - part of other resource names |
string |
"terraform" |
no |
private_subnet_ids |
List of IDs of existing private subnets, only used when create_vpc is set to false |
list(string) |
[] |
no |
public_subnet_ids |
List of IDs of existing public subnets, only used when create_vpc is set to false |
list(string) |
[] |
no |
region |
n/a |
string |
"eu-central-1" |
no |
vpc_cidr |
VPC CIDR address |
string |
"10.0.0.0/16" |
no |
vpc_id |
ID of existing VPC, only used when create_vpc is set to false |
string |
"" |
no |
vpc_nat_setting |
Enable NAT Gateway |
object({ enable_nat_gateway : bool multi_az_nat_gateway : bool }) |
{ "enable_nat_gateway": true, "multi_az_nat_gateway": false } |
no |