Azure Verified Modules (AVM)

repository·main·Indexed 20 days ago

https://github.com/azure/azure-verified-modules

A library of high-quality, tested, and consistent Infrastructure as Code (IaC) modules for Azure, supporting Bicep and Terraform. AVM provides resource modules for generalized deployments and pattern modules for reusable architectural patterns, all aligned with the Azure Well-Architected Framework. The project defines standards for construction, consumption, and delivery to ensure a trusted Microsoft source of truth for Azure infrastructure.

Tokens
179.7K
Snippets
276
Records
616
Agent score
68%

What's inside Azure Verified Modules

  1. Overview of the Spec Kit workflow

    main

    Spec Kit is an AI-assisted workflow designed to transform ambiguous requirements into traceable, high-quality code. It establishes a structured chain of traceability from initial principles to final implementation, ensuring that every line of code can be linked back to a specific requirement. This is particularly useful when building infrastructure-as-code solutions that must align with Azure best practices.

    The workflow consists of several key stages:

    1. Constitution: Define non-negotiable constraints (security, compliance, architecture patterns).
    2. Specify: Define the requirements.
    3. Clarify (Optional): Challenge assumptions and refine requirements.
    4. Plan: Create a well-defined plan to prevent rework.
    5. Checklist (Optional): Define validation criteria.
    6. Tasks: Break down the project into manageable units with clear acceptance criteria.
    7. Analyze (Optional): Validate for inconsistencies.
    8. Implement: Write the actual code.
  2. Overview of Issue Triage Automation in AVM

    main

    The Azure Verified Modules (AVM) program uses automation to assist in the triage of issues and Pull Requests (PRs) raised against AVM module repositories. This automation is designed to streamline the management of community contributions and bug reports.

    Note on current status: Some automation rules, including scheduled 'chase' searches and per-issue/PR triage comments (previously handled by ITA06), are currently disabled or have had their commenting functionality removed. This was done to prevent notification fatigue. The AVM team intends to refine and re-enable these automations in the future.

  3. Overview of Bicep solution development with Azure Verified Modules

    main

    Azure Verified Modules (AVM) for Bicep allow developers to deploy Azure resources that follow Microsoft's recommended best practices. Using AVM modules helps ensure that infrastructure is secure, auditable, and aligned with the Microsoft Well-Architected Framework (WAF).

    Key capabilities covered in the development workflow include:

    • Discovering and adding AVM modules to Bicep templates.
    • Referencing and using outputs across different AVM modules.
    • Implementing recommended parameterization and file structures.
    • Configuring modules to meet WAF principles.
    • Deploying Bicep templates from a local machine to an Azure subscription.
  4. What is Azure Verified Modules (AVM)?

    main

    Azure Verified Modules (AVM) is a program designed to provide a single, unified definition of high-quality Infrastructure as Code (IaC) modules. AVM aims to deliver a comprehensive library of modules in multiple IaC languages (such as Bicep and Terraform) that serve as the trusted Microsoft source of truth.

    Key characteristics of AVM modules include:

    • Consistency: Modules follow strict specifications for construction, building, and consumption.
    • WAF Alignment: Modules align with high-priority recommendations from the Azure Well-Architected Framework (WAF).
    • Microsoft Support: Modules are supported by Microsoft across various internal organizations.
    • Reliability: Modules are tested for specification compliance (via Unit and Integration tests) and verified through End-to-End deployment tests.
    • Self-Service: Each module provides clear documentation and examples to facilitate easy consumption.
  5. Overview of the Azure Verified Modules GitHub App

    main

    The Azure Verified Modules GitHub App is a GitHub App used to automate repository management for the Azure Verified Modules (AVM) program. It handles tasks such as issue triage, pull request labeling, team validation, and documentation updates.

    Authentication & Execution:

    • The app authenticates using TEAM_LINTER_APP_ID and TEAM_LINTER_PRIVATE_KEY.
    • It executes PowerShell scripts via scheduled workflows or event-triggered actions.
  6. Overview of AI-Assisted Module Development

    main

    AVM module owners and core team members can use GitHub Copilot and related AI capabilities to accelerate the development, maintenance, and validation of Azure Verified Modules (AVM) Bicep modules. The goal is to embed AVM-specific knowledge (coding standards, compliance requirements, and project baselines) directly into the development environment to improve consistency and reduce manual effort.

    Note: This content is currently experimental. While this guide focuses on module owners, end users looking to build complex solutions using AI should refer to the [AI-Assisted IaC Solution Development] guide instead.

  7. Overview of Spec Kit

    main

    Spec Kit is a reference implementation of Specification-Driven Development (SDD) principles. It is designed as an AI-native workflow to accelerate solution development by translating project requirements into a structured sequence of specifications, plans, executable tasks, and implemented code. It was developed through collaboration between the open-source community, Microsoft, and Anthropic.

    Note: This is experimental content exploring emerging technologies and innovative approaches.

  8. Adhere to the Legacy Azure Workload Constitution

    main
    The Legacy Azure Workload Constitution establishes the mandatory governance framework for managing legacy Azure workloads. It prioritizes Infrastructure-as-Code (IaC) using Bicep, the use of Azure Verified Modules (AVM), and strict validation before deployment. All infrastructure changes must comply with these principles to ensure compliance auditability, security, and reliability.
  9. Key features of Hugo Relearn Theme

    main

    The Relearn theme provides several advanced capabilities for documentation sites:

    Appearance & Customization

    • Responsive Design: Optimized for mobile, tablet, and desktop.
    • Theming: Automatic light/dark mode switching based on OS settings, multiple pre-defined color variants, and a built-in stylesheet generator.
    • Branding: Flexible logo and brand image configuration.
    • Syntax Highlighting: Customizable syntax highlighting settings.

    Functionality

    • Search: Supports in-page, popup, and dedicated search pages, including mixed-language support.
    • Navigation: Configurable menus, customizable top bar buttons, and support for hidden pages.
    • Multilingual: Full right-to-left (RTL) support and extensive language coverage (e.g., Arabic, Chinese, Japanese, etc.).
    • Printing: Chapter and site-wide printing capabilities.

    Content & Authoring

    • Markdown: Supports CommonMark, Obsidian callouts, and advanced image manipulation (lightbox, sizing, shadows, etc.).
    • Shortcodes: A rich library including badges, buttons, expandable content, Mermaid diagrams, Math support, and OpenAPI specification rendering.
    • Offline Use: Can be used without external dependencies or a web server.
  10. Access Azure Verified Modules (AVM) Specifications & Definitions

    main

    The Azure Verified Modules (AVM) program provides a set of standardized specifications and definitions to ensure module quality and consistency. Developers can access the following core specification areas:

    • Team Definitions & RACI: Defines roles and responsibilities within the AVM ecosystem.
    • Module Classifications: Categorizes modules based on their purpose and scope.
    • Module Lifecycle: Outlines the stages a module goes through from development to retirement.
    • Module Specifications: Detailed technical requirements for modules, divided into:
      • Bicep Specific: Requirements for Bicep-based modules.
      • Terraform Specific: Requirements for Terraform-based modules.
  11. Access Azure Verified Modules (AVM) documentation and code

    main

    This repository is primarily used for proposing and tracking the state of modules, managing issues, and hosting documentation.

    To find the actual IaC (Infrastructure as Code) module implementations or detailed guidance, use the following resources: