{"id":13407194,"url":"https://github.com/Artemmkin/infrastructure-as-code-tutorial","last_synced_at":"2025-03-14T11:31:09.777Z","repository":{"id":41440497,"uuid":"118977874","full_name":"Artemmkin/infrastructure-as-code-tutorial","owner":"Artemmkin","description":"Infrastructure As Code Tutorial. Covers Packer, Terraform, Ansible, Vagrant, Docker, Docker Compose, Kubernetes","archived":false,"fork":false,"pushed_at":"2022-11-19T00:17:00.000Z","size":80,"stargazers_count":2271,"open_issues_count":11,"forks_count":422,"subscribers_count":102,"default_branch":"master","last_synced_at":"2024-10-29T17:11:41.830Z","etag":null,"topics":["ansible","docker","docker-compose","googlecloudplatform","infrastructure-as-code","kubernetes","packer","terraform","vagrant"],"latest_commit_sha":null,"homepage":"","language":null,"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/Artemmkin.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":"2018-01-25T23:03:37.000Z","updated_at":"2024-10-22T00:49:26.000Z","dependencies_parsed_at":"2022-08-15T04:40:10.345Z","dependency_job_id":null,"html_url":"https://github.com/Artemmkin/infrastructure-as-code-tutorial","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artemmkin%2Finfrastructure-as-code-tutorial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artemmkin%2Finfrastructure-as-code-tutorial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artemmkin%2Finfrastructure-as-code-tutorial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Artemmkin%2Finfrastructure-as-code-tutorial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Artemmkin","download_url":"https://codeload.github.com/Artemmkin/infrastructure-as-code-tutorial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243569391,"owners_count":20312418,"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":["ansible","docker","docker-compose","googlecloudplatform","infrastructure-as-code","kubernetes","packer","terraform","vagrant"],"created_at":"2024-07-30T20:00:29.421Z","updated_at":"2025-03-14T11:31:08.749Z","avatar_url":"https://github.com/Artemmkin.png","language":null,"readme":"# Infrastructure As Code Tutorial\n\n[![license](https://img.shields.io/github/license/Artemmkin/infrastructure-as-code-tutorial.svg)](https://github.com/Artemmkin/infrastructure-as-code-tutorial/blob/master/LICENSE)\n[![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Learn%20about%20Infrastructure%20as%20Code%20https%3A%2F%2Fgithub.com%2FArtemmkin%2Finfrastructure-as-code-tutorial%20%20Tutorial%20created%20by%20@artemmkins%20covers%20%23Packer,%20%23Terraform,%20%23Ansible,%20%23Vagrant,%20%23Docker,%20and%20%23Kubernetes.%20%23DevOps)\n\nThis tutorial is intended to show what the **Infrastructure as Code** (**IaC**) is, why we need it, and how it can help you manage your infrastructure more efficiently.\n\nIt is practice-based, meaning I don't give much theory on what Infrastructure as Code is in the beginning of the tutorial, but instead let you feel it through the practice first. At the end of the tutorial, I summarize some of the key points about Infrastructure as Code based on what you learn through the labs.\n\nThis tutorial is not meant to give a complete guide on how to use a specific tool like Ansible or Terraform, instead it focuses on how these tools work in general and what problems they solve.\n\n\u003e The tutorial was inspired by [Kubernetes the Hard Way](https://github.com/kelseyhightower/kubernetes-the-hard-way) tutorial. I used it as an example to structure this one.\n\n_See [my presentation at DevOpsDays Silicon Valley](https://www.youtube.com/watch?v=XbcW2B7roLo\u0026t=) in which I talk more in depth about the tutorial._\n\n## Need your help!\n\nThis tutorial was created in 2018 and wasn't being kept up to date. Therefore, some of the instructions may not work due to updated APIs, obsolete repositories, etc. I apologize for that, but I currently don't have time to update this tutorial. So if you find that something is broken and you find a fix, please submit a PR. \n\nWhen submitting a PR, make sure you include a description for it, i.e. what's broken and a test plan for the fix.\n\nAlso, note that some of things need to be updated in several different repositories at the same time. Main repositories used in this tutorial:\n\n* https://github.com/Artemmkin/infrastructure-as-code-tutorial\n* https://github.com/Artemmkin/infrastructure-as-code-example\n* https://github.com/Artemmkin/raddit\n\n## Target Audience\n\nThe target audience for this tutorial is anyone who loves or/and works in IT.\n\n## Tools Covered\n\n* Packer\n* Terraform\n* Ansible\n* Vagrant\n* Docker\n* Docker Compose\n* Kubernetes\n\n## Results of completing the tutorial\n\nBy the end of this tutorial, you'll make your own repository looking like [this one](https://github.com/Artemmkin/infrastructure-as-code-example).\n\nNOTE: you can use this [example repository](https://github.com/Artemmkin/infrastructure-as-code-example) in case you get stuck in some of the labs.\n\n## Labs\n\nThis tutorial assumes you have access to the Google Cloud Platform. While GCP is used for basic infrastructure requirements the lessons learned in this tutorial can be applied to other platforms.\n\n* [Introduction](docs/00-introduction.md)\n* [Prerequisites](docs/01-prerequisites.md)\n* [Manual Operations](docs/02-manual-operations.md)\n* [Scripts](docs/03-scripts.md)\n* [Packer](docs/04-packer.md)\n* [Terraform](docs/05-terraform.md)\n* [Ansible](docs/06-ansible.md)\n* [Vagrant](docs/07-vagrant.md)\n* [Docker](docs/08-docker.md)\n* [Docker Compose](docs/09-docker-compose.md)\n* [Kubernetes](docs/10-kubernetes.md)\n* [What is Infrastructure as Code?](docs/50-what-is-iac.md)\n","funding_links":[],"categories":["Others","vagrant","ansible","后端开发框架及项目","Documentation"],"sub_categories":["后端项目_其他","Devops"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FArtemmkin%2Finfrastructure-as-code-tutorial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FArtemmkin%2Finfrastructure-as-code-tutorial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FArtemmkin%2Finfrastructure-as-code-tutorial/lists"}