Skip to content

docs(azure): decide the managed scope for upgrades, add-ons, identity - #22

Merged
Garinlu merged 4 commits into
mainfrom
docs/azure-managed-scope
Sep 17, 2026
Merged

Garinlu merged 4 commits into
mainfrom
docs/azure-managed-scope

Conversation

@Garinlu

@Garinlu Garinlu commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • State-of-the-art for the Azure sprint's second ticket: who manages what across upgrades, add-ons, and identity — rebased on Standard + NAP (see docs(azure): decide Standard + NAP over AKS Automatic #21).
  • Upgrade channel: stable, hardcoded, chosen deliberately for the same N-2 support-window margin a self-imposed policy would target.
  • LTS still refused: a cluster hardcoded to stable is never far enough behind to need it.
  • Policy: this module turns on Deployment Safeguards at Baseline/Enforce deliberately — Microsoft documents it as a generic best-practice collection, not an Automatic-only convenience (resource requests, anti-affinity, image-tag hygiene, CSI enforcement, baseline Pod Security Standards).
  • Consequence for backup: Velero's node-agent is blocked by that same baseline, recoverable with an explicit namespace exclusion set when whatever deploys Velero needs it — not a default this module carries.
  • Storage CSI and Crossplane's provider maturity are unchanged from the previous version.

Test plan

  • Doc-only change — no code to test.
  • Reviewed for the same structure and sourcing rules used across docs/aws/ and docs/gcp/.

Automatic locks the upgrade channel to stable with no override, which
settles the LTS question too: Premium's extra support window is moot
on a cluster that's never allowed to age. Storage CSI and policy stay
AKS-managed; Velero's node-agent needs an explicit namespace exclusion
from the enforced baseline Pod Security Standards to run at all.
Crossplane's Azure provider checked out active, not a blocker.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Garinlu
Garinlu marked this pull request as draft September 14, 2026 15:21
Garinlu and others added 2 commits September 15, 2026 10:07
The stable channel and the LTS refusal survive as deliberate choices
instead of Automatic's impositions, backed by AKS's own N-2 support
window rather than a lack of alternative. Policy enforcement moves out
of this module's scope entirely — the same boundary that already kept
Velero out of it — which means nothing here restricts privileged
containers or hostPath, so Velero gets both its modes back instead of
needing a namespace exclusion to recover one of them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Standard doesn't enable this by itself, but Microsoft documents it as
a generic best-practice collection, not an Automatic-only convenience
— resource requests, anti-affinity, image-tag hygiene, CSI enforcement,
plus baseline Pod Security Standards. This module turns it on at
Baseline/Enforce instead of leaving the choice to a later layer.

Consequence: Velero's node-agent is blocked again, same as it would
have been under Automatic, recovered the same way — an explicit
namespace exclusion, set when whatever deploys Velero needs it, not a
default this module carries.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@Garinlu
Garinlu marked this pull request as ready for review September 15, 2026 13:01
@Garinlu
Garinlu enabled auto-merge (rebase) September 17, 2026 09:33
@Garinlu
Garinlu merged commit 88b3d4b into main Sep 17, 2026
12 checks passed
@Garinlu
Garinlu deleted the docs/azure-managed-scope branch September 17, 2026 09:35
@Garinlu Garinlu self-assigned this Sep 17, 2026
@Garinlu Garinlu added documentation Improvements or additions to documentation cloud/azure Azure labels Sep 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cloud/azure Azure documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants