Skip to content

feat: add EnableKMPP flag plumbing for KMPP key isolation - #9827

Merged
Nishchay (awesomenix) merged 1 commit into
mainfrom
jiashunliu/kmpp-flag-plumbing
Oct 20, 2026
Merged

Nishchay (awesomenix) merged 1 commit into
mainfrom
jiashunliu/kmpp-flag-plumbing

Conversation

@jiashun0011

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Background

KMPP key isolation for the Azure Key Vault Secrets Store addon needs a per-node switch so CSE can turn on the KMPP service on Azure Linux 3.0 nodes. This PR only adds the flag. The VHD bake and CSE configuration follow in separate PRs.

What changed

  • Add EnableKMPP to NodeBootstrappingConfiguration and expose it to CSE as ENABLE_KMPP
  • Add enable_kmpp (field 46) to the aks-node-controller Configuration proto and map it to ENABLE_KMPP
  • Map the new field in the e2e config converter and add unit tests for the flag on and off (default false)

Which issue(s) this PR fixes:
Fixes #

Add an EnableKMPP bool to NodeBootstrappingConfiguration and a matching
enable_kmpp field (46) to the aks-node-controller Configuration proto.
Both paths surface it to CSE as ENABLE_KMPP. No node behavior changes
yet; the VHD bake and CSE configuration follow in separate PRs.
@github-actions

Copy link
Copy Markdown
Contributor

The latest Buf updates on your PR. Results from workflow Buf CI / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedOct 20, 2026, 4:11 AM

@github-actions

Copy link
Copy Markdown
Contributor

Windows Unit Test Results

  3 files   18 suites   1m 10s ⏱️
560 tests 560 ✅ 0 💤 0 ❌
563 runs  563 ✅ 0 💤 0 ❌

Results for commit 7fce73a.

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
test 0% ❌
windows 27% ❌
staging_cse_windows Package 1 65% ➖
debug 0% ❌
provisioningscripts 2% ❌
parts_windows Package 1 73% ➖
Summary 38% (1645 / 6827) ❌

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
github.com/Azure/agentbaker/aks-node-controller 72% ➖
github.com/Azure/agentbaker/aks-node-controller/common 100% ✔
github.com/Azure/agentbaker/aks-node-controller/helpers 68% ➖
github.com/Azure/agentbaker/aks-node-controller/parser 88% ✔
github.com/Azure/agentbaker/aks-node-controller/pkg/gpu 100% ✔
github.com/Azure/agentbaker/aks-node-controller/pkg/nodeconfigutils 88% ✔
github.com/Azure/agentbaker/aks-node-controller/utils 0% ❌
github.com/Azure/agentbaker/apiserver 24% ❌
github.com/Azure/agentbaker/cmd 0% ❌
github.com/Azure/agentbaker/cmd/starter 0% ❌
github.com/Azure/agentbaker/fuzz/api 0% ❌
github.com/Azure/agentbaker/hotfix/render-nodecustomdata 0% ❌
github.com/Azure/agentbaker/pkg/agent 77% ➖
github.com/Azure/agentbaker/pkg/agent/datamodel 78% ➖
github.com/Azure/agentbaker/pkg/agent/toggles 0% ❌
github.com/Azure/agentbaker/pkg/vhdbuilder/datamodel 87% ✔
Summary 74% (5660 / 7595) ➖

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The additive, default-off flag is consistently mapped and tested across both provisioning paths without introducing service activation behavior.

No open issues 🎉

1 file not reviewed
  • aks-node-controller/pkg/gen/aksnodeconfig/v1/config.pb.go: Generated file
What changed in this PR

Adds default-off KMPP flag plumbing across AgentBaker and aks-node-controller. Service activation and VHD changes remain outside this PR.

Changes:

  • Expose EnableKMPP as ENABLE_KMPP in both provisioning paths.
  • Add protobuf field 46 and E2E configuration mapping.
  • Document the flag and test enabled/default-disabled values.
File Description
pkg/​agent/​datamodel/​types.go Adds the node configuration flag.
pkg/​agent/​baker.go Exposes the flag to templates.
pkg/​agent/​baker_test.go Tests both flag values.
parts/​linux/​cloud-init/​artifacts/​cse_cmd.sh Adds ENABLE_KMPP.
e2e/​scenario/​node_config.go Maps the flag into controller configuration.
aks-node-controller/​proto/​README.md Documents the flag and environment mapping.
aks-node-controller/​proto/​aksnodeconfig/​v1/​config.proto Defines boolean field 46.
aks-node-controller/​pkg/​gen/​aksnodeconfig/​v1/​config.pb.go Updates generated protobuf bindings.
aks-node-controller/​parser/​parser.go Maps the flag into the CSE environment.
aks-node-controller/​parser/​parser_test.go Tests controller environment values.

Review effort: Balanced

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
shellspec spec 28% ❌
Summary 28% (4507 / 15914) ❌

@awesomenix
Nishchay (awesomenix) merged commit 591665e into main Oct 20, 2026
42 of 43 checks passed
@awesomenix
Nishchay (awesomenix) deleted the jiashunliu/kmpp-flag-plumbing branch October 20, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants