eks
dasmeta/eks/aws
All terraform modules that are related or supporting EKS setup
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
| Name | Type | Description | Default |
|---|---|---|---|
| vpc | object({ # for linking usi | VPC configuration for eks, we support both cases create new vpc(create field) an | required |
| enable_node_problem_detector | bool | true | |
| portainer_config | object({ host = | Portainer hostname and ingress config. | {} |
| karpenter | object({ enabled | Allows to create/deploy/configure karpenter operator and its resources to have c | {
"enabled": true
} |
| enable_kube_state_metrics | bool | Enable kube-state-metrics | false |
| external_dns | object({ enabled = optiona | Allows to install external-dns helm chart and related roles, which allows to aut | {
"enabled": false
} |
| account_id | string | AWS Account Id to apply changes into | null |
| adot_config | object({ accept_namespace_ | accept_namespace_regex defines the list of namespaces from which metrics will be | {
"accept_namespace_regex": "(default| |
| enable_api_gw_controller | bool | Weather enable API-GW controller or not | false |
| additional_priority_classes | list(object({ name = stri | Defines Priority Classes in Kubernetes, used to assign different levels of prior | [] |
| istio | object({ enabled = optiona | Allows to create/configure Istio with Gateway API in eks cluster. NOTE: IAM role | {} |
| users | list(any) | List of users to open eks cluster api access | [] |
| default_addons | object({ coredns = optiona | Allows to set/override default eks addons(like coredns, kube-proxy and vpc-cni) | {} |
| autoscaling | bool | Weather enable cluster autoscaler for EKS, in case if karpenter enabled this con | true |
| autoscaler_requests | object({ cpu = string | {
"cpu": "100m",
"memory": "600Mi"
} | |
| fluent_bit_configs | object({ enabled | Fluent Bit configs | {
"additional_log_filters": [
"ELB |
| map_roles | list(object({ rolearn = s | Additional IAM roles to add to the aws-auth configmap. | [] |
| bindings | list(object({ group = | Variable which describes group and role binding | [] |
| enable_olm | bool | To install OLM controller (experimental). | false |
| alarms | object({ enabled = o | Creates cloudwatch alarms on ContainerInsights `cluster_failed_node_count` metr | {} |
| linkerd | object({ enabled = opt | Allows to create/configure linkerd in eks cluster | {
"enabled": true
} |
| … and 10 more inputs | |||
regioneks_oidc_root_ca_thumbprint — Grab eks_oidc_root_ca_thumbprint from oidc_provider_arn.cluster_security_group_idcluster_primary_security_group_idcluster_certificate — EKS cluster certificate used for authentication/access in helm/kubectl/kubernetes providerscluster_token — EKS cluster token used for authentication/access in helm/kubectl/kubernetes providersvpc_default_security_group_id — The ID of default security group created for vpcaccount_idexternal_secret_deploymentcluster_iam_role_namevpc_cidr_block — The cidr block of the vpcvpc_id — The newly created vpc idvpc_nat_public_ips — The list of elastic public IPs for vpcrole_arnsnamespaces_and_docker_auth_helm_metadatacert_manager_certificate_names — Map of created cert-manager Certificate resource names by namespace/nameoidc_provider_arncluster_host — EKS cluster host name used for authentication/access in helm/kubectl/kubernetes providersvpc_private_subnets — The newly created vpc private subnets IDs listeks_auth_configmapcert_manager_cluster_issuer_names — Map of ClusterIssuer names created by cert-manager modulecluster_idmap_user_datavpc_public_subnets — The newly created vpc public subnets IDs listrole_arns_without_patheks_moduleAzure 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,