| eks_cluster_name |
Name of EKS cluster. Used in naming of many EKS resources, including cluster, IAM roles and policies, S3 buckets for Velero, Cortex, Loki, etc. |
string |
n/a |
yes |
| vpc_name |
Name of the VPC to create. Used in VPC resource tags for naming. |
string |
n/a |
yes |
| alarm_lambda_settings |
Alarm lambda function settings. Default settings are provided for slack and teams, but can be overridden here. |
map(object({ source_code_path = string zip_source_filename = string handler = string runtime = string })) |
{} |
no |
| alarm_sns_topics |
List of SNS topics to create for alerting on CloudWatch Synthetics Canaries. All created SNS topics will be supplied to the Synthetics Canary alarms. publish_target_type should specify one of the supported targets, currently slack and teams. |
list(object({ name = string publish_target_type = string webhook_url = string })) |
[] |
no |
| availability_zones |
List of Availability zones with corresponding public and private subnet CIDRs to create subnets in each. Default EKS node groups get created for each availability zone specified. |
list(object({ az_name = string private_subnet_cidr = string public_subnet_cidr = string })) |
[] |
no |
| aws_auth_roles |
Extra roles to add to the mapRoles field in the aws_auth configmap, for granting access via IAM roles |
list(object({ rolearn = string username = string groups = list(string) })) |
[] |
no |
| aws_auth_sso_roles |
Extra SSO roles to add to the mapRoles field. Auto discovers SSO role ARNs based on regex. |
list(object({ sso_role_name = string username = string groups = list(string) })) |
[] |
no |
| aws_auth_users |
Extra users to add to the mapUsers field in the aws_auth configmap, for granting access via IAM users |
list(object({ userarn = string username = string groups = list(string) })) |
[] |
no |
| aws_ebs_csi_driver_namespace |
AWS EBS CSI driver namespace, for configuring IRSA. |
string |
"kube-system" |
no |
| aws_ebs_csi_driver_service_account_name |
AWS EBS CSI driver service account name, for configuring IRSA. |
string |
"ebs-csi-controller-sa" |
no |
| cloudwatch_synthetics_bucket_name_override |
Override the CloudWatch Synthetics bucket name. |
string |
"" |
no |
| cloudwatch_synthetics_canaries |
List of CloudWatch Synthetic Canaries to create. Name is required, all other fields will inherit defaults if set to null. |
list(object({ name = string artifact_s3_location = string handler = string runtime_version = string source_code_path = string environment_variables = map(string) delete_lambda = bool timeout_in_seconds = number schedule_expression = string create_alarm = bool alarm_config = object({ comparison_operator = string evaluation_periods = number period = number statistic = string threshold = number alarm_description = string }) })) |
[] |
no |
| cluster_autoscaler_namespace |
Cluster autoscaler namespace, for configuring IRSA. |
string |
"cluster-autoscaler" |
no |
| cluster_autoscaler_service_account_name |
Cluster autoscaler service account name, for configuring IRSA. |
string |
"cluster-autoscaler" |
no |
| cortex_bucket_name_override |
Override the Cortex bucket name |
string |
"" |
no |
| cortex_namespace |
Cortex namespace, for configuring IRSA. |
string |
"cortex" |
no |
| cortex_service_account_name |
Cortex service account name, for configuring IRSA. |
string |
"cortex" |
no |
| create_cloudwatch_synthetics_bucket |
Whether to create an S3 bucket for CloudWatch Synthetics. |
bool |
false |
no |
| create_cortex_bucket |
Whether to create the Cortex bucket when Cortex dependencies are enabled. Allows for disabling the bucket and still creating the IAM dependencies, for scenarios where the bucket is not managed by terraform such as disaster recovery |
bool |
true |
no |
| create_loki_bucket |
Whether to create the Loki bucket when Loki dependencies are enabled. Allows for disabling the bucket and still creating the IAM dependencies, for scenarios where the bucket is not managed by terraform such as disaster recovery |
bool |
true |
no |
| create_velero_bucket |
Whether to create the Velero bucket when Velero dependencies are enabled. Allows for disabling the bucket and still creating the IAM dependencies, for scenarios where the bucket is not managed by terraform such as disaster recovery |
bool |
true |
no |
| eks_cluster_enabled_log_types |
List of EKS log types to enable. |
list(string) |
[] |
no |
| eks_cluster_endpoint_private_access |
Whether to enable private VPC access to the k8s API. |
bool |
false |
no |
| eks_cluster_endpoint_public_access |
Whether to enable public internet access to the k8s API. |
bool |
true |
no |
| eks_cluster_endpoint_public_access_cidrs |
What CIDRs to allow public access from to the k8s API. |
list(string) |
[ "0.0.0.0/0" ] |
no |
| eks_cluster_version |
Kubernetes version of the EKS cluster. |
string |
"1.22" |
no |
| eks_default_node_groups_initial_desired_size |
Default node groups' initial desired size. Changes to this field are ignored to prevent downscaling during terraform updates. |
number |
1 |
no |
| eks_default_node_groups_instance_types |
EC2 instance types to configure the default node groups with. |
list(string) |
[ "t3.medium" ] |
no |
| eks_default_node_groups_max_size |
Default node groups' maximum size. |
number |
3 |
no |
| eks_default_node_groups_min_size |
Default node groups' minimum size |
number |
1 |
no |
| eks_default_node_groups_version |
Kubernetes version of the EKS cluster's default node groups, allows for upgrading the kubernetes control plane first, then upgrading the node groups separately afterwards. Defaults to the specified eks_cluster_version variable. |
string |
"" |
no |
| enable_aws_ebs_csi_driver_irsa |
Whether to enable the AWS EBS CSI driver IAM role with IRSA. |
bool |
false |
no |
| enable_cortex_dependencies |
Whether to enable Cortex S3 bucket and IAM role with IRSA. |
bool |
false |
no |
| enable_eks_default_node_groups |
Enables creation of a default set of node groups, one per availability zone defined by the availability_zones variable |
bool |
true |
no |
| enable_eks_subnet_tags |
Whether to enable addition of EKS tags to subnet resources. |
bool |
true |
no |
| enable_loki_dependencies |
Whether to enable Loki S3 bucket and IAM role with IRSA. |
bool |
false |
no |
| enable_velero_dependencies |
Whether to enable Velero S3 bucket and IAM role with IRSA. |
bool |
true |
no |
| loki_bucket_name_override |
Override the Loki bucket name |
string |
"" |
no |
| loki_namespace |
Loki namespace, for configuring IRSA. |
string |
"loki" |
no |
| loki_service_account_name |
Loki service account name, for configuring IRSA. |
string |
"loki" |
no |
| manage_aws_auth_configmap |
Whether to manage the aws-auth configmap. Requires configuration of a Kubernetes provider. |
bool |
false |
no |
| tags |
n/a |
map(string) |
{} |
no |
| velero_bucket_name_override |
Override the Velero bucket name |
string |
"" |
no |
| velero_namespace |
Velero namespace, for configuring IRSA. |
string |
"velero" |
no |
| velero_service_account_name |
Velero service account name, for configuring IRSA. |
string |
"velero" |
no |
| vpc_cidr |
VPC CIDR. |
string |
"10.0.0.0/16" |
no |