Skip to content

This repository includes a CI platform for and collection of mature and curated Bicep modules. The platform supports both ARM and Bicep and can be leveraged using GitHub actions as well as Azure DevOps pipelines.

License

Notifications You must be signed in to change notification settings

Ricky-G/ResourceModules

 
 

Repository files navigation

⚠️ CARML - AVM transition ⚠️

CARML evolved to and has been rebranded as the Bicep version of Azure Verifiefd Modules (AVM). AVM is a straight-line successor of CARML, the next evolutionary step. A lot of CARML’s principles and architecture decisions have formed the basis for AVM.

While this means some minor changes in things such as parameter names or "standard interfaces" (e.g., diagnostic settings, etc.), you can still use the same modules you're used to and love, as they have been transitioned to AVM as resource or pattern modules.

  • You can find the full list of all AVM modules in the AVM Module Indexes.
  • Each module is published in the Public Bicep Registry and their source code can be found in the underlying repository (BRM)!

A notice with additional details has been placed in each module. If for any reason, you still need access to the CARML version of the module, you can find it in the CARML repository by following the links in the module's README.md file.

Going forward, only the AVM version of the modules will receive updates and new features.

  • Please do not file issues in CARML or work on improving the module in CARML as further contributions to these modules will not be integrated in the CARML repository!
  • To open an AVM module issue, use the Module Issue template in the BRM repository.
  • If you accidentally raise an issue in the wrong place, we will transfer it to its correct home - the AVM Bicep repository (BRM).

NOTE: A few modules have been retired without being moved to AVM as is. In most of these cases, capabilities originally provided by these modules have been implemented differently in AVM - e.g., as part of all AVM modules.

In the upcoming period, the AVM team will work on ensuring full compatibility of CARML's inner-sourcing solution (CI environment) with AVM.

AzureIcon Common Azure Resource Modules Library

Description

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.

Get started

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 latter, note, that you need to manually update the Bicep CLI. For further information, see our troubleshooting guide.

Available Resource Modules

Provider namespace Resource Type Name Deploy
Microsoft.AAD domainServices
Microsoft.AnalysisServices servers
Microsoft.ApiManagement service
Microsoft.App containerApps
jobs
managedEnvironments
Microsoft.AppConfiguration configurationStores
Microsoft.Authorization locks
policyAssignments
policyDefinitions
policyExemptions
policySetDefinitions
roleAssignments
roleDefinitions
Microsoft.Automation automationAccounts
Microsoft.Batch batchAccounts
Microsoft.Cache redis
redisEnterprise
Microsoft.Cdn profiles
Microsoft.CognitiveServices accounts
Microsoft.Compute availabilitySets
disks
diskEncryptionSets
galleries
images
proximityPlacementGroups
sshPublicKeys
virtualMachines
virtualMachineScaleSets
Microsoft.Consumption budgets
Microsoft.ContainerInstance containerGroups
Microsoft.ContainerRegistry registries
Microsoft.ContainerService managedClusters
Microsoft.DataFactory factories
Microsoft.DataProtection backupVaults
Microsoft.Databricks accessConnectors
workspaces
Microsoft.DBforMySQL flexibleServers
Microsoft.DBforPostgreSQL flexibleServers
Microsoft.DesktopVirtualization applicationGroups
hostPools
scalingPlans
workspaces
Microsoft.DevTestLab labs
Microsoft.DigitalTwins digitalTwinsInstances
Microsoft.DocumentDB databaseAccounts
Microsoft.EventGrid domains
systemTopics
topics
Microsoft.EventHub namespaces
Microsoft.HealthBot healthBots
Microsoft.HealthcareApis workspaces
microsoft.insights actionGroups
activityLogAlerts
components
dataCollectionEndpoints
dataCollectionRules
diagnosticSettings
metricAlerts
privateLinkScopes
scheduledQueryRules
webtests
Microsoft.KeyVault vaults
Microsoft.KubernetesConfiguration extensions
fluxConfigurations
Microsoft.Logic workflows
Microsoft.MachineLearningServices workspaces
Microsoft.Maintenance maintenanceConfigurations
Microsoft.ManagedIdentity userAssignedIdentities
Microsoft.ManagedServices registrationDefinitions
Microsoft.Management managementGroups
Microsoft.NetApp netAppAccounts
Microsoft.Network applicationGateways
ApplicationGatewayWebApplicationFirewallPolicies
applicationSecurityGroups
azureFirewalls
bastionHosts
connections
ddosProtectionPlans
dnsForwardingRulesets
dnsResolvers
dnsZones
expressRouteCircuits
expressRouteGateways
firewallPolicies
frontDoors
FrontDoorWebApplicationFirewallPolicies
ipGroups
loadBalancers
localNetworkGateways
natGateways
networkInterfaces
networkManagers
networkSecurityGroups
networkWatchers
privateDnsZones
privateEndpoints
privateLinkServices
publicIPAddresses
publicIPPrefixes
routeTables
serviceEndpointPolicies
trafficmanagerprofiles
virtualHubs
virtualNetworks
virtualNetworkGateways
virtualWans
vpnGateways
vpnSites
Microsoft.OperationalInsights workspaces
Microsoft.OperationsManagement solutions
Microsoft.PolicyInsights remediations
Microsoft.PowerBIDedicated capacities
Microsoft.Purview accounts
Microsoft.RecoveryServices vaults
Microsoft.Relay namespaces
Microsoft.ResourceGraph queries
Microsoft.Resources deploymentScripts
resourceGroups
tags
Microsoft.Search searchServices
Microsoft.Security azuresecuritycenter
Microsoft.ServiceBus namespaces
Microsoft.ServiceFabric clusters
Microsoft.SignalRService signalR
webPubSub
Microsoft.Sql managedInstances
servers
Microsoft.Storage storageAccounts
Microsoft.Synapse privateLinkHubs
workspaces
Microsoft.VirtualMachineImages imageTemplates
Microsoft.Web connections
hostingEnvironments
serverfarms
sites
staticSites

Platform

Name Status
Update API Specs file .Platform: Update API Specs file
Assign Pull Request to Author .Platform: Assign Pull Request to Author
Test - ConvertTo-ARMTemplate.ps1 .Platform: Test - ConvertTo-ARMTemplate.ps1
Clean up deployment history .Platform: Clean up deployment history
Library PSRule pre-flight validation .Platform: Library PSRule pre-flight validation
Broken Links Check .Platform: Broken Links Check
Linter (audit) .Platform: Linter (audit)
Manage issues for failing pipelines .Platform: Manage issues for failing pipelines
Update ReadMe Module Tables .Platform: Update ReadMe Module Tables
Update Static Test Documentation .Platform: Update Static Test Documentation
Sync Docs/Wiki .Platform: Sync Docs/Wiki

Disclaimer

Please note that the main branch of this repository 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 from main. It is always recommended to review changes before you pull them into your own repository.

Contributing

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 opencode@microsoft.com with any additional questions or comments.

For specific guidelines on how to contribute to this repository please refer to the Contribution guide Wiki section.

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

Telemetry

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.

About

This repository includes a CI platform for and collection of mature and curated Bicep modules. The platform supports both ARM and Bicep and can be leveraged using GitHub actions as well as Azure DevOps pipelines.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PowerShell 89.4%
  • Bicep 10.6%