Azure / Azure/bicep

Globally unique identifier for Bicep extensions / providers

Open
#13,233 0 comments 0 reactions 0 assignees View on GitHub
enhancement story: extensibility
Dominant language
Bicep
Stars
3.6k
Forks
830
Avg merge
1d 21m
Merged PRs (30d)
79

Description

Using the `name` attribute as the identifier for Bicep extensions (or Bicep extensibility providers) introduces challenges in scenarios involving third-party Bicep extension support and local mode deployment. Consider a situation where an organization develops a Kubernetes extension with the name `Kubernetes` with a specialized backend and publishes its types to a private registry. In the bicepconfig.json file, it's possible for a user to specify the installation of both the custom Kubernetes extension from the private registry and the official Kubernetes extension provided by the Bicep team from the MCR. However, since both extensions are named `Kubernetes`, the Bicep compiler cannot differentiate between them, leading to conflicts and preventing the simultaneous import of both extensions in a single Bicep file.

This topic is related to [Bicep REP 0002](https://github.com/Azure/bicep-reps/blob/main/active/0002-centalized-mgmt-resource-types-provider-versions.md). However, addressing this complexity requires future consideration and falls outside the scope of the current design. We should revisit the problem when it comes to implement 3rd party extension support.

Contributor guide

Open the contributing guide

Research direction

Start by reading Bicep REP 0002 and the extension installation settings described in bicepconfig.json. Trace how the Bicep compiler identifies extensions from private registries and MCR when they share a name. Done requires an agreed design for globally distinguishing third-party and official providers; this issue names no implementation files or tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.