FAQ¶
What is AzureLocal/platform?¶
Centralized standards, reusable workflows, test frameworks, and scaffolding for the ~28 repos in the AzureLocal org. Replaces the drift-prone practice of copying standards folders and CI workflows from one repo to the next.
How is platform different from AzureLocal/.github?¶
.github owns governance metadata (community-health files, org-level reusable workflows for release-please/add-to-project/validate-structure). platform owns developer tooling (stack-specific reusable workflows, PS modules, testing frameworks, templates, ADRs, docs). See reusable-workflows/split-rule.
Do I have to adopt platform?¶
No — adoption is opt-in. But unadopted repos are flagged by drift-audit.yml's monthly report. For the AzureLocal org's active repos, adoption is the plan.
What version should I pin to?¶
While platform is pre-stable (v0.x.x), pin @main. When v1.0.0 ships, switch to @v1. drift-check.yml enforces the current rule.
Can I use platform from a private repo?¶
Yes for consuming. Public → public and private → public reusable-workflow calls both work. Private reusable workflows cannot be called from public repos — which is why platform is public.
Where do I file bugs?¶
AzureLocal/platform issues. Use labels bug, docs, maproom, ci, template to categorize.
How do I propose a new standard?¶
PR on docs/standards/<your-page>.md. A new standards topic requires the ADR process — see governance/adr-process.
How do I propose a new reusable workflow?¶
- ADR explaining the problem and proposed contract.
- Draft workflow as
reusable-<name>.yml. - At least one consumer ready to adopt it immediately (proves the contract fits).
- Platform PR with the workflow + consumer adoption + docs in one batch.
What's MAPROOM vs TRAILHEAD vs IIC canon?¶
- MAPROOM — offline fixture-based testing framework. Runs in CI.
- TRAILHEAD — live-cluster cycles with evidence capture. Runs out-of-band.
- IIC canon — canonical fictional-company test data. Used by both.
See getting-started/glossary for the full glossary.
Can I contribute if I'm not in the AzureLocal org?¶
Yes — external PRs welcome. Review cadence is slower (single-maintainer). Prefer small, focused PRs; discuss larger changes in an issue first.
Does platform support languages other than PowerShell and TypeScript?¶
Today, no. Reusable workflows cover PS modules, TS web apps, and IaC (Bicep/Terraform). New language support requires an ADR + a consumer ready to adopt it on day one.
How often does platform release?¶
When a qualifying commit lands on main, release-please opens/updates a release PR. Merge cadence is up to the maintainer — see governance/release-cycle.
What happens when I remove a consumer from the AzureLocal org?¶
Nothing in platform changes. The repo's drift-audit.yml entry disappears on the next monthly run because Get-AzureLocalRepoInventory reads live from gh repo list.
How do I run tests for platform itself?¶
See contributing/testing-platform.
Why is the canon called "IIC"?¶
Infinite Improbability Corp — a fictional company. Chosen so (a) no real customer data ever enters fixtures and (b) everyone on the team uses the same named cluster/nodes/subscription IDs in examples. See maproom/iic-canon for the full reference.
Who can merge to platform main?¶
Anyone listed in CODEOWNERS — currently just @kristopherjturner. Branch protection enforces one approval + passing CI.
How do I extend a template variant?¶
Edit the files under templates/<variant>/. Every new run of New-AzureLocalRepo.ps1 -Type <variant> will pick up the change. To add a whole new variant, see scaffolds/authoring-new-variant.
What if I find a security issue?¶
See SECURITY.md at the repo root. Do not file a public issue for security disclosure.