Following the recent release of 0.11.0
, the upcoming period will focus on implementing the remaining changes required to align CARML's modules to the specifications of Azure Verified Modules (currently in development). This will enable us to move & publish the modules of the CARML library to the official Public Bicep Registry. You can read more about CARML's future in AVM here.
Please note that these changes will affect many interfaces (e.g., the diagnostic settings). We intend to keep this period as short as possible, but are limited by our own available capacity. As we want to avoid one 'big bang' migration, we will incrementally align & move modules, and keep a copy in this repository until the move is concluded. For modules that were already published, we will redirect the proposed changes to the AVM
folder of the new repository. In its final state, this AVM
folder will contain all modules you can currently find in the modules
folder of this repository.
Possible changes include (but are not limited to):
- An update of the extension resource interfaces (i.e., diagnostic settings, RBAC, etc.)
- An update of the
README.md
that comes with each module (including an update of the utility itself) to allow for a more detailed parameter description - An update to individual folder names
- The addition of several user defined types (requiring Bicep version
0.21.1
)
Once the move concluded, the library & CI environment is planned to be maintained. However, several changes to the CARML CI environment will become necessary to ensure a low entry barrier when onboarding both (for example, as per the AVM specs we will need to be less restrictive in our tests).
This repository includes a library of mature and curated Bicep modules as well as a Continuous Integration (CI) environment leveraged for modules' validation and versioned publishing.
The CI environment supports both ARM and Bicep and can be leveraged using GitHub actions as well as Azure DevOps pipelines.
- For introduction guidance visit the Wiki
- For guidance on which version of the code to leverage, see Disclaimer
- For information on contributing, see Contribution
- File an issue via GitHub Issues
- For reference documentation, visit Enterprise-Scale
- For an outline of the module features, visit Module overview
Note: To ensure the modules and environment work as expected, please ensure you are using the latest version of the used tools such as PowerShell and Bicep. Especially in case of the later, note, that you need to manually update the Bicep CLI. For further information, see our troubleshooting guide.
Please note that CARML is constantly evolving and introducing new features. The main
branch of this repository changes frequently and thus, it always contains the latest available version of the code. Some of the updates may introduce breaking changes as well.
- Default path: To avoid disruptions, use distinct versions available through releases.
- Early adopter path: If the risk of breaking changes is understood and accepted, you can use the code in the
main
branch directly. However, the CARML team recommends against automatically pulling code frommain
. It is always recommended to review changes before you pull them into your own repository.
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
For specific guidelines on how to contribute to this repository please refer to the Contribution guide Wiki section.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Modules provided in this library have telemetry enabled by default. To learn more about this feature, please refer to the Telemetry article in the wiki.