eks
cookpad/eks/aws
A Terraform module to Provision AWS Elastic Kubernetes (EKS) clusters.
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
| Name | Type | Description | Default |
|---|---|---|---|
| vpc_config | object({ vpc_id | The network configuration used by the cluster, If you use the included VPC modul | required |
| name | string | A name for this eks cluster | required |
| endpoint_public_access | bool | Indicates whether or not the Amazon EKS public API server endpoint is enabled. | false |
| cluster_role_arn | string | The ARN of IAM role to be used by the cluster, if not specified a role will be c | "" |
| aws_auth_user_map | list(object({ userarn = s | A list of mappings from aws user arns to kubernetes users, and their groups | [] |
| fargate_namespaces | set(string) | A list of namespaces to create fargate profiles for, should be set to a list of | [
"kube-system",
"flux-system"
] |
| kube_proxy_configuration_values | string | Configuration values passed to the kube-proxy EKS addon. | null |
| endpoint_public_access_cidrs | list(string) | null | |
| iam_policy_name_prefix | string | An optional prefix to any IAM Policies created by this module | "" |
| oidc_root_ca_thumbprints | list(string) | Thumbprint of Root CA for EKS OpenID Connect (OIDC) identity provider, Valid unt | [
"9e99a48a9960b14926bb7f3b02e22da2b0a |
| kms_cmk_arn | string | The ARN of the KMS (CMK) customer master key, to be used for Envelope Encryption | "" |
| legacy_security_groups | bool | Preserves existing security group setup from pre 1.15 clusters, to allow existin | false |
| tags | map(string) | A map of tags to assign to cluster AWS resources | {} |
| security_group_ids | list(string) | A list of security group IDs for the cross-account elastic network interfaces th | [] |
| iam_role_name_prefix | string | An optional prefix to any IAM Roles created by this module | "" |
| aws_auth_role_map | list(object({ rolearn = s | A list of mappings from aws role arns to kubernetes users, and their groups | [] |
| ebs_csi_configuration_values | string | Configuration values passed to the ebs-csi EKS addon. | null |
| cluster_log_types | list(string) | A list of the desired control plane logging to enable. | [
"api",
"audit",
"authenticator", |
| vpc_cni_configuration_values | string | Configuration values passed to the vpc-cni EKS addon. | null |
| coredns_configuration_values | string | Configuration values passed to the coredns EKS addon. | "{ \"computeType\": \"fargate\", \"autoS |
configoidc_configAzure landing zones Terraform module
Terraform supermodule for the Terraform platform engineering for Azure
Terraform module to deploy landing zone subscriptions (and much more) in Azure
Terraform Module to define a consistent naming convention by (namespace, stage,