{"id":37824219,"url":"https://github.com/quortex/terraform-aws-eks-cluster","last_synced_at":"2026-01-16T15:44:15.223Z","repository":{"id":41831330,"uuid":"257538711","full_name":"quortex/terraform-aws-eks-cluster","owner":"quortex","description":"A terraform module for Quortex infrastructure EKS cluster layer.","archived":false,"fork":false,"pushed_at":"2025-11-28T16:41:02.000Z","size":162,"stargazers_count":1,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-11-30T21:56:39.413Z","etag":null,"topics":["aws","terraform"],"latest_commit_sha":null,"homepage":null,"language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/quortex.png","metadata":{"files":{"readme":"README.md","changelog":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-04-21T09:02:58.000Z","updated_at":"2025-09-08T16:18:57.000Z","dependencies_parsed_at":"2025-09-08T13:17:33.161Z","dependency_job_id":"0b23f190-93bb-46e2-81c7-27a0c501fefd","html_url":"https://github.com/quortex/terraform-aws-eks-cluster","commit_stats":null,"previous_names":[],"tags_count":64,"template":false,"template_full_name":null,"purl":"pkg:github/quortex/terraform-aws-eks-cluster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-eks-cluster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-eks-cluster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-eks-cluster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-eks-cluster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/quortex","download_url":"https://codeload.github.com/quortex/terraform-aws-eks-cluster/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/quortex%2Fterraform-aws-eks-cluster/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","terraform"],"created_at":"2026-01-16T15:44:15.160Z","updated_at":"2026-01-16T15:44:15.216Z","avatar_url":"https://github.com/quortex.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n[![Quortex][logo]](https://quortex.io)\n\n# terraform-aws-eks-cluster\n\nA terraform module for Quortex infrastructure EKS cluster layer.\n\nIt provides a set of resources necessary to provision the Kubernetes cluster of the Quortex infrastructure on Amazon AWS, via EKS.\n\n![infra_diagram]\n\nThis module is available on [Terraform Registry][registry_tf_aws-eks_cluster].\n\nGet all our terraform modules on [Terraform Registry][registry_tf_modules] or on [Github][github_tf_modules] !\n\n## Created resources\n\nThis module creates the following resources in AWS:\n\n- An EKS cluster: the control plane for Kubernetes\n- EKS node groups: the Kubernetes worker nodes. There are 2 variants of nodegroups:\n  - node_groups: creates an EKS-managed node group (more automation, less features)\n  - node_groups_advanced: creates a launch template + autoscaling group, with instances that attach to the created cluster. This provides more customization (spot instances, taints...)\n- An additional security group to grant access to a list of IP addresses\n\n## Usage example\n\nExample that creates 1 EKS-managed node group and 2 advanced node group (one On-Demand group and one Spot group):\n\n```hcl\nmodule \"quortex-eks\" {\n  source = \"quortex/eks-cluster/aws\"\n\n  name               = \"quortexcluster\"\n  kubernetes_version = \"1.22\"\n  availability_zones = [\"eu-west-3b\", \"eu-west-3c\"]\n\n  cluster_addons = {\n    coredns = {\n      version = \"v1.8.7-eksbuild.3\"\n    }\n    kube-proxy = {\n      version = \"v1.22.6-eksbuild.1\"\n    }\n    vpc-cni = {\n      version = \"v1.10.1-eksbuild.1\"\n    }\n  }\n\n  # values from the Quortex network module:\n  master_subnet_ids         = module.network.private_subnet_ids\n  worker_public_subnet_ids  = module.network.public_subnet_ids\n  worker_private_subnet_ids = module.network.private_subnet_ids\n  vpc_id                    = module.network.vpc_id\n\n  master_authorized_networks = {\n    myipaddress = \"98.235.24.130/32\"\n  }\n\n  node_groups = {\n    main = {\n      public               = false\n      instance_types       = [\"t3.medium\"] # t3.medium: 2 vCPU, 4GiB\n      scaling_desired_size = 1\n      scaling_max_size     = 1\n      scaling_min_size     = 1\n    }\n  }\n\n  node_groups_advanced = {\n    # Example of On-Demand node group:\n    workflow-group-ondemand = {\n      public                     = false\n      instance_types             = [\"c5.2xlarge\",\"c5d.2xlarge\"]\n      scaling_desired_size       = 2\n      scaling_max_size           = 3\n      scaling_min_size           = 0\n      market_type                = \"on-demand\"\n      spot_allocation_strategy   = \"\"     # not used when market_type is \"on-demand\", only for spot\n      spot_max_price             = \"\"     # not used when market_type is \"on-demand\", only for spot\n      spot_instance_pools        = 0      # not used when market_type is \"on-demand\", only for spot\n      cluster_autoscaler_enabled = true\n      enabled_metrics            = []\n      taints                     = {}\n      labels                     = {}\n    }\n    # Example of Spot node group:\n    workflow-group-spot = {\n      public                     = false\n      instance_types             = [\"c5.2xlarge\",\"c5d.2xlarge\"]\n      instance_filter            = \"AVAILABLE\" # can be \"AVAILABLE\" (filter available instances in region), \"PREFERRED\" (a single available instance from an ordered list of preference) or \"ALL\" (no filter)\n      scaling_desired_size       = 2\n      scaling_max_size           = 3\n      scaling_min_size           = 0\n      market_type                = \"spot\"\n      spot_allocation_strategy   = \"capacity-optimized\"   # can be \"capacity-optimized\" (prefer instance types with lowest chances of interruption) or \"lowest-price\" (prefere the cheapest instance types)\n      spot_max_price             = \"\"                     # default max is the on-demand price\n      spot_instance_pools        = 0                      # the number of pools across which to allocate your Spot Instances. The pools are determined from the different instance types. Should be between 1 and the number of instance types. Valid only when the Spot allocation strategy is \"lowest-price\". Should be set to 0 with \"capacity-optimized\".\n      cluster_autoscaler_enabled = true\n      enabled_metrics            = []\n      taints                     = {} # example taints:  {\"spotinstance\":\"true:PreferNoSchedule\"}\n      labels                     = {}\n    }\n  }\n}\n```\n\nNote: all items of `node_groups` or `node_groups_advanced` must have the same keys defined (but not necessarily the same values).\n\n## Cluster node image\n\nBy default, when using node-groups-advanced, the image for the worker nodes instances is the latest AMI found whose name matches \\\"amazon-eks-node-`\u003ckubernetes_worker_nodes_version\u003e`-v*\\\". The image ID can be overriden using `kubernetes_cluster_image_id`.\n\nWhen using EKS-managed nodes, the image version is selected by EKS based on `kubernetes_worker_nodes_version`.\n\n---\n\n## Related Projects\n\nThis project is part of our terraform modules to provision a Quortex infrastructure for AWS.\n\nCheck out these related projects.\n\n- [terraform-aws-network][registry_tf_aws-eks_network] - A terraform module for Quortex infrastructure network layer.\n\n- [terraform-aws-eks-load-balancer][registry_tf_aws-eks_load_balancer] - A terraform module for Quortex infrastructure AWS load balancing layer.\n\n- [terraform-aws-storage][registry_tf_aws-eks_storage] - A terraform module for Quortex infrastructure AWS persistent storage layer.\n\n## Help\n\n**Got a question?**\n\nFile a GitHub [issue](https://github.com/quortex/terraform-aws-eks-cluster/issues) or send us an [email][email].\n\n\n  [logo]: https://storage.googleapis.com/quortex-assets/logo.webp\n  [infra_diagram]: https://storage.googleapis.com/quortex-assets/infra_aws_002.jpg\n\n  [email]: mailto:info@quortex.io\n\n  [registry_tf_modules]: https://registry.terraform.io/modules/quortex\n  [registry_tf_aws-eks_cluster]: https://registry.terraform.io/modules/quortex/eks-cluster/aws\n  [registry_tf_aws-eks_network]: https://registry.terraform.io/modules/quortex/network/aws\n  [registry_tf_aws-eks_load_balancer]: https://registry.terraform.io/modules/quortex/load-balancer/aws\n  [registry_tf_aws-eks_storage]: https://registry.terraform.io/modules/quortex/storage/aws\n  [github_tf_modules]: https://github.com/quortex?q=terraform-\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquortex%2Fterraform-aws-eks-cluster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquortex%2Fterraform-aws-eks-cluster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquortex%2Fterraform-aws-eks-cluster/lists"}