Skip to content

Files

Latest commit

ad83c2d · Mar 11, 2025

History

History

terraform

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Aug 31, 2023
Aug 30, 2023
Jul 5, 2024
Jul 5, 2024
Jan 29, 2025
Feb 4, 2025
Aug 30, 2023
Jan 5, 2024
Feb 3, 2025
Nov 14, 2024
Nov 14, 2024
Aug 30, 2023
May 1, 2024
Mar 11, 2025
Aug 30, 2023
Aug 30, 2023
Aug 31, 2023
Jan 29, 2025
Apr 29, 2024
Jan 5, 2024
Nov 6, 2024
Jan 29, 2025

Usage

To run this module you need to execute:

$ terraform init
$ terraform plan
$ terraform apply

Requirements

Name Version
terraform >= 1.6.0
aws >= 5.31
tls >= 4.0

Providers

Name Version
aws >= 5.31
tls >= 4.0

Modules

Name Source Version
eks_cluster native-cube/kms/aws ~> 1.0.0
eks_node_group_al2023 native-cube/eks-node-group/aws ~> 1.1.0
eks_vpc_flow_logs native-cube/vpc-flow-logs/aws ~> 2.1.0
vpc_eks terraform-aws-modules/vpc/aws 5.8.1

Resources

Name Type
aws_cloudwatch_event_rule.karpenter_spot_interruption resource
aws_cloudwatch_event_target.karpenter_spot_interruption resource
aws_cloudwatch_log_group.cluster resource
aws_cloudwatch_log_group.cluster_application resource
aws_cloudwatch_log_group.cluster_dataplane resource
aws_cloudwatch_log_group.cluster_host resource
aws_cloudwatch_log_group.cluster_performance resource
aws_eks_addon.adot resource
aws_eks_addon.aws_ebs_csi_driver resource
aws_eks_addon.cloudwatch resource
aws_eks_addon.core_dns resource
aws_eks_addon.guardduty resource
aws_eks_addon.identity_agent resource
aws_eks_addon.kube_proxy resource
aws_eks_addon.kubecost resource
aws_eks_addon.snapshot_controller resource
aws_eks_cluster.cluster resource
aws_iam_instance_profile.eks_node_karpenter resource
aws_iam_openid_connect_provider.cluster resource
aws_iam_role.adot_collector resource
aws_iam_role.cert_manager resource
aws_iam_role.cluster resource
aws_iam_role.ebs_csi_controller_sa resource
aws_iam_role.eks_node_group resource
aws_iam_role.eks_node_karpenter resource
aws_iam_role.external_dns resource
aws_iam_role.karpenter_controller resource
aws_iam_role.load_balancer_controller resource
aws_iam_role_policy.cert_manager resource
aws_iam_role_policy.external_dns resource
aws_iam_role_policy.karpenter_controller resource
aws_iam_role_policy.load_balancer_controller resource
aws_launch_template.cluster_al2023 resource
aws_security_group.core_dns resource
aws_security_group.eks_vpc_endpoint resource
aws_security_group.eks_vpc_endpoint_guardduty resource
aws_security_group.node resource
aws_security_group_rule.eks_vpc_endpoint_egress resource
aws_security_group_rule.eks_vpc_endpoint_self_ingress resource
aws_sqs_queue.karpenter_spot_interruption resource
aws_sqs_queue_policy.karpenter_spot_interruption resource
aws_vpc_endpoint.eks_vpc_aps_workspaces resource
aws_vpc_endpoint.eks_vpc_ecr_dkr resource
aws_vpc_endpoint.eks_vpc_guardduty resource
aws_vpc_endpoint.eks_vpc_s3 resource
aws_vpc_endpoint.eks_vpc_sts resource
aws_vpc_security_group_egress_rule.cluster_to_karpenter_nodes resource
aws_vpc_security_group_egress_rule.core_dns_tcp resource
aws_vpc_security_group_egress_rule.core_dns_udp resource
aws_vpc_security_group_egress_rule.node_to_cluster resource
aws_vpc_security_group_egress_rule.node_to_internet resource
aws_vpc_security_group_ingress_rule.all_allow_access_from_control_plane resource
aws_vpc_security_group_ingress_rule.all_allow_access_from_control_plane_to_core_dns resource
aws_vpc_security_group_ingress_rule.all_allow_access_from_karpenter_nodes_to_core_dns resource
aws_vpc_security_group_ingress_rule.allow_ingress_from_coredns_to_cluster_nodes resource
aws_vpc_security_group_ingress_rule.allow_ingress_from_coredns_to_karpenter_nodes resource
aws_vpc_security_group_ingress_rule.cluster_to_nodes resource
aws_vpc_security_group_ingress_rule.cluster_to_vpc_endpoints resource
aws_vpc_security_group_ingress_rule.eks_vpc_guardduty resource
aws_vpc_security_group_ingress_rule.node_to_vpc_endpoints resource
aws_vpc_security_group_ingress_rule.self resource
aws_caller_identity.current data source
aws_iam_policy_document.cert_manager data source
aws_iam_policy_document.cluster_role_assume_role_policy data source
aws_iam_policy_document.eks_node_custom_inline_policy data source
aws_iam_policy_document.eks_node_group_assume_role_policy data source
aws_iam_policy_document.eks_node_karpenter_assume_role_policy data source
aws_iam_policy_document.eks_vpc_aps_workspaces data source
aws_iam_policy_document.eks_vpc_guardduty data source
aws_iam_policy_document.external_dns data source
aws_iam_policy_document.karpenter_controller data source
aws_iam_policy_document.karpenter_spot_interruption data source
aws_iam_policy_document.kms_policy_cluster data source
aws_iam_policy_document.load_balancer_controller data source
aws_partition.current data source
aws_region.current data source
aws_ssm_parameter.eks_al2023 data source
aws_ssm_parameter.eks_optimized_ami_id data source
aws_vpc_endpoint_service.aps_workspaces data source
aws_vpc_endpoint_service.ecr_dkr data source
aws_vpc_endpoint_service.guardduty data source
aws_vpc_endpoint_service.s3 data source
aws_vpc_endpoint_service.sts data source
tls_certificate.cluster data source

Inputs

Name Description Type Default Required
azs A list of availability zones names or ids in the region list(string) [] no
ebs_delete_on_termination Whether the volume should be destroyed on instance termination. bool true no
ebs_encrypted Enables EBS encryption on the volume. bool true no
ebs_volume_size The size of the volume in gigabytes. number 100 no
ebs_volume_type The volume type. string "gp3" no
eks_addon_version_adot ADOT EKS addon version. string null no
eks_addon_version_cloudwatch Cloudwatch EKS addon version. string null no
eks_addon_version_core_dns Core DNS managed EKS addon version. string null no
eks_addon_version_ebs_csi_driver AWS ebs csi driver managed EKS addon version. string null no
eks_addon_version_guardduty Guardduty agent EKS addon version. string null no
eks_addon_version_identity_agent Pod Identity Agent EKS addon version. string null no
eks_addon_version_kube_proxy Kube proxy managed EKS addon version. string null no
eks_addon_version_kubecost KubeCost EKS addon version. string null no
eks_addon_version_snapshot_controller CSI Snapshot Controller EKS addon version. string null no
eks_enabled_log_types List of the desired control plane logging to enable. list(string) [] no
eks_endpoint_private_access Whether the Amazon EKS private API server endpoint is enabled. bool true no
eks_endpoint_public_access Whether the Amazon EKS public API server endpoint is enabled. bool true no
eks_public_access_cidrs List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. list(string)
[
"0.0.0.0/0"
]
no
eks_security_group_ids List of security group IDs for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. list(string) [] no
eks_service_ipv4_cidr The CIDR block to assign Kubernetes service IP addresses from. string null no
eks_version EKS controlplane version. string n/a yes
instance_types List of instance types associated with the EKS Node Group. list(string)
[
"m6i.large"
]
no
name_prefix Name prefix used across resources created by this module. string n/a yes
private_subnets_cidrs Classless Inter-Domain Routing ranges for private subnets. list(string) n/a yes
public_subnets_cidrs Classless Inter-Domain Routing ranges for public subnets. list(string) n/a yes
vpc_cidr Amazon Virtual Private Cloud Classless Inter-Domain Routing range. string n/a yes

Outputs

Name Description
eks_arn EKS cluster ARN.
eks_id EKS cluster name.
eks_network_config EKS cluster network configuration.
private_subnet_ids Private subnet IDs.
public_subnet_ids Public subnet IDs.
vpc_id VPC ID.

License

See LICENSE file for full details.

Maintainers

Pre-commit hooks

Install dependencies

Generate terraform-docs

terraform-docs markdown table --output-file README.md --output-mode inject .

MacOS

brew install pre-commit terraform-docs tflint

brew tap git-chglog/git-chglog
brew install git-chglog