{"id":18947274,"url":"https://github.com/sparkfabrik/terraform-aws-eks-bootstrap","last_synced_at":"2026-05-07T07:39:16.957Z","repository":{"id":160350148,"uuid":"630017498","full_name":"sparkfabrik/terraform-aws-eks-bootstrap","owner":"sparkfabrik","description":"This module bootstraps a new EKS cluster with a basic configuration.","archived":false,"fork":false,"pushed_at":"2025-02-06T15:21:01.000Z","size":199,"stargazers_count":1,"open_issues_count":12,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-02-15T10:04:00.789Z","etag":null,"topics":["aws","eks","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sparkfabrik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-19T13:49:46.000Z","updated_at":"2025-02-06T15:20:13.000Z","dependencies_parsed_at":"2024-05-30T05:03:47.473Z","dependency_job_id":"67657476-d9a7-445f-8a06-466e17122771","html_url":"https://github.com/sparkfabrik/terraform-aws-eks-bootstrap","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfabrik%2Fterraform-aws-eks-bootstrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfabrik%2Fterraform-aws-eks-bootstrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfabrik%2Fterraform-aws-eks-bootstrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sparkfabrik%2Fterraform-aws-eks-bootstrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sparkfabrik","download_url":"https://codeload.github.com/sparkfabrik/terraform-aws-eks-bootstrap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239946875,"owners_count":19723014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","eks","kubernetes"],"created_at":"2024-11-08T13:09:27.378Z","updated_at":"2026-05-07T07:39:16.930Z","avatar_url":"https://github.com/sparkfabrik.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Terraform aws eks bootstrap\n\nBootstrap module for AWS EKS cluster.\n\n## Known Issues\n\nDue to issue on [amazon-cloudwatch-observability](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-setup-EKS-addon.html) EKS addon, the fluent-bit and the CloudWatch Agent are not deployed on tainted nodes.\n\nThe feature is in \"Proposed\" state https://github.com/aws/containers-roadmap/issues/2195.\n\nUltil the feature is released, you must manually add tolerations in the AmazonCloudWatchAgent CRD and fluent-bit daemonset resources.\n\nYou can find the patch files in the `eks-add-ons-patches` directory. You can apply the patches using the `kubectl` as follows:\n\n```bash\n# Patch the FluentBit DaemonSet\nkubectl -n amazon-cloudwatch patch daemonset fluent-bit --type merge --patch-file eks-add-ons-patches/fluent-bit.yaml\n# Patch the AmazonCloudWatchAgent resource (which produces the cloudwatch-agent daemonset)\nkubectl -n amazon-cloudwatch patch AmazonCloudWatchAgent cloudwatch-agent --type merge --patch-file eks-add-ons-patches/cloudwatch-agent.yaml\n```\n\nThe patches will add the special toleration to the resources, allowing them to be scheduled on tainted nodes, as described [here](https://k8s-docs.netlify.app/en/docs/concepts/configuration/taint-and-toleration/#concepts):\n\n\u003e An empty key with operator Exists matches all keys, values and effects which means this will tolerate everything.\n\n\u003c!-- BEGIN_TF_DOCS --\u003e\n## Providers\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"provider_aws\"\u003e\u003c/a\u003e [aws](#provider\\_aws) | \u003e= 4.63 |\n| \u003ca name=\"provider_helm\"\u003e\u003c/a\u003e [helm](#provider\\_helm) | \u003e= 2.9 |\n| \u003ca name=\"provider_kubectl\"\u003e\u003c/a\u003e [kubectl](#provider\\_kubectl) | \u003e= 1.14 |\n| \u003ca name=\"provider_kubernetes\"\u003e\u003c/a\u003e [kubernetes](#provider\\_kubernetes) | \u003e= 2.26 |\n| \u003ca name=\"provider_random\"\u003e\u003c/a\u003e [random](#provider\\_random) | \u003e= 3.5 |\n## Requirements\n\n| Name | Version |\n|------|---------|\n| \u003ca name=\"requirement_terraform\"\u003e\u003c/a\u003e [terraform](#requirement\\_terraform) | \u003e= 1.0 |\n| \u003ca name=\"requirement_aws\"\u003e\u003c/a\u003e [aws](#requirement\\_aws) | \u003e= 4.63 |\n| \u003ca name=\"requirement_helm\"\u003e\u003c/a\u003e [helm](#requirement\\_helm) | \u003e= 2.9 |\n| \u003ca name=\"requirement_kubectl\"\u003e\u003c/a\u003e [kubectl](#requirement\\_kubectl) | \u003e= 1.14 |\n| \u003ca name=\"requirement_kubernetes\"\u003e\u003c/a\u003e [kubernetes](#requirement\\_kubernetes) | \u003e= 2.26 |\n| \u003ca name=\"requirement_random\"\u003e\u003c/a\u003e [random](#requirement\\_random) | \u003e= 3.5 |\n| \u003ca name=\"requirement_template\"\u003e\u003c/a\u003e [template](#requirement\\_template) | \u003e= 2.2 |\n## Inputs\n\n| Name | Description | Type | Default | Required |\n|------|-------------|------|---------|:--------:|\n| \u003ca name=\"input_admin_users\"\u003e\u003c/a\u003e [admin\\_users](#input\\_admin\\_users) | n/a | `list(any)` | n/a | yes |\n| \u003ca name=\"input_aws_alb_controller_helm_config\"\u003e\u003c/a\u003e [aws\\_alb\\_controller\\_helm\\_config](#input\\_aws\\_alb\\_controller\\_helm\\_config) | AWS Load Balancer Controller Helm Chart Configuration | `any` | `{}` | no |\n| \u003ca name=\"input_aws_ebs_csi_driver_helm_config\"\u003e\u003c/a\u003e [aws\\_ebs\\_csi\\_driver\\_helm\\_config](#input\\_aws\\_ebs\\_csi\\_driver\\_helm\\_config) | AWS EBS csi driver Helm Chart Configuration | `any` | `{}` | no |\n| \u003ca name=\"input_aws_node_termination_handler_helm_config\"\u003e\u003c/a\u003e [aws\\_node\\_termination\\_handler\\_helm\\_config](#input\\_aws\\_node\\_termination\\_handler\\_helm\\_config) | Node Termination handler Helm Chart Configuration | `any` | `{}` | no |\n| \u003ca name=\"input_calico_helm_config\"\u003e\u003c/a\u003e [calico\\_helm\\_config](#input\\_calico\\_helm\\_config) | Calico Helm Chart Configuration | `any` | `{}` | no |\n| \u003ca name=\"input_cert_manager_helm_config\"\u003e\u003c/a\u003e [cert\\_manager\\_helm\\_config](#input\\_cert\\_manager\\_helm\\_config) | Cert Manager Helm Chart Configuration | `any` | `{}` | no |\n| \u003ca name=\"input_cloudwatch_log_group_retention_in_days\"\u003e\u003c/a\u003e [cloudwatch\\_log\\_group\\_retention\\_in\\_days](#input\\_cloudwatch\\_log\\_group\\_retention\\_in\\_days) | Number of days to retain log events. | `number` | `7` | no |\n| \u003ca name=\"input_cluster_access_admin_groups\"\u003e\u003c/a\u003e [cluster\\_access\\_admin\\_groups](#input\\_cluster\\_access\\_admin\\_groups) | The list of groups that will be mapped to the admin role in the application namespaces. | `list(string)` | n/a | yes |\n| \u003ca name=\"input_cluster_access_developer_groups\"\u003e\u003c/a\u003e [cluster\\_access\\_developer\\_groups](#input\\_cluster\\_access\\_developer\\_groups) | The list of groups that will be mapped to the developer role in the application namespaces. | `list(string)` | n/a | yes |\n| \u003ca name=\"input_cluster_access_map_users\"\u003e\u003c/a\u003e [cluster\\_access\\_map\\_users](#input\\_cluster\\_access\\_map\\_users) | Cluster access | \u003cpre\u003elist(\u003cbr\u003e    object({\u003cbr\u003e      userarn  = string,\u003cbr\u003e      username = string,\u003cbr\u003e      groups   = list(string)\u003cbr\u003e    })\u003cbr\u003e  )\u003c/pre\u003e | `[]` | no |\n| \u003ca name=\"input_cluster_additional_addons\"\u003e\u003c/a\u003e [cluster\\_additional\\_addons](#input\\_cluster\\_additional\\_addons) | Additional addons to install for EKS cluster. | `map(any)` | `{}` | no |\n| \u003ca name=\"input_cluster_autoscaler_chart_version\"\u003e\u003c/a\u003e [cluster\\_autoscaler\\_chart\\_version](#input\\_cluster\\_autoscaler\\_chart\\_version) | Cluster Autoscaler Helm Chart Version | `string` | `\"9.35.0\"` | no |\n| \u003ca name=\"input_cluster_autoscaler_helm_config\"\u003e\u003c/a\u003e [cluster\\_autoscaler\\_helm\\_config](#input\\_cluster\\_autoscaler\\_helm\\_config) | Cluster Autoscaler Helm Chart Configuration | `any` | `{}` | no |\n| \u003ca name=\"input_cluster_enable_amazon_cloudwatch_observability_addon\"\u003e\u003c/a\u003e [cluster\\_enable\\_amazon\\_cloudwatch\\_observability\\_addon](#input\\_cluster\\_enable\\_amazon\\_cloudwatch\\_observability\\_addon) | Indicates whether to enable the Amazon CloudWatch Container Insights for Kubernetes. | `bool` | `true` | no |\n| \u003ca name=\"input_cluster_enabled_log_types\"\u003e\u003c/a\u003e [cluster\\_enabled\\_log\\_types](#input\\_cluster\\_enabled\\_log\\_types) | A list of the desired control plane logging to enable. For more information, see Amazon EKS Cluster Logging in the Amazon EKS User Guide. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_cluster_endpoint_private_access\"\u003e\u003c/a\u003e [cluster\\_endpoint\\_private\\_access](#input\\_cluster\\_endpoint\\_private\\_access) | Indicates whether or not the Amazon EKS private API server endpoint is enabled. Default is true | `bool` | `true` | no |\n| \u003ca name=\"input_cluster_endpoint_public_access\"\u003e\u003c/a\u003e [cluster\\_endpoint\\_public\\_access](#input\\_cluster\\_endpoint\\_public\\_access) | Indicates whether or not the Amazon EKS public API server endpoint is enabled. Default is true | `bool` | `true` | no |\n| \u003ca name=\"input_cluster_endpoint_public_access_cidrs\"\u003e\u003c/a\u003e [cluster\\_endpoint\\_public\\_access\\_cidrs](#input\\_cluster\\_endpoint\\_public\\_access\\_cidrs) | List of CIDR blocks. Indicates which CIDR blocks can access the Amazon EKS public API server endpoint when enabled. | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"0.0.0.0/0\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_cluster_iam_role_additional_policies\"\u003e\u003c/a\u003e [cluster\\_iam\\_role\\_additional\\_policies](#input\\_cluster\\_iam\\_role\\_additional\\_policies) | Additional policies to be added to the IAM role. | `map(string)` | `{}` | no |\n| \u003ca name=\"input_cluster_name\"\u003e\u003c/a\u003e [cluster\\_name](#input\\_cluster\\_name) | The name of the EKS cluster | `string` | n/a | yes |\n| \u003ca name=\"input_cluster_version\"\u003e\u003c/a\u003e [cluster\\_version](#input\\_cluster\\_version) | The Kubernetes version to use for the EKS cluster. | `string` | `\"1.24\"` | no |\n| \u003ca name=\"input_customer_application\"\u003e\u003c/a\u003e [customer\\_application](#input\\_customer\\_application) | Customer application | \u003cpre\u003emap(object({\u003cbr\u003e    namespaces   = list(string)\u003cbr\u003e    repositories = optional(list(string), [])\u003cbr\u003e  }))\u003c/pre\u003e | n/a | yes |\n| \u003ca name=\"input_developer_users\"\u003e\u003c/a\u003e [developer\\_users](#input\\_developer\\_users) | n/a | `list(any)` | n/a | yes |\n| \u003ca name=\"input_ecr_enable_lifecycle_policy\"\u003e\u003c/a\u003e [ecr\\_enable\\_lifecycle\\_policy](#input\\_ecr\\_enable\\_lifecycle\\_policy) | Enable lifecycle policy for ECR repositories. | `bool` | `true` | no |\n| \u003ca name=\"input_ecr_lifecycle_expiration_days\"\u003e\u003c/a\u003e [ecr\\_lifecycle\\_expiration\\_days](#input\\_ecr\\_lifecycle\\_expiration\\_days) | Number of days after which untagged images expire. Only applies if enable\\_ecr\\_lifecycle\\_policy is true. | `number` | `30` | no |\n| \u003ca name=\"input_ecr_lifecycle_policy_excluded_repositories\"\u003e\u003c/a\u003e [ecr\\_lifecycle\\_policy\\_excluded\\_repositories](#input\\_ecr\\_lifecycle\\_policy\\_excluded\\_repositories) | A list of ECR repository names to exclude from the default lifecycle policy. | `list(string)` | `[]` | no |\n| \u003ca name=\"input_ecr_protected_tag_patterns\"\u003e\u003c/a\u003e [ecr\\_protected\\_tag\\_patterns](#input\\_ecr\\_protected\\_tag\\_patterns) | List of tag patterns to keep in ECR lifecycle policy. | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"latest\",\u003cbr\u003e  \"main\",\u003cbr\u003e  \"master\",\u003cbr\u003e  \"stage\",\u003cbr\u003e  \"dev*\",\u003cbr\u003e  \"review*\",\u003cbr\u003e  \"0.*\",\u003cbr\u003e  \"1.*\",\u003cbr\u003e  \"2.*\",\u003cbr\u003e  \"3.*\",\u003cbr\u003e  \"4.*\",\u003cbr\u003e  \"5.*\",\u003cbr\u003e  \"6.*\",\u003cbr\u003e  \"7.*\",\u003cbr\u003e  \"8.*\",\u003cbr\u003e  \"9.*\",\u003cbr\u003e  \"v0.*\",\u003cbr\u003e  \"v1.*\",\u003cbr\u003e  \"v2.*\",\u003cbr\u003e  \"v3.*\",\u003cbr\u003e  \"v4.*\",\u003cbr\u003e  \"v5.*\",\u003cbr\u003e  \"v6.*\",\u003cbr\u003e  \"v7.*\",\u003cbr\u003e  \"v8.*\",\u003cbr\u003e  \"v9.*\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_eks_managed_node_groups\"\u003e\u003c/a\u003e [eks\\_managed\\_node\\_groups](#input\\_eks\\_managed\\_node\\_groups) | Cluster node group | `any` | \u003cpre\u003e{\u003cbr\u003e  \"core_pool\": {\u003cbr\u003e    \"desired_size\": 2,\u003cbr\u003e    \"instance_types\": [\u003cbr\u003e      \"t3.medium\"\u003cbr\u003e    ],\u003cbr\u003e    \"labels\": {\u003cbr\u003e      \"Pool\": \"core\"\u003cbr\u003e    },\u003cbr\u003e    \"max_size\": 4,\u003cbr\u003e    \"min_size\": 1,\u003cbr\u003e    \"tags\": {\u003cbr\u003e      \"Pool\": \"core\"\u003cbr\u003e    }\u003cbr\u003e  }\u003cbr\u003e}\u003c/pre\u003e | no |\n| \u003ca name=\"input_enable_aws_alb_controller\"\u003e\u003c/a\u003e [enable\\_aws\\_alb\\_controller](#input\\_enable\\_aws\\_alb\\_controller) | Enable AWS Load Balancer Controller | `bool` | `false` | no |\n| \u003ca name=\"input_enable_aws_ebs_csi_driver\"\u003e\u003c/a\u003e [enable\\_aws\\_ebs\\_csi\\_driver](#input\\_enable\\_aws\\_ebs\\_csi\\_driver) | Enable AWS EBS CSI Driver | `bool` | `true` | no |\n| \u003ca name=\"input_enable_aws_node_termination_handler\"\u003e\u003c/a\u003e [enable\\_aws\\_node\\_termination\\_handler](#input\\_enable\\_aws\\_node\\_termination\\_handler) | Enable AWS Node Termination Handler | `bool` | `true` | no |\n| \u003ca name=\"input_enable_calico\"\u003e\u003c/a\u003e [enable\\_calico](#input\\_enable\\_calico) | Enable Calico | `bool` | `false` | no |\n| \u003ca name=\"input_enable_cert_manager\"\u003e\u003c/a\u003e [enable\\_cert\\_manager](#input\\_enable\\_cert\\_manager) | Enable Cert Manager | `bool` | `true` | no |\n| \u003ca name=\"input_enable_cluster_autoscaler\"\u003e\u003c/a\u003e [enable\\_cluster\\_autoscaler](#input\\_enable\\_cluster\\_autoscaler) | Enable Cluster Autoscaler | `bool` | `true` | no |\n| \u003ca name=\"input_enable_default_eks_addons\"\u003e\u003c/a\u003e [enable\\_default\\_eks\\_addons](#input\\_enable\\_default\\_eks\\_addons) | Value to enable default eks addons vpc-cni. | `bool` | `true` | no |\n| \u003ca name=\"input_enable_firestarter_operations\"\u003e\u003c/a\u003e [enable\\_firestarter\\_operations](#input\\_enable\\_firestarter\\_operations) | Enable Firestarter Operations | `bool` | `false` | no |\n| \u003ca name=\"input_enable_fluentbit\"\u003e\u003c/a\u003e [enable\\_fluentbit](#input\\_enable\\_fluentbit) | Enable Fluentbit | `bool` | `true` | no |\n| \u003ca name=\"input_enable_gitlab_runner\"\u003e\u003c/a\u003e [enable\\_gitlab\\_runner](#input\\_enable\\_gitlab\\_runner) | Enable Gitlab Runner | `bool` | `true` | no |\n| \u003ca name=\"input_enable_ingress_nginx\"\u003e\u003c/a\u003e [enable\\_ingress\\_nginx](#input\\_enable\\_ingress\\_nginx) | Enable Ingress Nginx | `bool` | `true` | no |\n| \u003ca name=\"input_enable_kube_prometheus_stack\"\u003e\u003c/a\u003e [enable\\_kube\\_prometheus\\_stack](#input\\_enable\\_kube\\_prometheus\\_stack) | Enable Kube Prometheus Stack | `bool` | `false` | no |\n| \u003ca name=\"input_enable_metric_server\"\u003e\u003c/a\u003e [enable\\_metric\\_server](#input\\_enable\\_metric\\_server) | Enable Metric Server | `bool` | `true` | no |\n| \u003ca name=\"input_enable_velero\"\u003e\u003c/a\u003e [enable\\_velero](#input\\_enable\\_velero) | Enable Velero | `bool` | `false` | no |\n| \u003ca name=\"input_enable_velero_bucket_lifecycle\"\u003e\u003c/a\u003e [enable\\_velero\\_bucket\\_lifecycle](#input\\_enable\\_velero\\_bucket\\_lifecycle) | Enable Velero Bucket Lifecycle | `bool` | `true` | no |\n| \u003ca name=\"input_enhanced_container_insights_enabled\"\u003e\u003c/a\u003e [enhanced\\_container\\_insights\\_enabled](#input\\_enhanced\\_container\\_insights\\_enabled) | Indicates whether to enable the enhanced CloudWatch Container Insights for Kubernetes. | `bool` | `true` | no |\n| \u003ca name=\"input_fluentbit_additional_exclude_from_application_log_group\"\u003e\u003c/a\u003e [fluentbit\\_additional\\_exclude\\_from\\_application\\_log\\_group](#input\\_fluentbit\\_additional\\_exclude\\_from\\_application\\_log\\_group) | List of application logs to exclude log group | `list(string)` | `[]` | no |\n| \u003ca name=\"input_fluentbit_additional_include_in_platform_log_group\"\u003e\u003c/a\u003e [fluentbit\\_additional\\_include\\_in\\_platform\\_log\\_group](#input\\_fluentbit\\_additional\\_include\\_in\\_platform\\_log\\_group) | List of platform logs to include log group | `list(string)` | `[]` | no |\n| \u003ca name=\"input_gitlab_runner_additional_policy_arns\"\u003e\u003c/a\u003e [gitlab\\_runner\\_additional\\_policy\\_arns](#input\\_gitlab\\_runner\\_additional\\_policy\\_arns) | Gitlab Runner Additional Policy ARNs | `list(string)` | `[]` | no |\n| \u003ca name=\"input_gitlab_runner_registration_token\"\u003e\u003c/a\u003e [gitlab\\_runner\\_registration\\_token](#input\\_gitlab\\_runner\\_registration\\_token) | Gitlab Runner Registration Token | `string` | `\"\"` | no |\n| \u003ca name=\"input_gitlab_runner_tags\"\u003e\u003c/a\u003e [gitlab\\_runner\\_tags](#input\\_gitlab\\_runner\\_tags) | Gitlab Runner Helm Chart Configuration | `list(string)` | \u003cpre\u003e[\u003cbr\u003e  \"aws\"\u003cbr\u003e]\u003c/pre\u003e | no |\n| \u003ca name=\"input_ingress_nginx_helm_config\"\u003e\u003c/a\u003e [ingress\\_nginx\\_helm\\_config](#input\\_ingress\\_nginx\\_helm\\_config) | Ingress Nginx Helm Chart Configuration | `any` | `{}` | no |\n| \u003ca name=\"input_install_letsencrypt_issuers\"\u003e\u003c/a\u003e [install\\_letsencrypt\\_issuers](#input\\_install\\_letsencrypt\\_issuers) | Install Let's Encrypt Issuers | `bool` | `true` | no |\n| \u003ca name=\"input_kube_prometheus_grafana_hostname\"\u003e\u003c/a\u003e [kube\\_prometheus\\_grafana\\_hostname](#input\\_kube\\_prometheus\\_grafana\\_hostname) | n/a | `string` | `\"\"` | no |\n| \u003ca name=\"input_kube_prometheus_storage_zone\"\u003e\u003c/a\u003e [kube\\_prometheus\\_storage\\_zone](#input\\_kube\\_prometheus\\_storage\\_zone) | n/a | `list(string)` | `[]` | no |\n| \u003ca name=\"input_letsencrypt_email\"\u003e\u003c/a\u003e [letsencrypt\\_email](#input\\_letsencrypt\\_email) | Email address for expiration emails from Let's Encrypt. | `string` | `\"example@example.com\"` | no |\n| \u003ca name=\"input_metric_server_chart_version\"\u003e\u003c/a\u003e [metric\\_server\\_chart\\_version](#input\\_metric\\_server\\_chart\\_version) | Metric Server Helm Chart Version | `string` | `\"3.12.0\"` | no |\n| \u003ca name=\"input_metric_server_helm_config\"\u003e\u003c/a\u003e [metric\\_server\\_helm\\_config](#input\\_metric\\_server\\_helm\\_config) | Metric Server Helm Chart Configuration | `any` | `{}` | no |\n| \u003ca name=\"input_private_subnet_ids\"\u003e\u003c/a\u003e [private\\_subnet\\_ids](#input\\_private\\_subnet\\_ids) | n/a | `list(string)` | n/a | yes |\n| \u003ca name=\"input_project\"\u003e\u003c/a\u003e [project](#input\\_project) | Project name | `string` | n/a | yes |\n| \u003ca name=\"input_prometheus_stack_additional_values\"\u003e\u003c/a\u003e [prometheus\\_stack\\_additional\\_values](#input\\_prometheus\\_stack\\_additional\\_values) | Additional values for Kube Prometheus Stack | `list(string)` | `[]` | no |\n| \u003ca name=\"input_velero_bucket_expiration_days\"\u003e\u003c/a\u003e [velero\\_bucket\\_expiration\\_days](#input\\_velero\\_bucket\\_expiration\\_days) | n/a | `number` | `90` | no |\n| \u003ca name=\"input_velero_bucket_glacier_days\"\u003e\u003c/a\u003e [velero\\_bucket\\_glacier\\_days](#input\\_velero\\_bucket\\_glacier\\_days) | n/a | `number` | `60` | no |\n| \u003ca name=\"input_velero_bucket_infrequently_access_days\"\u003e\u003c/a\u003e [velero\\_bucket\\_infrequently\\_access\\_days](#input\\_velero\\_bucket\\_infrequently\\_access\\_days) | n/a | `number` | `30` | no |\n| \u003ca name=\"input_velero_chart_version\"\u003e\u003c/a\u003e [velero\\_chart\\_version](#input\\_velero\\_chart\\_version) | Velero Helm Chart Version | `string` | `\"6.0.0\"` | no |\n| \u003ca name=\"input_velero_helm_config\"\u003e\u003c/a\u003e [velero\\_helm\\_config](#input\\_velero\\_helm\\_config) | Velero Helm Chart Configuration | `any` | `{}` | no |\n| \u003ca name=\"input_velero_helm_values\"\u003e\u003c/a\u003e [velero\\_helm\\_values](#input\\_velero\\_helm\\_values) | Velero helm chart values | `string` | `\"\"` | no |\n| \u003ca name=\"input_velero_schedule_cron\"\u003e\u003c/a\u003e [velero\\_schedule\\_cron](#input\\_velero\\_schedule\\_cron) | Velero Schedule Cron | `string` | `\"0 4 * * *\"` | no |\n| \u003ca name=\"input_vpc_cidr_block\"\u003e\u003c/a\u003e [vpc\\_cidr\\_block](#input\\_vpc\\_cidr\\_block) | n/a | `string` | n/a | yes |\n| \u003ca name=\"input_vpc_id\"\u003e\u003c/a\u003e [vpc\\_id](#input\\_vpc\\_id) | VPC | `string` | n/a | yes |\n## Outputs\n\n| Name | Description |\n|------|-------------|\n| \u003ca name=\"output_aws_eks_cluster_auth_token\"\u003e\u003c/a\u003e [aws\\_eks\\_cluster\\_auth\\_token](#output\\_aws\\_eks\\_cluster\\_auth\\_token) | n/a |\n| \u003ca name=\"output_cluster_arn\"\u003e\u003c/a\u003e [cluster\\_arn](#output\\_cluster\\_arn) | n/a |\n| \u003ca name=\"output_cluster_certificate_authority_data\"\u003e\u003c/a\u003e [cluster\\_certificate\\_authority\\_data](#output\\_cluster\\_certificate\\_authority\\_data) | n/a |\n| \u003ca name=\"output_cluster_endpoint\"\u003e\u003c/a\u003e [cluster\\_endpoint](#output\\_cluster\\_endpoint) | n/a |\n| \u003ca name=\"output_customer_application_ecr_repository\"\u003e\u003c/a\u003e [customer\\_application\\_ecr\\_repository](#output\\_customer\\_application\\_ecr\\_repository) | n/a |\n| \u003ca name=\"output_customer_application_namespaces\"\u003e\u003c/a\u003e [customer\\_application\\_namespaces](#output\\_customer\\_application\\_namespaces) | n/a |\n| \u003ca name=\"output_grafana_admin_password\"\u003e\u003c/a\u003e [grafana\\_admin\\_password](#output\\_grafana\\_admin\\_password) | # Grafana password |\n| \u003ca name=\"output_ingress_nginx_dns_name\"\u003e\u003c/a\u003e [ingress\\_nginx\\_dns\\_name](#output\\_ingress\\_nginx\\_dns\\_name) | n/a |\n| \u003ca name=\"output_ingress_nginx_zone_id\"\u003e\u003c/a\u003e [ingress\\_nginx\\_zone\\_id](#output\\_ingress\\_nginx\\_zone\\_id) | n/a |\n| \u003ca name=\"output_managed_node_group_iam_roles\"\u003e\u003c/a\u003e [managed\\_node\\_group\\_iam\\_roles](#output\\_managed\\_node\\_group\\_iam\\_roles) | IAM role names of the EKS managed node groups |\n## Resources\n\n| Name | Type |\n|------|------|\n| [aws_ecr_lifecycle_policy.project_image](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecr_lifecycle_policy) | resource |\n| [aws_ecr_repository.repository](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ecr_repository) | resource |\n| [aws_iam_policy.aws_ebs_csi_driver](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_policy) | resource |\n| [aws_s3_bucket.velero](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource |\n| [aws_s3_bucket_lifecycle_configuration.velero](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_lifecycle_configuration) | resource |\n| [aws_s3_bucket_public_access_block.velero](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource |\n| [aws_s3_bucket_versioning.velero](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_versioning) | resource |\n| [helm_release.aws_load_balancer_controller](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |\n| [helm_release.aws_node_termination_handler](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |\n| [helm_release.calico](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |\n| [helm_release.cert_manager](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |\n| [helm_release.cluster_autoscaler](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |\n| [helm_release.ebs](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |\n| [helm_release.metric_server](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |\n| [helm_release.velero](https://registry.terraform.io/providers/hashicorp/helm/latest/docs/resources/release) | resource |\n| [kubectl_manifest.cert_manager_cluster_issuer](https://registry.terraform.io/providers/gavinbunney/kubectl/latest/docs/resources/manifest) | resource |\n| [kubernetes_manifest.ebs_storageclass](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/manifest) | resource |\n| [kubernetes_namespace.aws_ebs_csi_driver](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |\n| [kubernetes_namespace.aws_load_balancer_controller](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |\n| [kubernetes_namespace.aws_node_termination_handler](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |\n| [kubernetes_namespace.calico](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |\n| [kubernetes_namespace.cert_manager](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |\n| [kubernetes_namespace.cluster_autoscaler](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |\n| [kubernetes_namespace.customer_application](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |\n| [kubernetes_namespace.metric_server](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |\n| [kubernetes_namespace.velero](https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs/resources/namespace) | resource |\n| [random_id.resources_suffix](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/id) | resource |\n| [aws_caller_identity.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity) | data source |\n| [aws_eks_cluster_auth.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/eks_cluster_auth) | data source |\n| [aws_lb.ingress_nginx](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/lb) | data source |\n| [aws_region.current](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/region) | data source |\n## Modules\n\n| Name | Source | Version |\n|------|--------|---------|\n| \u003ca name=\"module_aws_ebs_csi_driver_identity\"\u003e\u003c/a\u003e [aws\\_ebs\\_csi\\_driver\\_identity](#module\\_aws\\_ebs\\_csi\\_driver\\_identity) | terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc | ~\u003e 5.0 |\n| \u003ca name=\"module_cluster_access\"\u003e\u003c/a\u003e [cluster\\_access](#module\\_cluster\\_access) | github.com/sparkfabrik/terraform-kubernetes-cluster-access | 0.3.0 |\n| \u003ca name=\"module_cluster_autoscaler_irsa_role\"\u003e\u003c/a\u003e [cluster\\_autoscaler\\_irsa\\_role](#module\\_cluster\\_autoscaler\\_irsa\\_role) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | ~\u003e 5.17 |\n| \u003ca name=\"module_eks\"\u003e\u003c/a\u003e [eks](#module\\_eks) | terraform-aws-modules/eks/aws | ~\u003e 19.13 |\n| \u003ca name=\"module_firestarter_operations\"\u003e\u003c/a\u003e [firestarter\\_operations](#module\\_firestarter\\_operations) | ./modules/firestarter-operations | n/a |\n| \u003ca name=\"module_fluentbit\"\u003e\u003c/a\u003e [fluentbit](#module\\_fluentbit) | github.com/sparkfabrik/terraform-helm-fluentbit | 0.4.0 |\n| \u003ca name=\"module_gitlab_runner\"\u003e\u003c/a\u003e [gitlab\\_runner](#module\\_gitlab\\_runner) | github.com/sparkfabrik/terraform-aws-eks-gitlab-runner | 4e020f8 |\n| \u003ca name=\"module_iam_assumable_role_with_oidc_for_eks_addons\"\u003e\u003c/a\u003e [iam\\_assumable\\_role\\_with\\_oidc\\_for\\_eks\\_addons](#module\\_iam\\_assumable\\_role\\_with\\_oidc\\_for\\_eks\\_addons) | terraform-aws-modules/iam/aws//modules/iam-assumable-role-with-oidc | ~\u003e 5.0 |\n| \u003ca name=\"module_ingress_nginx\"\u003e\u003c/a\u003e [ingress\\_nginx](#module\\_ingress\\_nginx) | github.com/sparkfabrik/terraform-helm-ingress-nginx | 0.8.0 |\n| \u003ca name=\"module_kube_prometheus_stack\"\u003e\u003c/a\u003e [kube\\_prometheus\\_stack](#module\\_kube\\_prometheus\\_stack) | github.com/sparkfabrik/terraform-sparkfabrik-prometheus-stack | 4.0.0 |\n| \u003ca name=\"module_load_balancer_controller_irsa_role\"\u003e\u003c/a\u003e [load\\_balancer\\_controller\\_irsa\\_role](#module\\_load\\_balancer\\_controller\\_irsa\\_role) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | ~\u003e 5.17 |\n| \u003ca name=\"module_node_termination_handler_irsa_role\"\u003e\u003c/a\u003e [node\\_termination\\_handler\\_irsa\\_role](#module\\_node\\_termination\\_handler\\_irsa\\_role) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | ~\u003e 5.17 |\n| \u003ca name=\"module_velero_irsa_role\"\u003e\u003c/a\u003e [velero\\_irsa\\_role](#module\\_velero\\_irsa\\_role) | terraform-aws-modules/iam/aws//modules/iam-role-for-service-accounts-eks | ~\u003e 5.20 |\n\n\u003c!-- END_TF_DOCS --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkfabrik%2Fterraform-aws-eks-bootstrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsparkfabrik%2Fterraform-aws-eks-bootstrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsparkfabrik%2Fterraform-aws-eks-bootstrap/lists"}