Skip to content

The context CARML overview

CARMLPipelinePrincipal edited this page Jun 20, 2022 · 4 revisions

This section provides an overview of the Common Azure Resource Modules Library (CARML) repository.

CARML overview

The content of this repository is twofold: it's a library of comprehensive Azure resource modules that conform to the Azure Resource Reference, as well as a continuous integration (CI) environment that enables testing and versioning.

  • The library hosts a collection of comprehensive, reusable, Bicep-based building blocks to deploy Azure resources. In addition, it provides optional features across modules, such as child resources, role assignments, locks and diagnostic settings. An overview of the CARML library is first introduced in this section, on the The context - CARML library page, while further details are provided on the corresponding wiki page - see the The library section.
  • The continuous integration (CI) environment ensures the modules are valid and can perform the intended deployments. As such, the repository includes built-in lifecycle capabilities for each module, supporting continuous validation and versioned publishing across multiple target location options. An overview of the CARML CI environment is first introduced in this section, on the The context - CARML CI environment page, while further details are provided on the corresponding wiki page - see the The CI environment section.

The repository supports Bicep as primary domain specific language (DSL) and GitHub workflows as primary orchestration for the CI environment. However, considering both Bicep and GitHub workflows are relatively new compared to, respectively, ARM/JSON templates and Azure DevOps pipelines, the repository also provides support for the latter options in any combination. Further details on this matter are provided on the corresponding wiki page - see the Interoperability section.

Clone this wiki locally