Skip to content

Latest commit

 

History

History
81 lines (70 loc) · 8.96 KB

File metadata and controls

81 lines (70 loc) · 8.96 KB

Requirements

Name Version
terraform >= 1.0
aws >= 5.0.0

Providers

Name Version
aws 5.57.0

Modules

Name Source Version
ecr terraform-aws-modules/ecr/aws 2.3.0
eks_cluster ../../modules/eks n/a
label cloudposse/label/null 0.25.0

Resources

Name Type
aws_eks_access_entry.access_entries resource
aws_eks_access_policy_association.access_policies_associations resource
aws_iam_policy.ebs_csi_policy resource
aws_iam_policy.eks_policies resource
aws_iam_role.eks_roles resource
aws_iam_role_policy_attachment.attach_ebs_csi_policy resource
aws_iam_role_policy_attachment.attach_policies resource
aws_caller_identity.current data source
aws_iam_policy_document.eks_policies data source
aws_iam_session_context.current data source
aws_security_group.app_security_group data source
aws_security_group.bastion_security_group data source
aws_security_group.default data source
aws_ssm_parameter.app_security_group data source
aws_ssm_parameter.private_subnets data source
aws_ssm_parameter.public_subnets data source
aws_ssm_parameter.vpc_id data source
aws_vpc.vpc data source

Inputs

Name Description Type Default Required
addons List of addons to be installed in the EKS cluster
list(object({
addon_name = string
addon_version = string
resolve_conflicts_on_create = optional(string)
resolve_conflicts_on_update = optional(string)
service_account_role_arn = optional(string)
}))
[] no
bastion_security_group_name The name of the bastion security group string n/a yes
cluster_encryption_config_enabled Enable cluster encryption configuration bool false no
cluster_encryption_config_kms_key_deletion_window_in_days KMS key deletion window in days for cluster encryption number 10 no
cluster_encryption_config_kms_key_enable_key_rotation Enable KMS key rotation for cluster encryption bool true no
cluster_encryption_config_kms_key_id KMS Key ID for cluster encryption configuration string "" no
cluster_encryption_config_kms_key_policy KMS key policy for cluster encryption string "" no
cluster_encryption_config_resources Resources to encrypt for cluster encryption list(string)
[
"secrets"
]
no
cluster_log_retention_period Number of days to retain cluster logs number 0 no
core_networking_ssm_parameter_prefix The SSM parameter prefix for core networking parameters string n/a yes
ecr_repositories List of ECR repositories to create
map(object({
repository_image_tag_mutability = optional(string)
}))
n/a yes
enabled_cluster_log_types List of control plane log types to enable list(string) [] no
environment Environment, e.g. 'prod', 'staging', 'dev', 'pre-prod', 'UAT' string "development" no
kubernetes_version The Kubernetes version for the EKS cluster string "1.21" no
name Name to use for servers, tags, etc string "name" no
namespace Namespace, which could be your organization name or abbreviation, e.g. 'eg' or 'cp' string "development" no
namespaces List of namespaces to create access entries list(string) [] no
node_groups List of node groups to create in the EKS cluster
list(object({
instance_types = list(string)
min_size = number
max_size = number
desired_size = number
health_check_type = string
ami_image_id = optional(string)
start_stop_schedule_enabled = optional(bool)
start_schedule_recurrence_cron = optional(string)
stop_schedule_recurrence_cron = optional(string)
kubernetes_labels = optional(map(string))
tags = optional(map(string))
}))
[] no
oidc_provider_enabled Enable OIDC provider bool true no
private_ipv6_enabled Enable IPv6 for Kubernetes network bool false no
region AWS region string "us-west-2" no
stage Stage, e.g. 'build', 'test', 'deploy', 'release' string null no
tags Any extra tags to assign to objects map(any) {} no

Outputs

Name Description
ecr_repository_urls List of ECR repository URLs
eks_cluster_endpoint The endpoint for the EKS cluster
eks_cluster_id The ID of the EKS cluster