Azure / Azure/azure-dev

[layers v2] Handle adding AVM resources

Open
#9,772 0 comments 0 reactions 0 assignees View on GitHub
area/bicep area/layered-provisioning
Dominant language
Go
Stars
569
Forks
364
Avg merge
2d 19h
Merged PRs (30d)
136

Description

Part of #9765.

We can add a provisioning provider for AVMs, allowing you to use a new type of `infra` entry:

```yaml
# in either existing or layered mode
infra:
- name: avm-1
provider: avm
config:
path: br/public:avm/res/service-bus/namespace:0.17.0
```

> We should be able to do this without requiring all the other work to be done for `azd add`, as this is its own independent piece.

Similar to micro-templates, let's see if we can have two modes — one where we vendor the module (i.e., clone the entire AVM, added into the `infra/` folder) and one where we just reference the module and let the user pass us the equivalent of bicepparams, perhaps in config.

If you vendor it, it just flips to `provider: bicep` (or terraform). Otherwise, it uses our custom provider instead.

Contributor guide

Open the contributing guide

Research direction

Read the parent issue #9765 and inspect the existing micro-template provisioning flow. Define how the `infra` entry selects vendored versus referenced AVM resources and how configuration is passed to the custom provider. Done means an AVM entry works independently of `azd add` in both existing and layered modes.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, go, terraform
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.