{"id":26454118,"url":"https://github.com/coolapso/terraform101","last_synced_at":"2025-03-18T19:44:30.750Z","repository":{"id":144667345,"uuid":"561515995","full_name":"coolapso/terraform101","owner":"coolapso","description":"Basic set of terraform projects to be used as companion for knowlege sharing sessions / blog posts or whenever the goal is to teach or share about terraform. ","archived":false,"fork":false,"pushed_at":"2022-11-03T21:36:41.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-04-26T22:24:45.351Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/coolapso.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":"2022-11-03T21:30:33.000Z","updated_at":"2024-04-26T22:24:47.839Z","dependencies_parsed_at":"2024-04-26T22:24:47.515Z","dependency_job_id":"ca4e972a-3a80-4f58-b532-a1501949fb14","html_url":"https://github.com/coolapso/terraform101","commit_stats":null,"previous_names":["coolapso/terraform101"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolapso%2Fterraform101","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolapso%2Fterraform101/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolapso%2Fterraform101/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coolapso%2Fterraform101/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coolapso","download_url":"https://codeload.github.com/coolapso/terraform101/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244292672,"owners_count":20429715,"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":[],"created_at":"2025-03-18T19:44:30.241Z","updated_at":"2025-03-18T19:44:30.743Z","avatar_url":"https://github.com/coolapso.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"!!! Warning: This is a work in progress, and should be used as a companion for a knowledge sharing session or blog post series not existing yet. This Repository will be updated as it evolves. \n\n# Terraform 101 \n\nThis repo has the objective of guiding new terraform users into understanding the basic funcionality of terraform as well as some important basic concepts such as: \n\n* Terraform basic structure and commands\n* The terraform provider\n* The terraform state\n* The terraform remote backend\n* The issues of using basic structure in multiple environments\n* The concept of terraform modules\n    * Local modules\n    * Modules hosted in terraform registry / Git repositories\n* Keeping code DRY with terragrunt\n\n## structure\n\nEach directory has example code related with the topic and a README file with instructions and exercices to do. \n\n\n## Recommended learning resources: \n\n1) https://blog.gruntwork.io/why-we-use-terraform-and-not-chef-puppet-ansible-saltstack-or-cloudformation-7989dad2865c\n2) https://blog.gruntwork.io/an-introduction-to-terraform-f17df9c6d180\n3) https://blog.gruntwork.io/how-to-manage-terraform-state-28f5697e68fa\n4) https://blog.gruntwork.io/how-to-create-reusable-infrastructure-with-terraform-modules-25526d65f73d\n5) https://blog.gruntwork.io/terraform-tips-tricks-loops-if-statements-and-gotchas-f739bbae55f9\n6) https://blog.gruntwork.io/how-to-use-terraform-as-a-team-251bc1104973\n7) https://blog.gruntwork.io/terragrunt-how-to-keep-your-terraform-code-dry-and-maintainable-f61ae06959d8\n\nYevgeniy Brikman ([@brikis89](https://github.com/brikis98)): [Terraform up \u0026 Running](https://www.terraformupandrunning.com/)\n\n\n## Tools \n\n[terraform.io](https://terraform.io)  \n[terragrunt](https://terragrunt.gruntwork.io)  \n[tfenv](https://github.com/tfutils/tfenv)  \n[tgenv](https://github.com/cunymatthieu/tgenv)  \n[terraform-docs](https://terraform-docs.io/)        \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoolapso%2Fterraform101","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoolapso%2Fterraform101","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoolapso%2Fterraform101/lists"}