eks

cookpad/eks/aws

Terraform Module HCL AWS

A Terraform module to Provision AWS Elastic Kubernetes (EKS) clusters.

Install
module "eks" {
source = "cookpad/eks/aws"
version = "1.35.0"
}
⭐ Source on GitHub 📦 Registry page
README

Terraform EKS Module !.github/workflows/ci.yml This repo contains a set of Terraform modules that can be used to provision an Elastic Kubernetes (EKS) cluster on AWS. This module provides a way to provision an EKS cluster based on the current best practices employed at Cookpad. Using this module To provision an EKS cluster you need (as a minimum) to specify a name, and the details of the VPC network you will create it in. ``hcl module "cluster" { source = "cookpad/eks/aws" version = "~> 1.34" name = "hal-9000" vpc_config = { vpc_id = "vpc-345abc" public_subnet_ids = { use-east-1a = subnet-000af1234 use-east-1b = subnet-123ae3456 use-east-1c = subnet-456ab6789 } private_subnet_ids = { use-east-1a = subnet-123af1234 use-east-1b = subnet-456bc3456 use-east-1c = subnet-789fe6789 } } } provider

Inputs (20)
NameTypeDescriptionDefault
vpc_configobject({ vpc_id The network configuration used by the cluster, If you use the included VPC modul required
namestringA name for this eks cluster required
endpoint_public_accessboolIndicates whether or not the Amazon EKS public API server endpoint is enabled.false
cluster_role_arnstringThe ARN of IAM role to be used by the cluster, if not specified a role will be c""
aws_auth_user_maplist(object({ userarn = sA list of mappings from aws user arns to kubernetes users, and their groups[]
fargate_namespacesset(string)A list of namespaces to create fargate profiles for, should be set to a list of [ "kube-system", "flux-system" ]
kube_proxy_configuration_valuesstringConfiguration values passed to the kube-proxy EKS addon.null
endpoint_public_access_cidrslist(string)null
iam_policy_name_prefixstringAn optional prefix to any IAM Policies created by this module""
oidc_root_ca_thumbprintslist(string)Thumbprint of Root CA for EKS OpenID Connect (OIDC) identity provider, Valid unt[ "9e99a48a9960b14926bb7f3b02e22da2b0a
kms_cmk_arnstringThe ARN of the KMS (CMK) customer master key, to be used for Envelope Encryption""
legacy_security_groupsboolPreserves existing security group setup from pre 1.15 clusters, to allow existinfalse
tagsmap(string)A map of tags to assign to cluster AWS resources{}
security_group_idslist(string)A list of security group IDs for the cross-account elastic network interfaces th[]
iam_role_name_prefixstringAn optional prefix to any IAM Roles created by this module""
aws_auth_role_maplist(object({ rolearn = sA list of mappings from aws role arns to kubernetes users, and their groups[]
ebs_csi_configuration_valuesstringConfiguration values passed to the ebs-csi EKS addon.null
cluster_log_typeslist(string)A list of the desired control plane logging to enable.[ "api", "audit", "authenticator",
vpc_cni_configuration_valuesstringConfiguration values passed to the vpc-cni EKS addon.null
coredns_configuration_valuesstringConfiguration values passed to the coredns EKS addon."{ \"computeType\": \"fargate\", \"autoS
Outputs (2)
config
oidc_config
Resources (12)
aws_cloudwatch_log_groupaws_eks_addonaws_eks_clusteraws_eks_fargate_profileaws_iam_openid_connect_provideraws_iam_roleaws_iam_role_policyaws_iam_role_policy_attachmentaws_kms_keyaws_security_groupkubernetes_config_mapkubernetes_config_map_v1_data
Details
FrameworkTerraform Module
LanguageHCL
Version1.35.0
Cloud AWS
★ Stars70
Forks42
Total downloads33.4k
Inputs20
Outputs2
Resources12
Examples2
Submodules2
LicenseApache-2.0
Namespacecookpad
Updated