{"id":21127385,"url":"https://github.com/patkoch/azure_terraform_codespace","last_synced_at":"2025-08-12T10:12:29.869Z","repository":{"id":220839568,"uuid":"752727208","full_name":"patkoch/azure_terraform_codespace","owner":"patkoch","description":null,"archived":false,"fork":false,"pushed_at":"2025-06-15T12:01:38.000Z","size":3698,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-15T12:31:38.727Z","etag":null,"topics":["azure","configuration-as-code","devcontainer","github","github-codespaces","infrastructure-as-code","terraform"],"latest_commit_sha":null,"homepage":"https://www.patrickkoch.dev/posts/post_34/","language":"Dockerfile","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/patkoch.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":"2024-02-04T16:35:04.000Z","updated_at":"2025-06-15T12:01:42.000Z","dependencies_parsed_at":"2025-01-02T11:22:54.896Z","dependency_job_id":"e1ea0b74-0831-4bb9-945a-7f4a3b522cb8","html_url":"https://github.com/patkoch/azure_terraform_codespace","commit_stats":null,"previous_names":["patkoch/azure_terraform_codespace"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/patkoch/azure_terraform_codespace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patkoch%2Fazure_terraform_codespace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patkoch%2Fazure_terraform_codespace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patkoch%2Fazure_terraform_codespace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patkoch%2Fazure_terraform_codespace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patkoch","download_url":"https://codeload.github.com/patkoch/azure_terraform_codespace/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patkoch%2Fazure_terraform_codespace/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270041336,"owners_count":24516816,"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","status":"online","status_checked_at":"2025-08-12T02:00:09.011Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["azure","configuration-as-code","devcontainer","github","github-codespaces","infrastructure-as-code","terraform"],"created_at":"2024-11-20T04:49:00.265Z","updated_at":"2025-08-12T10:12:29.848Z","avatar_url":"https://github.com/patkoch.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# Create a dev container in your GitHub Codespace including the Azure CLI and Terraform\r\n\r\nAlmost from scratch, I would like to describe the necessary steps for creating a dev container, which includes the Azure and Terraform CLI.\r\n\r\n## GitHub Action Workflow\r\n\r\nCurrent state of running the workflow, which builds and pushes the Container Image\r\n\r\n[![Build Dockerfile and Push to Docker Hub](https://github.com/patkoch/azure_terraform_codespace/actions/workflows/build.yml/badge.svg)](https://github.com/patkoch/azure_terraform_codespace/actions/workflows/build.yml)\r\n\r\n## Create a Codespace using the provided configuration files\r\n\r\nTo create a new Codespace, I’ll click on the “Remote Explorer” icon in Visual Studio Code, then I’ll switch to “GitHub Codespace”. Next I have to click on the “+” button:\r\n\r\n\u003cp align=\"left\"\u003e\r\n  \u003cimg src=\"pictures/06_create_new_cs.png\" width=\"40%\" height=\"30%\" title=\"create_new_cs\"\u003e\r\n\u003c/p\u003e\r\n\r\nNow I’ll select the repository that I want to use for the Codespace:\r\n\r\n\u003cp align=\"left\"\u003e\r\n  \u003cimg src=\"pictures/07_create_new_cs_select_repo.png\" width=\"30%\" height=\"20%\" title=\"create_new_cs_select_repo\"\u003e\r\n\u003c/p\u003e\r\n\r\nAs the last step, I’ll choose which instance I would like to use. I’ll choose the 2 cores option:\r\n\r\n\u003cp align=\"left\"\u003e\r\n  \u003cimg src=\"pictures/07_create_new_cs_select_instance.png\" width=\"60%\" height=\"40%\" title=\"07_create_new_cs_select_instance\"\u003e\r\n\u003c/p\u003e\r\n\r\nAfter that, the Codespace will be created:\r\n\r\n\u003cp align=\"left\"\u003e\r\n  \u003cimg src=\"pictures/08_building_dev_container.png\" width=\"70%\" height=\"50%\" title=\"08_building_dev_container\"\u003e\r\n\u003c/p\u003e\r\n\r\nAfter the successful creation, I can recognize that an active Codespace is available for my repository:\r\n\r\n\u003cp align=\"left\"\u003e\r\n  \u003cimg src=\"pictures/09_git_repo_cs.png\" width=\"80%\" height=\"60%\" title=\"09_git_repo_cs\"\u003e\r\n\u003c/p\u003e\r\n\r\nThat is the view in Visual Studio Code:\r\n\r\n\u003cp align=\"left\"\u003e\r\n  \u003cimg src=\"pictures/10_finished_cs.png\" width=\"80%\" height=\"60%\" title=\"10_finished_cs\"\u003e\r\n\u003c/p\u003e\r\n\r\nI’m going to verify that the desired tools are installed. Therefore, I’ll enter “az” in the terminal:\r\n\r\n\u003cp align=\"left\"\u003e\r\n  \u003cimg src=\"pictures/11_finished_cs_azure.png\" width=\"80%\" height=\"60%\" title=\"11_finished_cs_azure\"\u003e\r\n\u003c/p\u003e\r\n\r\nIn addition, I also prove that Terraform was provided properly by typing “terraform”:\r\n\r\n\u003cp align=\"left\"\u003e\r\n  \u003cimg src=\"pictures/12_finished_cs_terraform.png\" width=\"80%\" height=\"60%\" title=\"12_finished_cs_terraform\"\u003e\r\n\u003c/p\u003e\r\n\r\nSo my Codespace named “obscure funicular” is ready, which includes my customized dev container, and I would be ready to start my development using Terraform on Azure.\r\n\r\n## Stop your Codespace\r\n\r\nDon’t forget to stop the Codespace, if you don’t need it:\r\n\r\n\u003cp align=\"left\"\u003e\r\n  \u003cimg src=\"pictures/13_stop_cs.png\" width=\"80%\" height=\"60%\" title=\"13_stop_cs\"\u003e\r\n\u003c/p\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatkoch%2Fazure_terraform_codespace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatkoch%2Fazure_terraform_codespace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatkoch%2Fazure_terraform_codespace/lists"}