{"id":21049829,"url":"https://github.com/mbiomee/terraform-msf-eks","last_synced_at":"2026-03-09T07:31:48.828Z","repository":{"id":261814404,"uuid":"202827640","full_name":"mbiomee/terraform-msf-eks","owner":"mbiomee","description":"aws eks infrastructure as code using terraform ","archived":false,"fork":false,"pushed_at":"2019-08-18T06:34:25.000Z","size":26,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-15T20:49:35.271Z","etag":null,"topics":["aws","aws-eks","devops","eks","infrastructure-as-code","k8s-cluster","kubernetes","kubernetes-cluster","terraform"],"latest_commit_sha":null,"homepage":"https://mbiomee.com","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mbiomee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-08-17T02:56:47.000Z","updated_at":"2022-01-26T21:43:26.000Z","dependencies_parsed_at":"2024-11-08T15:56:05.986Z","dependency_job_id":null,"html_url":"https://github.com/mbiomee/terraform-msf-eks","commit_stats":null,"previous_names":["mbiomee/terraform-msf-eks"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/mbiomee/terraform-msf-eks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbiomee%2Fterraform-msf-eks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbiomee%2Fterraform-msf-eks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbiomee%2Fterraform-msf-eks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbiomee%2Fterraform-msf-eks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mbiomee","download_url":"https://codeload.github.com/mbiomee/terraform-msf-eks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mbiomee%2Fterraform-msf-eks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30287425,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"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","aws-eks","devops","eks","infrastructure-as-code","k8s-cluster","kubernetes","kubernetes-cluster","terraform"],"created_at":"2024-11-19T15:15:08.985Z","updated_at":"2026-03-09T07:31:48.810Z","avatar_url":"https://github.com/mbiomee.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# terraform-eks-msf\n\n\n[![TerraformRefigistry](https://img.shields.io/badge/Terraform%20Registry-v1.0.3-blue.svg)](https://registry.terraform.io/modules/mbiomee/eks/msf/)\n\n\nGeneral aws eks deploy using Terraform\n---\n\n## for more info\n- [Amazon Elastic Kubernetes Service](https://aws.amazon.com/eks/)\n- [Terraform](https://www.terraform.io/)\n\n## Caution\napplying this infrastructure will create resources on your aws account so be sure you have enough credits\nto see resources [click here](https://registry.terraform.io/modules/mbiomee/eks/msf/?tab=resources)\n  \n## Prerequisites\n\n1. aws account\n2. IAM role with AdminstratorAccess policy\n3. machine with aws cli, terraform cli, kubectl installed\n4. create ssh key and upload the public key to your EC2 region\n\n\n## Usage\n\ncreate main.tf file and pass your variables link example\n```terraform\nmodule \"eks\" {\n  source              = \"mbiomee/eks/msf\"\n  aws-region          = \"us-east-1\"\n  availability-zones  = [\"us-east-1a\", \"us-east-1b\", \"us-east-1c\"]\n  cluster-name        = \"msf-cluster\"\n  k8s-version         = \"1.13\"\n  node-instance-type  = \"t3.medium\"\n  root-block-size     = \"40\"\n  desired-capacity    = \"3\"\n  max-size            = \"5\"\n  min-size            = \"1\"\n  public-min-size     = \"1\"\n  public-max-size     = \"1\"\n  public-desired-capacity = \"1\"\n  vpc-subnet-cidr     = \"10.0.0.0/16\"\n  private-subnet-cidr = [\"10.0.0.0/19\", \"10.0.32.0/19\", \"10.0.64.0/19\"]\n  public-subnet-cidr  = [\"10.0.128.0/20\", \"10.0.144.0/20\", \"10.0.160.0/20\"]\n  db-subnet-cidr      = [\"10.0.192.0/21\", \"10.0.200.0/21\", \"10.0.208.0/21\"]\n  eks-cw-logging      = [\"api\", \"audit\", \"authenticator\", \"controllerManager\", \"scheduler\"]\n  ec2-key             = \"my-key\"\n}\n\noutput \"kubeconfig\" {\n  value = module.eks.kubeconfig\n}\n\noutput \"config-map\" {\n  value = module.eks.config-map\n}\n\n```\n\n**Or** by using variables.tf or a tfvars file:\n\n```terraform\nmodule \"eks\" {\n  source              = \"mbiomee/eks/msf\"\n  aws-region          = var.aws-region\n  availability-zones  = var.availability-zones\n  cluster-name        = var.cluster-name\n  k8s-version         = var.k8s-version\n  node-instance-type  = var.node-instance-type\n  root-block-size     = var.root-block-size\n  desired-capacity    = var.desired-capacity\n  max-size            = var.max-size\n  min-size            = var.min-size\n  public-min-size     = var.public-min-size\n  public-max-size     = var.public-max-size\n  public-desired-capacity = var.public-desired-capacity\n  vpc-subnet-cidr     = var.vpc-subnet-cidr\n  private-subnet-cidr = var.private-subnet-cidr\n  public-subnet-cidr  = var.public-subnet-cidr\n  db-subnet-cidr      = var.db-subnet-cidr\n  eks-cw-logging      = var.eks-cw-logging\n  ec2-key             = var.ec2-key\n}\n```\n\n### Terraform\n\nYou need to run the following commands to create the resources with Terraform:\n\n```bash\nterraform init\nterraform plan\nterraform apply\n```\n\n\n\n### Setup kubectl\n\nSetup your `KUBECONFIG`\n\n```bash\nterraform output kubeconfig \u003e ~/.kube/eks-cluster\nexport KUBECONFIG=~/.kube/eks-cluster\n```\n\n### Authorize worker nodes\n\nGet the config from terraform output, and save it to a yaml file:\n\n```bash\nterraform output config-map \u003e config-map-aws-auth.yaml\n```\n\nApply the config map to EKS:\n\n```bash\nkubectl apply -f config-map-aws-auth.yaml\n```\n\nYou can verify the worker nodes are joining the cluster\n\n```bash\nkubectl get nodes --watch\n```\n\n### Cleaning up\n\nYou can destroy this cluster entirely by running:\n\n```bash\nterraform plan -destroy\nterraform destroy  --force\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbiomee%2Fterraform-msf-eks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmbiomee%2Fterraform-msf-eks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmbiomee%2Fterraform-msf-eks/lists"}