Commit 990f2eb
committed
design+structure: full plan audit, 6 new ADRs, drop dead weight
Plan audit follow-up addressing every gap raised in the design review.
PLAN.md cleanup (cut dead weight):
- Drop Org Standards section detail referencing private AzureLocal/platform
(file contents, badge URLs, version pins moved to private repo memory)
- Drop "Phase 0 platform compliance checklist" (Phase 0 is complete; checklist
was stale)
- Drop "Blog & New Repo Reminders" block (project-management noise, not design)
- Drop stale MkDocs nav example (live mkdocs.yml is source of truth)
- Fix Override pack name in Key Decisions table:
AzureLocal.SCOM.MP.Overrides.xml -> AzureLocal.SCOM.Override.xml (per ADR 0007)
- Fix Org standards row in Key Decisions table (no longer references public badge)
- Fix repo structure tree: squaredup/ shown at root -> moved under src/
- Reconcile SquaredUp appendix: drop "Evaluate" language, point to committed
Phase 3 Step 4 / Phase 4 Step 5 work
Mermaid diagrams moved into docs/ (so MkDocs renders them):
- diagrams/mermaid/scom-health-rollup.md -> docs/scom-mp/diagrams/health-tree.md
- diagrams/mermaid/azure-monitor-entity-graph.md -> docs/azure-monitor/diagrams/entity-graph.md
- diagrams/mermaid/health-state-flow.md -> docs/design/diagrams/health-state-flow.md
- diagrams/mermaid/ removed (drawio/ stays as editable originals)
- mkdocs.yml nav: add Diagrams sub-section to SCOM MP, Azure Monitor, and Design
Six new ADRs (all Accepted) filling design gaps:
ADR 0014 - CI/CD Pipeline Strategy
GitHub Actions only; one workflow per artifact stream (mp-build,
bicep-validate, pwsh-test, kql-validate, parity-check, docs-build,
docs-deploy, release-please). OIDC-only auth to Azure. release-please
in Conventional Commits mode. parity-check.yml mechanically enforces
ADR 0007 cross-track naming.
ADR 0015 - Testing Strategy
5-layer test pyramid: static/lint, unit (Pester + KustoLoco),
integration (bicep what-if + LAW seed), cross-track parity (THE
keystone gate for ADR 0007), and behavioral acceptance at release.
tests/Test-Parity.ps1 walks signal-catalog.md and asserts every
threshold name appears in BOTH the SCOM override pack AND a bicepparam
tier.
ADR 0016 - Signing & Secrets Management
Two-key SCOM MP signing model: test key (free dev access) vs release
key (HSM-backed Key Vault, OIDC-only, manual-approval release env).
Three OIDC-federated SPNs (pr/lab/release) - zero long-lived secrets
in repo. gitleaks pre-commit + push-protection. Release key never
rotated (sealed-MP version contract).
ADR 0017 - Versioning & Release Policy
Single repo SemVer version covers all three artifact streams (sealed
MPs, Bicep, docs). Detailed bump rules table (add class = minor,
rename param = major, etc). Library MP coupling rule: any Library
version change is Minor minimum, never Patch. Conventional Commits
-> release-please. mike-versioned docs site with version selector.
ADR 0018 - Self-Observability ("Monitor the Monitor")
9 new AzureLocal.Monitoring.* entities + 12 signals covering SCOM
agent, AMA extension, DCR association, DCMA, LAW ingestion, alert-rule
health, and signal-query health. Rolls up under a parallel root
branch (NOT under cluster) so a dead pipeline turns the root red even
when cluster shows stale Healthy. Dedicated Sev2 action group, own
dashboard panel.
ADR 0019 - Cost, Scale, and Data Retention
Per-tier ingestion envelope: Lab ~250 MB/day, Standard ~600 MB/day,
Strict ~1.2 GB/day per 4-node cluster. Hard scale cap: 50 clusters
per service group; >50 = shard via per-region service groups.
Retention by data class: HealthState 90d, Perf 30d interactive +
365d archive, Self-Observability 30d. 5-step cost downgrade playbook.
PLAN.md updates from new ADRs:
- Phase 2 ADR list: add 0014-0019 (was 0001-0013)
- Phase 2 sign-off: 13 ADRs -> 19 ADRs
- Phase 2 Definition of Done: explicit exit criteria (signal coverage per
entity per dimension, parity test implementable from catalog, mkdocs
build --strict passes, Self-Observability branch reflected in topology)
- Phase 3 Step 1: wire CI/CD scaffolding (ADR 0014), wire signing+identity
(ADR 0016), wire test harness (ADR 0015) before authoring starts
- Phase 3 (added): Self-Observability monitors (ADR 0018), tuning runbooks
(docs/scom-mp/runbooks/), DB sizing guidance (ADR 0019)
- Phase 4 Step 4 (added): sizing exercise to validate ADR 0019 numbers,
Self-Observability KQL signals (ADR 0018), cost-tuning playbook (ADR 0019)
- References note: REFERENCES.md is authoritative; docs/references.md is
generated via include-markdown plugin (no hand-edited duplicate)
mkdocs.yml: nav adds ADRs 0014-0019 + diagram pages under each section
ADR index: full table updated through 00191 parent db54cd0 commit 990f2eb
13 files changed
Lines changed: 866 additions & 163 deletions
File tree
- diagrams/mermaid
- docs
- azure-monitor/diagrams
- design
- decisions
- diagrams
- scom-mp/diagrams
Large diffs are not rendered by default.
Whitespace-only changes.
File renamed without changes.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
0 commit comments