Skip to content

feat: [2/5] add cloud certificate retrieval protocols - #9911

Draft
Abigail Liang (abigailliang-aks-sig-node) wants to merge 1 commit into
abigailliang/anc-cloud-storefrom
abigailliang/anc-cloud-protocols
Draft

Abigail Liang (abigailliang-aks-sig-node) wants to merge 1 commit into
abigailliang/anc-cloud-storefrom
abigailliang/anc-cloud-protocols

Conversation

@abigailliang-aks-sig-node

@abigailliang-aks-sig-node Abigail Liang (abigailliang-aks-sig-node) commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Part [2/5] of the native ANC cloud-initialization series. Depends on
[1/5] #9910 and is based on abigailliang/anc-cloud-store so
the incremental review contains only certificate retrieval protocols:
5 files, +422/-3.

  • Extract the unchanged WireServer request, response-limit, retry, cancellation,
    and redirect-handling implementation.
  • Add the legacy ussec/usnat and RCV1P root/intermediate retrieval helpers,
    resource-name handling, and raw staging-cache writes.
  • Keep original protocol tests with their implementation and add direct legacy,
    operation-download, and resource-name encoding coverage.
  • Preserve the existing wire format, newline handling, and per-certificate
    download policy; do not add PEM/X.509 filtering.

These are internal retrieval capabilities, not the complete certificate-refresh
workflow. Opt-in orchestration and the standalone refresh command arrive in
part 3. Scheduling and native provisioning activation arrive only in part 5.
Existing provisioning still uses init-aks-cloud.sh; NBC, the shell template,
CustomData delivery, and VHD mappings are unchanged.

Series and merge order

  1. [1/5] feat: [1/5] add cloud platform and trust-store capabilities #9910: Platform and trust-store capabilities -- based on main.
  2. [2/5] feat: [2/5] add cloud certificate retrieval protocols #9911: Certificate retrieval protocols -- this PR, based on part 1.
  3. [3/5] feat: [3/5] add cloud certificate refresh orchestration and CLI #9909: Certificate refresh and CLI -- based on this PR.
  4. [4/5] feat: [4/5] add native RepoDepot initialization #9903: RepoDepot capabilities -- based on part 3.
  5. [5/5] feat: [5/5] enable native cloud initialization before provisioning #9904: Native activation -- based on part 4.

This PR is a dependency draft, not an incomplete implementation. After part 1
merges, merge the updated main into this branch before retargeting this PR to
main and running required CI. Updating the branch first preserves the
incremental diff even if the prerequisite was squash-merged. Do not merge this
PR into the dependency's feature branch.

The aggregate #9891 and former certificate PR #9902 are retained for reference.
This split preserves published history with additive commits/merges.

Validation

Passed the applicable ANC/parser race suites, CI-pinned golangci-lint v2.14.0
against the preceding layer, and Linux AMD64/ARM64 builds. Direct protocol
coverage includes raw payloads and the legacy trailing-newline quirk.
Azure/VHD end-to-end provisioning has not been run.

Which issue(s) this PR fixes:

No linked issue.

@github-actions

github-actions Bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Windows Unit Test Results

  3 files   18 suites   1m 6s ⏱️
662 tests 662 ✅ 0 💤 0 ❌
685 runs  685 ✅ 0 💤 0 ❌

Results for commit 1e5db7d.

♻️ This comment has been updated with latest results.

Separate unchanged WireServer, legacy, and RCV1P retrieval from refresh orchestration. Keep all existing error policies and add direct protocol coverage without activating provisioning.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: be499bac-1283-498e-b5b1-59d8c91047a4
@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
test 0% ❌
windows 27% ❌
staging_cse_windows Package 1 68% ➖
debug 0% ❌
provisioningscripts 2% ❌
parts_windows Package 1 73% ➖
Summary 39% (1819 / 7001) ❌

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
github.com/Azure/agentbaker/aks-node-controller 74% ➖
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 89% ✔
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 35% ❌
github.com/Azure/agentbaker/pkg/agent 78% ➖
github.com/Azure/agentbaker/pkg/agent/datamodel 77% ➖
github.com/Azure/agentbaker/pkg/agent/toggles 0% ❌
github.com/Azure/agentbaker/pkg/vhdbuilder/datamodel 87% ✔
Summary 75% (6286 / 8328) ➖

@github-actions

Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Health
shellspec spec 29% ❌
Summary 29% (4702 / 16369) ❌

This branch has not been deployed

No deployments
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.

1 participant