Modules¶
AzureLocal/platform ships two PowerShell modules consumed by org-scripts, reusable workflows, and product-repo test suites.
Published modules¶
| Module | Version | Location | Purpose |
|---|---|---|---|
| AzureLocal.Common | 0.2.0 | modules/powershell/AzureLocal.Common/ | Shared helpers: logging, repo inventory, conformance checks, IIC identity |
| AzureLocal.Maproom | 0.2.0 | testing/maproom/ | Fixture-based testing framework — fixture loading, schema validation, canon path resolution |
Distribution¶
Modules are git-sourced — imported from a local clone or via the reusable-workflow checkout pattern. PSGallery publication is deferred until platform hits v1.0.0.
Import pattern in CI (handled automatically by reusable-ps-module-ci.yml and reusable-maproom-run.yml):
Import-Module "$env:PLATFORM_ROOT/modules/powershell/AzureLocal.Common/AzureLocal.Common.psd1" -Force
Import-Module "$env:PLATFORM_ROOT/testing/maproom/AzureLocal.Maproom.psd1" -Force
Local dev import:
Import-Module ./modules/powershell/AzureLocal.Common/AzureLocal.Common.psd1 -Force
Import-Module ./testing/maproom/AzureLocal.Maproom.psd1 -Force
Version policy¶
Modules follow the platform version (same SemVer, same tag). Breaking changes to exported functions require a major bump. See governance/breaking-changes.
Planned modules¶
| Module | Target version | ADR |
|---|---|---|
AzureLocal.Compass (COMPASS — compliance/policy assertions) | v0.3.0 | ADR-0004 |
AzureLocal.Ledger (LEDGER — migration inventory diff) | v0.3.0 | ADR-0004 |
AzureLocal.Pulse (PULSE — synthetic workload harness) | v0.3.0 | ADR-0004 |
AzureLocal.Muster (MUSTER — repo conformance engine) | v0.3.0+ | ADR-0004 |
MUSTER is effectively implemented today inside AzureLocal.Common via Test-RepoConformance — it's extracted as a standalone module when its surface stabilises.
Contributing a new module¶
- ADR required.
- Module directory under
modules/powershell/<ModuleName>/. - Manifest (
.psd1) withModuleVersion,FunctionsToExport,PowerShellVersion = '7.2'. - Public functions under
Public/*.ps1; private helpers underPrivate/*.ps1. - Pester tests under
modules/powershell/<ModuleName>/tests/. - Documentation page under
docs/modules/<ModuleName>.mdand add tomkdocs.ymlnav.