{"id":18908562,"url":"https://github.com/superluminar-io/terraform-workshop","last_synced_at":"2025-04-15T05:32:02.665Z","repository":{"id":39797063,"uuid":"488155681","full_name":"superluminar-io/terraform-workshop","owner":"superluminar-io","description":"Learn infrastructure as code basics with Terraform and AWS","archived":false,"fork":false,"pushed_at":"2022-10-31T08:38:10.000Z","size":114,"stargazers_count":5,"open_issues_count":1,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2023-03-03T21:35:59.826Z","etag":null,"topics":["aws","beginners-friendly","infrastructure-as-code","serverless","terraform","workshop"],"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/superluminar-io.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}},"created_at":"2022-05-03T09:55:14.000Z","updated_at":"2023-02-08T16:02:12.000Z","dependencies_parsed_at":"2022-09-21T02:31:35.177Z","dependency_job_id":null,"html_url":"https://github.com/superluminar-io/terraform-workshop","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superluminar-io%2Fterraform-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superluminar-io%2Fterraform-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superluminar-io%2Fterraform-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/superluminar-io%2Fterraform-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/superluminar-io","download_url":"https://codeload.github.com/superluminar-io/terraform-workshop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223660133,"owners_count":17181461,"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","beginners-friendly","infrastructure-as-code","serverless","terraform","workshop"],"created_at":"2024-11-08T09:27:10.983Z","updated_at":"2024-11-08T09:27:11.693Z","avatar_url":"https://github.com/superluminar-io.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎓 Terraform Workshop\n\u003e Learn infrastructure as code basics w/ Terraform and AWS\n\nThe workshop empowers you to know the core concepts of *infrastructure as code* by using practical examples in Terraform. Learn how to create the first Terraform stack and deploy some resources to AWS. We explore best practices and improve the growing codebase over time.\n\n## ✨ At a glance\n\n* ✅ Set up a new Terraform project from scratch\n* ✅ Get familiar with the Terraform Language\n* ✅ Manage Terraform state using a remote backend with AWS S3\n* ✅ Learn the fundamentals of module composition\n* ✅ Deploy multiple environments (e.g. staging and prod)\n* ✅ Implement a feature flag and learn more about parameterization\n\n## 🤓 Labs\n\nWe recommend you walk through the labs step by step and follow the instructions. Feel free to further extend the stack, play around with resources and dive deeper. Have fun ✌️\n\n0. [Boostrap Environment](./0-bootstrap) Please double-check the instructions and set up your working environment\n1. [Getting Started](./1-getting-started): Get started with Terraform, deploy some AWS resources, and create a remote backend for the Terraform state\n2. [Third Party](./2-third-party/): Use a third-party *module* to easily build and deploy an AWS Lambda function\n3. [Module Composition](./3-module-composition/): Improve the growing codebase by introducing custom modules and module composition\n4. [Multi Environment](./4-multi-environment/): Make the Terraform configuration ready for a multi-environment setup\n5. [Parameterization](./5-parameterization/): Implement a feature flag and enable the new feature only on staging\n\n## 📖 Further Reading\n\n- Best practices for [code structure](https://www.terraform-best-practices.com/code-structure) and [naming conventions](https://www.terraform-best-practices.com/naming)\n- [Testing Terraform modules and configurations](https://www.hashicorp.com/blog/testing-hashicorp-terraform)\n- [Static analysis of the Terraform code using tfsec](https://github.com/aquasecurity/tfsec)\n- [Awesome Terraform: Curated list of resources on Terraform](https://github.com/shuaibiyy/awesome-terraform)\n- [DRY improvements using Terragrunt (Advanced)](https://terragrunt.gruntwork.io/docs/getting-started/quick-start/)\n\n## 👩‍⚖️ License\n\nSee [LICENSE](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperluminar-io%2Fterraform-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuperluminar-io%2Fterraform-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuperluminar-io%2Fterraform-workshop/lists"}