{"id":26578035,"url":"https://github.com/aerojam95/aws-eks-platform","last_synced_at":"2026-05-06T19:05:54.204Z","repository":{"id":195208914,"uuid":"692132030","full_name":"aerojam95/aws-eks-platform","owner":"aerojam95","description":"This provides a template for an AWS EKS cluster","archived":false,"fork":false,"pushed_at":"2023-09-29T14:41:30.000Z","size":506,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T04:19:07.286Z","etag":null,"topics":["aws","aws-eks","containers","containersplatform","iac","iac-terraform","ingress-controller","kubernetes","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aerojam95.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}},"created_at":"2023-09-15T16:21:17.000Z","updated_at":"2023-09-16T15:28:23.000Z","dependencies_parsed_at":"2023-09-17T01:40:47.889Z","dependency_job_id":null,"html_url":"https://github.com/aerojam95/aws-eks-platform","commit_stats":null,"previous_names":["aerojam95/aws-eks-platform"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/aerojam95/aws-eks-platform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aerojam95%2Faws-eks-platform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aerojam95%2Faws-eks-platform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aerojam95%2Faws-eks-platform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aerojam95%2Faws-eks-platform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aerojam95","download_url":"https://codeload.github.com/aerojam95/aws-eks-platform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aerojam95%2Faws-eks-platform/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263052432,"owners_count":23406106,"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","aws-eks","containers","containersplatform","iac","iac-terraform","ingress-controller","kubernetes","terraform"],"created_at":"2025-03-23T04:19:00.568Z","updated_at":"2026-05-06T19:05:49.180Z","avatar_url":"https://github.com/aerojam95.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# aws-eks-container-platform\n\n## Description\nTerraform for creating an AWS EKS private container platform\n\n![Container Platform](docs/eks-container-platform.png)\n\n## Key infrastructure\n\n| Name | Description |\n|------|------|\n| [vpc]( https://github.com/terraform-aws-modules/terraform-aws-vpc.git) | VPC such that infrastructure is secured on a networking level |\n| [vpc-endpoints](https://github.com/terraform-aws-modules/terraform-aws-vpc.git) | Give the VPC access to AWS the required services  |\n| [S3-bucket](https://github.com/terraform-aws-modules/terraform-aws-s3-bucket.git) | Logging the CloudTrail trail |\n| [kms-keys](https://github.com/terraform-aws-modules/terraform-aws-kms.git) | Encryption for S3 bucket for logging of CloudTaril, encryption to the CloudWatch log groups for CloudTrail trail, VPC flow logs, and EKS cluster |\n| [cloudtrail-trail](https://github.com/cloudposse/terraform-aws-cloudtrail.git) | Audit loggging for infrastructure |\n| [iam-roles](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | Gives services, relevant permissions, and creates an admin role for administration |\n| [eks-cluster](https://github.com/terraform-aws-modules/terraform-aws-eks.git) | EKS cluster where workloads will be computed |\n\n## Private cluster\n\nThis example demonstrates how to deploy an Amazon EKS cluster that is deployed on the AWS Cloud in private subnets. For that, your cluster must pull images from a container registry that's in your VPC, and also must have endpoint private access enabled. This is required for nodes to register with the cluster endpoint.\n\nPlease see this [document](https://docs.aws.amazon.com/eks/latest/userguide/private-clusters.html) for more details on configuring fully private EKS Clusters.\n\nFor fully Private EKS clusters requires the following VPC endpoints to be created to communicate with AWS services. This example solution will provide these endpoints if you choose to create VPC. If you are using an existing VPC then you may need to ensure these endpoints are created.\n\n    com.amazonaws.region.ssm                       - Secrets Management\n    com.amazonaws.region.ssmmessages               - Secrets Monitoring\n    com.amazonaws.region.ec2                       - EC2 Management\n    com.amazonaws.region.ec2messages               - EC2 Monitoring\n    com.amazonaws.region.kms                       - KMS Management\n    com.amazonaws.region.ecr.api                   - ECR API calls\n    com.amazonaws.region.ecr.dkr                   - ECR Docker Images\n    com.amazonaws.region.logs                      - For CloudWatch Logs\n    com.amazonaws.region.sts                       - If using AWS Fargate or IAM roles for service accounts\n    com.amazonaws.region.elasticloadbalancing      - If using Application Load Balancers\n    com.amazonaws.region.autoscaling               - If using Cluster Autoscaler\n    com.amazonaws.region.s3                        - Creates S3 Gateway\n\n\n## Pre-requisites\n1. Get relevant AWS credentials (Access Key and Access Secret) to apply terraform locally or input credentials into the relevant Pipeline variables\n2. Create S3 bucket and configure as Terraform remote backend to store the relevant Terraform statefile\n3. Add the state file related values to to the backend block in the version.tf file once created\n4. Create an image of a service to be pulled from AWS ECR to use to spin up containers in pods that will be deployed on the EKS cluster\n\n## Usage\n```sh\nterraform init\nterraform fmt\nterraform valiate\nterraform plan -out=$PLAN\nterraform apply -input=false --auto-approve $PLAN\nterraform plan -destroy -out=$DESTROY\nterraform apply -input=false --auto-approve $DESTROY\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faerojam95%2Faws-eks-platform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faerojam95%2Faws-eks-platform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faerojam95%2Faws-eks-platform/lists"}