{"id":13707195,"url":"https://github.com/lopezleandro03/azd-devcenter","last_synced_at":"2025-05-06T00:30:35.276Z","repository":{"id":191237430,"uuid":"683384594","full_name":"lopezleandro03/azd-devcenter","owner":"lopezleandro03","description":"A template to get started with Azure Deployment Environments.","archived":false,"fork":false,"pushed_at":"2023-09-07T13:45:08.000Z","size":356,"stargazers_count":10,"open_issues_count":1,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-11-13T15:49:38.131Z","etag":null,"topics":["azure","platform-engineering"],"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/lopezleandro03.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-26T11:57:26.000Z","updated_at":"2024-03-12T09:31:09.000Z","dependencies_parsed_at":"2024-01-14T20:34:23.248Z","dependency_job_id":null,"html_url":"https://github.com/lopezleandro03/azd-devcenter","commit_stats":null,"previous_names":["lopezleandro03/azd-devcenter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lopezleandro03%2Fazd-devcenter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lopezleandro03%2Fazd-devcenter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lopezleandro03%2Fazd-devcenter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lopezleandro03%2Fazd-devcenter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lopezleandro03","download_url":"https://codeload.github.com/lopezleandro03/azd-devcenter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252598167,"owners_count":21774213,"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":["azure","platform-engineering"],"created_at":"2024-08-02T22:01:24.097Z","updated_at":"2025-05-06T00:30:34.668Z","avatar_url":"https://github.com/lopezleandro03.png","language":"HCL","funding_links":[],"categories":["HCL"],"sub_categories":[],"readme":"# Terraform template to bootstrap Azure Deployment Environments\n\nAzure Deployment Environments empowers development teams to quickly and easily spin up app infrastructure with project-based templates that establish consistency and best practices while maximizing security. This on-demand access to secure environments accelerates the stages of the software development lifecycle in a compliant and cost-efficient way.\n\nThis repo uses the Azure Developer CLI to bootstrap a DevCenter resource with the minimun configuration required to start using Azure Deployment Environments.\n\n![Diagram](./assets/azure-deployment-environments-diagram.png)\n\nLearn more about the [key concepts for Azure Deployment Environments](https://learn.microsoft.com/en-us/azure/deployment-environments/overview-what-is-azure-deployment-environments).\n\n## Overview\n\nA deployment environment is a preconfigured collection of Azure resources deployed in predefined subscriptions. Azure governance is applied to those subscriptions based on the type of environment, such as sandbox, testing, staging, or production.\n\nWith Azure Deployment Environments, your platform engineers can enforce enterprise security policies and provide a curated set of predefined infrastructure as code (IaC) templates. Your developers will use those templates to deploy environments on demand in a self-service manner.\n\n\u003e Note: Azure Deployment Environments currently supports only Azure Resource Manager (ARM) templates and Terraform (Private Preview).\n\nThis repo will deploy several Azure resources and configure DevCenter to let you start exploring Azure Deployment Environments. The following resources will be deployed:\n\n- A resource group\n- An Azure DevCenter resource\n- An Azure Key Vault resource to store the GitHub token to connect to the catalog\n- Sample DevCenter environment types (development, sandbox, etc.)\n- Sample DevCenter projects (Team-one, Team-two, etc.)\n- Projects environment types definitions (development, sandbox)\n\nThe projects and environments defined serve as inspiration to start using Azure Deployment Environments, you can delete them and create your own.\n\nAll azure resources are defined as code using Terraform, the environment definition can be found in the `infra` folder.\n\nLet's get started!\n\n## Pre-requisites\n\nMake sure you have the following tools installed:\n\n1. [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)\n2. [Azure Developer CLI](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/)\n3. [Terraform CLI](https://learn.hashicorp.com/tutorials/terraform/install-cli)\n4. An Azure subscription with at least `Owner` RBAC role assigned to the deployment identity\n\n## Deploy with Azure Developer CLI\n\n\u003e Note: Before starting, create a GitHub PAT with `repo` scope to connect to a GitHub repository as a catalog. Learn more about [creating a GitHub PAT](https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token).\n\n1. Define the following environment variables which will be used to link a GitHub repository as a DevCenter catalog. A catalog is the repository that contains the environment definitions as infrastructure as code templates. Use the [Azure official repo for Azure Deployment Environments](https://github.com/Azure/deployment-environments) to import sample environments.\n\n```bash\n# Bash\nexport GITHUB_TOKEN=\u003cgithub_token\u003e\nexport GITHUB_OWNER=\u003cgithub_owner\u003e # Use 'Azure' to use Microsoft official catalog\nexport GITHUB_REPO=\u003cgithub_repo\u003e # Use 'deployment-environments' to use Microsoft official catalog\n```\n\nPowerShell:\n```PowerShell\n# PowerShell\n$env:GITHUB_TOKEN=\"\u003cgithub_token\u003e\"\n$env:GITHUB_OWNER=\"\u003cgithub_owner\u003e\" # Use 'Azure' to use Microsoft official catalog\n$env:GITHUB_REPO=\"\u003cgithub_repo\u003e\" # Use 'deployment-environments' to use Microsoft official catalog\n```\n\n2. Run `azd up` from the root folder of this repository and follow the prompts to bootstrap your DevCenter.\n3. Go to the [Developer Portal](https://devportal.microsoft.com) and start creating environments.\n\n## Developer Experience\n\nOnce Azure Deployment Environments is deployed and configured, you can start creating environments in the Developer Portal. The following screenshot shows the Developer Portal with the sample environments and projects deployed with this repo.\n\n![Developer Portal](./assets/devportal.png)\n\nAlternatively, you can deploy environments using the Azure CLI. Learn more about the [Azure Deployment Environments CLI](https://learn.microsoft.com/en-us/azure/deployment-environments/how-to-create-access-environments) or [CI/CD pipelines](https://learn.microsoft.com/en-us/azure/deployment-environments/tutorial-deploy-environments-in-cicd-github).\n\n## Resources\n\n- [Azure Deployment Environments Docs](https://learn.microsoft.com/en-us/azure/deployment-environments/overview-what-is-azure-deployment-environments)\n- [Azure Deployment Environments GitHub repo](link_to_sample_templates_repository)\n- [Microsoft Build 2023 session: Self-serve app infrastructure using Azure Deployment Environments](https://build.microsoft.com/en-US/sessions/e102bb71-f8ef-4538-9a59-158ec6f442b6?source=sessions)\n\n## Contributing\n\nThis project welcomes contributions and suggestions. Submit a pull request with your changes!\n\n## Issues \u0026 Feedback\n\nIf you have any feature requests, issues, or areas for improvement, please file an issue.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flopezleandro03%2Fazd-devcenter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flopezleandro03%2Fazd-devcenter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flopezleandro03%2Fazd-devcenter/lists"}