🏗 azd-infra
Command line tool to manage your Azure Developer CLI (AZD) projects' infrastructure.
[!NOTE]
Only Bicep templates are supported for now.
Usage
You need Node.js v20+ and git installed on your machine to use this tool.
You can either install the CLI globally:
npm install -g azd-infra
Or use it directly with npx
without installing it:
npx azd-infra@latest <command>
[!TIP]
The quickest way to get started is to run the following command in your project's root folder:
npx azd-infra@latest refresh
This will interactively update your project's infrastructure with the latest AZD core templates and fix any missing or unused templates.
Available commands
azd-infra add
: Adds one or more AZD core templates to your infrastructure.azd-infra update
: Checks your infrastructure and updates it using latest AZD core templates.azd-infra fix
: Checks your infrastructure dependency graph for missing or unused resources and fixes them.azd-infra refresh
: Runs update
and fix
in sequence.
Commands are interactive and will ask you for confirmation before applying changes, unless you use the --yes
flag.
azd-infra add
This command will perform the following tasks:
- Clone the latest version of the AZD repository in a temporary folder.
- Ask you to select the templates you want to add to your infrastructure.
- Resolve the dependencies of the selected templates
- Ask you to confirm the changes
- Copy the selected templates to your infrastructure folder.
azd-infra update
This command will perform the following tasks:
- Clone the latest version of the AZD repository in a temporary folder.
- Scan your project's infrastructure folder and compare
core
templates with their latest version. - List each core template of your project to show you its status:
current
: if the template is up to dateupdate
: if a newer version availablemissing
: if no matching file existing in latest core templates. This usually happens when a template has been renamed or removed.
- Ask you to confirm the changes
- Update the templates in your infrastructure folder. Missing templates will be left untouched.
azd-infra fix
This command will perform the following tasks:
- Scan your project's infrastructure folder and build a dependency graph of all resources.
- List missing referenced and unused templates
- Ask you to confirm the changes
- Remove unused templates and add missing templates to your infrastructure folder.
azd-infra refresh
This command will run update
and fix
in sequence. This is the recommended command to keep your infrastructure up to date, as sometimes updating a template can introduce new dependencies that will be detected and fixed by the fix
command.