eks

dasmeta/eks/aws

Terraform Module HCL AWS

All terraform modules that are related or supporting EKS setup

Install
module "eks" {
source = "dasmeta/eks/aws"
version = "2.25.1"
}
plain text: /constructs/tfmod-dasmeta-eks-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

Why To spin up complete eks with all necessary components. Those include: - vpc (NOTE: the vpc submodule moved into separate repo https://github.com/dasmeta/terraform-aws-vpc) - eks cluster - alb ingress controller - fluentbit - external secrets - metrics to cloudwatch - karpenter - keda - linkerd - flagger - external-dns - event-exporter Upgrading guide: - from version >= 2.25.0, some manual actions are required. This version adds Karpenter support for GPU instance types. If you are using resource\_configs\_defaults, you now need to move it under resource\_configs\_defaults.default. - from =2.19.0 version needs some manual actions as we upgraded underlying eks module from 18.x.x to 20.x.x, here you can find needed actions/changes docs and ready scripts which can be used: docs: https://git

Inputs (50)
NameTypeDescriptionDefault
vpcobject({ # for linking usiVPC configuration for eks, we support both cases create new vpc(create field) an required
enable_node_problem_detectorbooltrue
portainer_configobject({ host = Portainer hostname and ingress config.{}
karpenterobject({ enabled Allows to create/deploy/configure karpenter operator and its resources to have c{ "enabled": true }
enable_kube_state_metricsboolEnable kube-state-metricsfalse
external_dnsobject({ enabled = optionaAllows to install external-dns helm chart and related roles, which allows to aut{ "enabled": false }
account_idstringAWS Account Id to apply changes intonull
adot_configobject({ accept_namespace_accept_namespace_regex defines the list of namespaces from which metrics will be{ "accept_namespace_regex": "(default|
enable_api_gw_controllerboolWeather enable API-GW controller or notfalse
additional_priority_classeslist(object({ name = striDefines Priority Classes in Kubernetes, used to assign different levels of prior[]
istioobject({ enabled = optionaAllows to create/configure Istio with Gateway API in eks cluster. NOTE: IAM role{}
userslist(any)List of users to open eks cluster api access[]
default_addonsobject({ coredns = optionaAllows to set/override default eks addons(like coredns, kube-proxy and vpc-cni) {}
autoscalingboolWeather enable cluster autoscaler for EKS, in case if karpenter enabled this contrue
autoscaler_requestsobject({ cpu = string { "cpu": "100m", "memory": "600Mi" }
fluent_bit_configsobject({ enabled Fluent Bit configs{ "additional_log_filters": [ "ELB
map_roleslist(object({ rolearn = sAdditional IAM roles to add to the aws-auth configmap.[]
bindingslist(object({ group = Variable which describes group and role binding[]
enable_olmboolTo install OLM controller (experimental).false
alarmsobject({ enabled = oCreates cloudwatch alarms on ContainerInsights `cluster_failed_node_count` metr{}
linkerdobject({ enabled = optAllows to create/configure linkerd in eks cluster{ "enabled": true }
… and 10 more inputs
Outputs (26)
region
eks_oidc_root_ca_thumbprint — Grab eks_oidc_root_ca_thumbprint from oidc_provider_arn.
cluster_security_group_id
cluster_primary_security_group_id
cluster_certificate — EKS cluster certificate used for authentication/access in helm/kubectl/kubernetes providers
cluster_token — EKS cluster token used for authentication/access in helm/kubectl/kubernetes providers
vpc_default_security_group_id — The ID of default security group created for vpc
account_id
external_secret_deployment
cluster_iam_role_name
vpc_cidr_block — The cidr block of the vpc
vpc_id — The newly created vpc id
vpc_nat_public_ips — The list of elastic public IPs for vpc
role_arns
namespaces_and_docker_auth_helm_metadata
cert_manager_certificate_names — Map of created cert-manager Certificate resource names by namespace/name
oidc_provider_arn
cluster_host — EKS cluster host name used for authentication/access in helm/kubectl/kubernetes providers
vpc_private_subnets — The newly created vpc private subnets IDs list
eks_auth_configmap
cert_manager_cluster_issuer_names — Map of ClusterIssuer names created by cert-manager module
cluster_id
map_user_data
vpc_public_subnets — The newly created vpc public subnets IDs list
role_arns_without_path
eks_module
Resources (2)
helm_releasekubernetes_namespace
Details
FrameworkTerraform Module
LanguageHCL
Version2.25.1
Cloud AWS
★ Stars14
Forks9
Total downloads32.9k
Inputs50
Outputs26
Resources2
Examples26
Submodules33
LicenseApache-2.0
Namespacedasmeta
Updated