Support for defining registry modules and template spec modules as variables
- Dominant language
- Bicep
- Stars
- 3.6k
- Forks
- 830
- Avg merge
- 1d 21m
- Merged PRs (30d)
- 79
Description
**Is your feature request related to a problem? Please describe.**
If the path to the registry module or the template spec module is a static value this will make this feature very limited. The reason for that is if you want to have solution that uses this feature and you want the solution to be given to multiple different customers the following problems will be present:
* customers will have to use specific bicep registry. They cannot use their own registry even if they have the same modules in their own. This means you will have to manage credentials for multiple customers in order to have access to the same bicep registry
* With template specs it is even more limited. Basically you cannot give the solution to the customer as the module will refer to template spec that is not in their tenant. For each customer you will have to create a solution pointing to their template spec. On top of that you will need to know in advance the template spec resource ID when creating the solution.
**Describe the solution you'd like**
My proposal is in the syntax is to have some default value for bicep registry /template spec and that value to be mandatory. Currently that is the case but also to have some property which if it is null the default value will be used but if it is not it will use the bicep registry / template spec defined into that parameter. That way you can have input parameter for example param bicepRegistry string = ''. If it is empty you put null into that property and if it is not you can do something like '${bicepRegistry}:${version}' where version is static variable. This would allow to have all the VS code goodies while developing as the module will be fetched from the default value and ability to have flexibility when you develop solution that needs to be used by multiple customers.
Contributor guide
Research direction
The issue names no files, tests, or entry points. Start by tracing how registry and template spec module paths are currently resolved, then define how a default path and an optional variable override should interact; done means both module types support the proposed fallback and customer-specific values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure
- Domain
- cloud, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100