Azure Developer CLI (azd
) supports multiple infrastructures as code (IaC) providers, including:
By default, azd
assumes Bicep as the IaC provider. Refer to the Comparing Terraform and Bicep article for help deciding which IaC provider is best for your project.
Open the azure.yaml
file found in the root of your project and make sure you have the following lines to override the default, which is Bicep:
infra:
provider: terraform
Add all your .tf
files to the infra
directory found in the root of your project.
Run azd up
.
azd pipeline config
for Terraform
Terraform stores state about your managed infrastructure and configuration. Because of this state file, you need to enable remote state before you run azd pipeline config
to set up your deployment pipeline in GitHub.
By default, azd
assumes the use of local state file. If you ran azd up
before enabling remote state, you need to run azd down
and switch to remote state file.
Terraform uses persisted state data to keep track of the resources it manages.
Scenarios for enabling remote state:
Make sure you configure a remote state storage account.
Add a new file called provider.conf.json
in the infra
folder.
{
"storage_account_name": "${RS_STORAGE_ACCOUNT}",
"container_name": "${RS_CONTAINER_NAME}",
"key": "azd/azdremotetest.tfstate",
"resource_group_name": "${RS_RESOURCE_GROUP}"
}
Update provider.tf
found in the infra
folder to set the backend to be remote
# Configure the Azure Provider
terraform {
required_version = ">= 1.1.7, < 2.0.0"
backend "azurerm" {
}
Run azd env set <key> <value>
to add configuration in the .env
file. For example:
azd env set RS_STORAGE_ACCOUNT your_storage_account_name
azd env set RS_CONTAINER_NAME your_terraform_container_name
azd env set RS_RESOURCE_GROUP your_storage_account_resource_group
Run the next azd
command as per your usual workflow. When remote state is detected, azd
initializes Terraform with the configured backend configuration.
To share the environment with teammates, make sure they run azd env refresh -e <environmentName>
to refresh environment settings in the local system, and perform Step 4 to add configuration in the .env
file.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4