Skip to content
CARMLPipelinePrincipal edited this page Aug 1, 2023 · 51 revisions

Common Azure Resource Modules Library

The CARML resource library provides Bicep modules which can be leveraged in your Infrastructure-as-Code project to accelerate solution development. You can re-use the code library as whole or in part. The primary aim is to provide you with re-usable building blocks, so that you can focus what matter the most. CARML accelerates your solution development, it also saves time on testing, it helps you easily integrate and overall, it provides you with commonality across your infrastructure deployments. You can integrate CARML into your CI/CD pipelines to accelerate your DevOps adoption.

CARML will accelerate the deployment of complex solutions, such as Azure landing zones, landing zone accelerators or individual multi-module applications/workloads.

This wiki describes the content of this repository, its modules, pipelines, and possible options on how to use them and how to contribute to this project.

If you're unfamiliar with Infrastructure-as-Code or wonder how you can use the content of this repository in your deployments, check out The context section of this wiki.

Navigation


Scope

In next section, you can find an overview of what is in scope and what is out of scope for CARML.

In Scope

  • Module library: CARML is a collection of comprehensive, reusable, Bicep-based building blocks to deploy Azure resources. It can also be combined to create & orchestrate more complex, multi-module Azure solutions.
  • CI environment: it provides DevOps pipelines. It can be used to validate modules and to publish modules which are successfully validated to a target location. It uses semantic versioning, and it can be used with both GitHub workflows and Azure DevOps pipelines.
  • Documentation: it includes design principles, usage of The library and The CI environment. It also includes step-by-step guidelines on how to start utilizing the CARML Library. For more details, please refer to Getting started section.

Out of Scope

  • Orchestration: Orchestrated, multi-module solutions, such as workloads or applications. As mentioned earlier, you can leverage modules to assemble and deploy such applications/workloads.

    Note: While we don't provide 'solution templates' we do provide some general guidelines you can find here.

  • Languages: Other domain-specific languages (DSL), like Terraform.

Module update frequency

Modules are updated by a group of committed contributors.

Reporting Issues

Bugs

If you find any bugs, please file an issue on the GitHub Issues page by filling out the provided template with the appropriate information.

Please search the existing issues before filing new issues to avoid duplicates.

If you are taking the time to mention a problem, even a seemingly minor one, it is greatly appreciated, and a totally valid contribution to this project. Thank you!

Feature requests

If there is a feature you would like to see in here, please file an issue or feature request on the GitHub Issues page to provide direct feedback.


Trademarks

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.


Learn More

Clone this wiki locally