These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)
| Commit: | 133c697 | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
Merge branch 'main' into codex/mig-profile-layout-runtime
| Commit: | 14ae9d5 | |
|---|---|---|
| Author: | Runzhen | |
| Committer: | GitHub | |
chore: add enable DRA flag in scriptless proto file (#9120) Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
| Commit: | 0b10660 | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
feat: use MIG profile layout for partitioning
| Commit: | e909115 | |
|---|---|---|
| Author: | Wen Huang | |
Merge remote-tracking branch 'origin/main' into wenhug/kubernetes-1.37-package-version-merge-main-signed # Conflicts: # parts/linux/cloud-init/artifacts/cse_config.sh
| Commit: | cf6ccd2 | |
|---|---|---|
| Author: | RUNZHEN WANG | |
Merge branch 'main' into dra-scriptless
| Commit: | 11663f4 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | GitHub | |
feat: add LocalDNS forward health knobs (#9174)
| Commit: | a8cf296 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
feat: add LocalDNS forward health knobs
| Commit: | 4c60857 | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
feat: use MIG profile layout for partitioning
| Commit: | 076dd4f | |
|---|---|---|
| Author: | RUNZHEN WANG | |
dra
| Commit: | e2c4492 | |
|---|---|---|
| Author: | Wen Huang | |
fix: carry Kubernetes package version through ANC
| Commit: | 157a928 | |
|---|---|---|
| Author: | RUNZHEN WANG | |
dra
| Commit: | df0019c | |
|---|---|---|
| Author: | RUNZHEN WANG | |
dra
| Commit: | 7fc6928 | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
feat: add MIG profile layout configuration (#9081)
| Commit: | 479c574 | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
docs: clarify MIG profile layout contract
| Commit: | d0454ee | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
fix: use field 9 for MIG profile layout
| Commit: | c714b2c | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
feat: add MIG profile layout config
| Commit: | 51a22c2 | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
feat: add MIG profile layout configuration
| Commit: | ca8995a | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
feat: replace mixed MIG calculation with profile layout
| Commit: | 96caf4c | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
Merge branch 'main' into codex/mig-profiles-contract
| Commit: | cc6daf4 | |
|---|---|---|
| Author: | Saewon Kwak | |
Add LocalDNS live patching handler Wire localDNS into the generic knead live-patching loop and add ANC support for applying LocalDNS config from dispatched payloads or LPS. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Commit: | 6e39008 | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
refactor: rename MIG slice capacity proto field
| Commit: | 4420bb9 | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
feat: make GPU instance partitioning capacity-aware
| Commit: | 9d76635 | |
|---|---|---|
| Author: | Thibault Cohen | |
| Committer: | GitHub | |
fix: ensure kubelet and containerd in kube.slice via systemd drop-ins (#8958)
| Commit: | 9e43c8b | |
|---|---|---|
| Author: | Abigail Liang | |
| Committer: | GitHub | |
fix(kubelet): remove streamingConnectionIdleTimeout for k8s >= 1.34 (#8812)
| Commit: | deeee05 | |
|---|---|---|
| Author: | Thibault Cohen | |
| Committer: | Thibault Cohen | |
rename from kube-reserved to kubereserved
| Commit: | b92dafe | |
|---|---|---|
| Author: | Thibault Cohen | |
| Committer: | Thibault Cohen | |
Rename kube.slice to kube-reserved.slice
| Commit: | 478c1b4 | |
|---|---|---|
| Author: | Thibault Cohen | |
| Committer: | Thibault Cohen | |
Place kubelet and containerd in kube.slice when node hardening is enabled
| Commit: | 86a754b | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
Merge branch main into codex/mig-profiles-contract
| Commit: | cbc7a71 | |
|---|---|---|
| Author: | Thibault Cohen | |
| Committer: | Mark Ibrahim | |
rename from kube-reserved to kubereserved
| Commit: | bc3b582 | |
|---|---|---|
| Author: | Thibault Cohen | |
| Committer: | Mark Ibrahim | |
Rename kube.slice to kube-reserved.slice
| Commit: | 7163ae8 | |
|---|---|---|
| Author: | Thibault Cohen | |
| Committer: | Mark Ibrahim | |
Place kubelet and containerd in kube.slice when node hardening is enabled
| Commit: | 23dd03d | |
|---|---|---|
| Author: | Thibault Cohen | |
rename from kube-reserved to kubereserved
| Commit: | 8a3573f | |
|---|---|---|
| Author: | C.YAO | |
| Committer: | GitHub | |
feat: add aks-live-patching module with live patching service proto (#8868) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Commit: | 13e1da0 | |
|---|---|---|
| Author: | Thibault Cohen | |
| Committer: | Thibault Cohen | |
Rename kube.slice to kube-reserved.slice
| Commit: | a58d15f | |
|---|---|---|
| Author: | Thibault Cohen | |
| Committer: | Thibault Cohen | |
Place kubelet and containerd in kube.slice when node hardening is enabled
| Commit: | 0ba6628 | |
|---|---|---|
| Author: | Abigailliang | |
Merge remote-tracking branch 'origin/main' into remove-streaming-connection-idle-timeout # Conflicts: # aks-node-controller/parser/parser.go
| Commit: | dea3c28 | |
|---|---|---|
| Author: | Thibault Cohen | |
Rename kube.slice to kube-reserved.slice
| Commit: | 50681a8 | |
|---|---|---|
| Author: | Thibault Cohen | |
Place kubelet and containerd in kube.slice when node hardening is enabled
| Commit: | db12a63 | |
|---|---|---|
| Author: | Yao Cheng (AKS) | |
| Committer: | Yao Cheng (AKS) | |
feat: add aks-live-patching module with live patching service proto
| Commit: | 98b6ee1 | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
feat: support mixed MIG profiles
| Commit: | d802cd6 | |
|---|---|---|
| Author: | Yao Cheng (AKS) | |
| Committer: | Yao Cheng (AKS) | |
feat: add aks-live-patching module with live patching service proto
| Commit: | 0e1dc0d | |
|---|---|---|
| Author: | Devinwong | |
| Committer: | GitHub | |
feat(anc): deliver node toggles via generic enabled_features map (2.1d) (#8917) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The documentation is generated from this commit.
| Commit: | 29afaec | |
|---|---|---|
| Author: | Abigailliang | |
Merge remote-tracking branch 'origin/main' into remove-streaming-connection-idle-timeout
| Commit: | 32c9a87 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | GitHub | |
feat: support localdns hosts plugin refresh override (#8895)
| Commit: | 5a5e2cf | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
feat: support localdns hosts plugin refresh override
| Commit: | 80e54ea | |
|---|---|---|
| Author: | Abigailliang | |
| Committer: | Abigailliang | |
fix(kubelet): remove streamingConnectionIdleTimeout for k8s >= 1.34 streamingConnectionIdleTimeout was removed from KubeletConfiguration in k8s 1.34. This ensures it does not appear on the command line or in the config file for those versions. Changes: - Delete --streaming-connection-idle-timeout from KubeletFlags in baker (Linux + Windows) - Filter deprecated flags from CustomConfiguration output path without mutating RP data - Add getDeprecatedKubeletFlags util for version-gated flag filtering - Clear the flag in aks-node-controller parser (scriptless path) - Mark proto field and Go struct field as deprecated - Regenerate kubelet_config.pb.go via make proto-generate - Add comprehensive unit tests covering version gating, final command line output, custom configuration path, and non-reintroduction - Add e2e test removing streaming-connection-idle-timeout from NBC template
| Commit: | 398e69d | |
|---|---|---|
| Author: | Abigailliang | |
fix(kubelet): remove streamingConnectionIdleTimeout for k8s >= 1.34 streamingConnectionIdleTimeout was removed from KubeletConfiguration in k8s 1.34. This ensures it does not appear on the command line or in the config file for those versions. Changes: - Delete --streaming-connection-idle-timeout from KubeletFlags in baker (Linux + Windows) - Filter deprecated flags from CustomConfiguration output path without mutating RP data - Add getDeprecatedKubeletFlags util for version-gated flag filtering - Clear the flag in aks-node-controller parser (scriptless path) - Mark proto field and Go struct field as deprecated - Regenerate kubelet_config.pb.go via make proto-generate - Add comprehensive unit tests covering version gating, final command line output, custom configuration path, and non-reintroduction - Add e2e test removing streaming-connection-idle-timeout from NBC template
| Commit: | 9147e26 | |
|---|---|---|
| Author: | Devin Wong | |
docs(anc): drop 'or unset' from proto3 bool comment proto3 non-optional bool has no distinct unset state; false covers it. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Commit: | 6c7a49c | |
|---|---|---|
| Author: | Devin Wong | |
feat(anc): add enable_provisioning_hotfix contract field (2.1d) Add the AKSNodeConfig proto contract field enable_provisioning_hotfix (field 45, default false) and render the on-node enabled_features.sh from it in the scriptless boothook custom data. - proto: new bool enable_provisioning_hotfix = 45; regenerated Go bindings expose Configuration.GetEnableProvisioningHotfix(). - nodeconfigutils.CustomData: enabledFeaturesBlock(cfg) emits a cloud-boothook snippet writing /opt/azure/containers/enabled_features.sh with ENABLE_PROVISIONING_HOTFIX=true (0600) only when the field is true. When false/unset it returns "" so custom data is byte-identical to today, preserving the 6-month VHD backward-compat window. The 2.1c wrapper already reads enabled_features.sh and gates check-hotfix on ENABLE_PROVISIONING_HOTFIX=true (fail-open). aks-rp sets this field on the scriptless path to enable provisioning hotfix per region. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Commit: | d03db7d | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
feat: support localdns hosts plugin refresh override
| Commit: | 9102831 | |
|---|---|---|
| Author: | Devin Wong | |
| Committer: | Devin Wong | |
feat(anc): deliver ENABLE_PROVISIONING_HOTFIX via enabled_features.sh Adds the producer half of the provisioning-hotfix gate. The AKSNodeConfig contract field `enable_provisioning_hotfix` (tag 45) now drives an on-node feature-flag file: when true, the cloud-boothook writes /opt/azure/containers/enabled_features.sh containing the literal line `ENABLE_PROVISIONING_HOTFIX=true` (quoted heredoc, chmod 0600) before the aks-node-controller service is started. The 2.1c wrapper sources that file and keeps the existing gate, so this file is the single delivery channel. When the field is false/unset, nothing is written and the generated custom data is byte-identical to before this feature existed (6-month VHD backward-compat). Flatcar/Ignition path does not write enabled_features.sh in M1; provisioning- hotfix is a no-op on Flatcar (follow-up if product needs it). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Commit: | 69bbf8a | |
|---|---|---|
| Author: | Lily Pan | |
revert proto changes
| Commit: | 7fcf159 | |
|---|---|---|
| Author: | Devin Wong | |
| Committer: | Devin Wong | |
feat(anc): deliver ENABLE_PROVISIONING_HOTFIX via enabled_features.sh Adds the producer half of the provisioning-hotfix gate. The AKSNodeConfig contract field `enable_provisioning_hotfix` (tag 45) now drives an on-node feature-flag file: when true, the cloud-boothook writes /opt/azure/containers/enabled_features.sh containing the literal line `ENABLE_PROVISIONING_HOTFIX=true` (quoted heredoc, chmod 0600) before the aks-node-controller service is started. The 2.1c wrapper sources that file and keeps the existing gate, so this file is the single delivery channel. When the field is false/unset, nothing is written and the generated custom data is byte-identical to before this feature existed (6-month VHD backward-compat). Flatcar/Ignition path does not write enabled_features.sh in M1; provisioning- hotfix is a no-op on Flatcar (follow-up if product needs it). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Commit: | 0157c42 | |
|---|---|---|
| Author: | Karen Chen | |
| Committer: | GitHub | |
feat: support mixed MIG profiles
| Commit: | a4130fc | |
|---|---|---|
| Author: | Yao Cheng (AKS) | |
feat: add aks-live-patching module with live patching service proto
| Commit: | 1cd9637 | |
|---|---|---|
| Author: | Lily Pan | |
add usecontainerdv2 to aksnodeconfig
| Commit: | 3dc5629 | |
|---|---|---|
| Author: | Cameron Meissner | |
| Committer: | GitHub | |
chore: remove secure TLS bootstrapping deadline configuration field (#8801)
| Commit: | c5c2a69 | |
|---|---|---|
| Author: | Abigailliang | |
style: run buf format on kubelet_config.proto
| Commit: | c2dd0bb | |
|---|---|---|
| Author: | Abigailliang | |
| Committer: | Abigailliang | |
fix(kubelet): remove streamingConnectionIdleTimeout from Kubelet configuration files for k8s >= 1.34
| Commit: | aaa9706 | |
|---|---|---|
| Author: | Abigailliang | |
fix(kubelet): remove streamingConnectionIdleTimeout from Kubelet configuration files for k8s >= 1.34
| Commit: | 551a650 | |
|---|---|---|
| Author: | cameronmeissner | |
chore: apply buf format to kubelet_config.proto
| Commit: | 45ecec7 | |
|---|---|---|
| Author: | cameronmeissner | |
cleanup: remove secure TLS bootstrapping deadline configuration field
| Commit: | 5a5b74a | |
|---|---|---|
| Author: | Devin Wong | |
| Committer: | Devin Wong | |
feat(anc): gate check-hotfix on enable_provisioning_hotfix contract field Replaces the env-delivery approach (systemd drop-in + cse_cmd.sh) with a single contract field. check-hotfix self-gates on the new AKSNodeConfig field enable_provisioning_hotfix (proto tag 45, optional bool); when it is not true the command no-ops with telemetry outcome=disabled and makes no apiserver call. Default-off, fail-open. Relaxes the ENABLE_PROVISIONING_HOTFIX env gate introduced in 2.1c so the wrapper calls check-hotfix unconditionally; gating now lives in the Go binary via the contract field as the single source of truth. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Commit: | 21ae228 | |
|---|---|---|
| Author: | Devin Wong | |
| Committer: | Devin Wong | |
feat(anc): gate check-hotfix on enable_provisioning_hotfix contract field Replaces the env-delivery approach (systemd drop-in + cse_cmd.sh) with a single contract field. check-hotfix self-gates on the new AKSNodeConfig field enable_provisioning_hotfix (proto tag 45, optional bool); when it is not true the command no-ops with telemetry outcome=disabled and makes no apiserver call. Default-off, fail-open. Relaxes the ENABLE_PROVISIONING_HOTFIX env gate introduced in 2.1c so the wrapper calls check-hotfix unconditionally; gating now lives in the Go binary via the contract field as the single source of truth. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Commit: | d552a0a | |
|---|---|---|
| Author: | Devin Wong | |
| Committer: | Devin Wong | |
feat(anc): gate check-hotfix on enable_provisioning_hotfix contract field Replaces the env-delivery approach (systemd drop-in + cse_cmd.sh) with a single contract field. check-hotfix self-gates on the new AKSNodeConfig field enable_provisioning_hotfix (proto tag 45, optional bool); when it is not true the command no-ops with telemetry outcome=disabled and makes no apiserver call. Default-off, fail-open. Relaxes the ENABLE_PROVISIONING_HOTFIX env gate introduced in 2.1c so the wrapper calls check-hotfix unconditionally; gating now lives in the Go binary via the contract field as the single source of truth. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
| Commit: | 791735f | |
|---|---|---|
| Author: | jumpinthefire | |
| Committer: | GitHub | |
feat: add secondary nic count in NBC and NetworkConfig (#8697)
| Commit: | ec31c81 | |
|---|---|---|
| Author: | Peter Damianov | |
| Committer: | GitHub | |
fix: Revert "fix: widen fs.file-max sysctl from int32 to int64 (#8640)" (#8658)
| Commit: | 0af3ae2 | |
|---|---|---|
| Author: | fcher | |
| Committer: | GitHub | |
fix: widen fs.file-max sysctl from int32 to int64 (#8640) Sets the right data type(int64) for fs.file-max sysctl parameter, matching the Linux kernel default that customers already see at runtime. Also matches the documentation here: https://learn.microsoft.com/en-us/azure/aks/custom-node-configuration?tabs=linux-node-pools
| Commit: | 3b9a299 | |
|---|---|---|
| Author: | Mark Ibrahim | |
| Committer: | GitHub | |
feat: add new kubeletconfigs for node hardening (#8497)
| Commit: | 713194a | |
|---|---|---|
| Author: | Aadhar Agarwal | |
feat(acl): set enable_selinux=true in containerd config for ACL nodes
| Commit: | 7e38971 | |
|---|---|---|
| Author: | Sabina Miezah | |
Merged PR 15524133: Non-sec regkeys 5B Add non-security registry keys to Windows VHD settings. ---- #### AI description (iteration 1) #### PR Classification New feature: Adds comprehensive test suite for the DAG (Directed Acyclic Graph) execution framework. #### PR Summary This PR introduces extensive end-to-end testing for a DAG-based concurrent task execution library, covering success paths, error handling, dependency management, and edge cases. - `/e2e/dag/dag_test.go`: Adds 722 lines of test coverage including basic task execution tests (`TestGo`, `TestRun`), typed dependency chain tests (`TestGo1_Chain`, `TestGo2`, `TestGo3`), error propagation and skipping logic tests, diamond dependency pattern validation, context cancellation handling, and panic recovery verification - Tests verify dependency-based task skipping when upstream tasks fail, ensuring downstream tasks don't execute unnecessarily - Includes edge case testing for deadlock scenarios with cyclic dependencies and self-dependencies, DAGError aggregation, and proper error prioritization over context cancellation - Validates panic recovery in both `Go` and `Run` tasks, ensuring panics are surfaced as errors rather than crashing the process - Covers multi-error scenarios and verifies that real errors are preserved even when cancellation noise is present <!-- GitOpsUserAgent=GitOps.Apps.Server.pullrequestcopilot -->
| Commit: | 521c16e | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | GitHub | |
feat: add CoreDNS hosts plugin support for LocalDNS (#8165) Co-authored-by: Saewon Kwak <sakwa@microsoft.com> Co-authored-by: Jingwen Wu <jingwenw15@gmail.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
| Commit: | eacb8f7 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Jingwen Wu | |
pass critical FQDNs from RP instead of hardcoding in VHD script The aks-hosts-setup.sh script previously hardcoded cloud→FQDN mappings in a case statement covering only 3 clouds (Public, China, USGov). This meant 5+ sovereign clouds were unsupported and every new cloud required a VHD release. Have the RP pass LOCALDNS_CRITICAL_FQDNS (comma-separated) through the CSE env pipeline. The script becomes a simple resolver loop with no cloud-specific logic. If the env var is empty (old RP), the script exits gracefully and the corefile falls back to the no-hosts variant. Changes: - Add CriticalFQDNs field to LocalDNSProfile (types.go, proto) - Add GetLocalDNSCriticalFQDNs template func (baker.go) - Add LOCALDNS_CRITICAL_FQDNS to CSE env (cse_cmd.sh, parser.go) - Replace TARGET_CLOUD case statement in enableAKSHostsSetup with LOCALDNS_CRITICAL_FQDNS check (cse_config.sh) - Replace cloud→FQDN case statement in aks-hosts-setup.sh with comma-separated FQDN list parsing - Update all shell spec and Go unit tests
| Commit: | 1931fbd | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Jingwen Wu | |
feat(localdns): add hosts plugin support for LocalDNS Add aks-hosts-setup.sh, aks-hosts-setup.service, and aks-hosts-setup.timer to resolve critical AKS FQDNs via LocalDNS hosts plugin. This enables authoritative DNS responses for MCR and other endpoints, reducing dependency on external DNS servers during node bootstrap. Changes include: - New systemd units for hosts file setup and periodic refresh - CSE integration: enableAKSHostsSetup() with VHD-presence guards - CoreDNS corefile generation with hosts plugin support - aks-node-controller scriptless path support - E2E tests for Ubuntu 2204/2404 and AzureLinux V3 - ShellSpec unit tests for all new shell scripts - Proto/pb.go updates for EnableHostsPlugin field
| Commit: | c5a3b50 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Jingwen Wu | |
pass critical FQDNs from RP instead of hardcoding in VHD script The aks-hosts-setup.sh script previously hardcoded cloud→FQDN mappings in a case statement covering only 3 clouds (Public, China, USGov). This meant 5+ sovereign clouds were unsupported and every new cloud required a VHD release. Have the RP pass LOCALDNS_CRITICAL_FQDNS (comma-separated) through the CSE env pipeline. The script becomes a simple resolver loop with no cloud-specific logic. If the env var is empty (old RP), the script exits gracefully and the corefile falls back to the no-hosts variant. Changes: - Add CriticalFQDNs field to LocalDNSProfile (types.go, proto) - Add GetLocalDNSCriticalFQDNs template func (baker.go) - Add LOCALDNS_CRITICAL_FQDNS to CSE env (cse_cmd.sh, parser.go) - Replace TARGET_CLOUD case statement in enableAKSHostsSetup with LOCALDNS_CRITICAL_FQDNS check (cse_config.sh) - Replace cloud→FQDN case statement in aks-hosts-setup.sh with comma-separated FQDN list parsing - Update all shell spec and Go unit tests
| Commit: | 212e749 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Jingwen Wu | |
feat(localdns): add hosts plugin support for LocalDNS Add aks-hosts-setup.sh, aks-hosts-setup.service, and aks-hosts-setup.timer to resolve critical AKS FQDNs via LocalDNS hosts plugin. This enables authoritative DNS responses for MCR and other endpoints, reducing dependency on external DNS servers during node bootstrap. Changes include: - New systemd units for hosts file setup and periodic refresh - CSE integration: enableAKSHostsSetup() with VHD-presence guards - CoreDNS corefile generation with hosts plugin support - aks-node-controller scriptless path support - E2E tests for Ubuntu 2204/2404 and AzureLinux V3 - ShellSpec unit tests for all new shell scripts - Proto/pb.go updates for EnableHostsPlugin field
| Commit: | b4a50ec | |
|---|---|---|
| Author: | Mitch Zhu | |
draft agentbaker cse rdma support
| Commit: | 6e249c2 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Jingwen Wu | |
pass critical FQDNs from RP instead of hardcoding in VHD script The aks-hosts-setup.sh script previously hardcoded cloud→FQDN mappings in a case statement covering only 3 clouds (Public, China, USGov). This meant 5+ sovereign clouds were unsupported and every new cloud required a VHD release. Have the RP pass LOCALDNS_CRITICAL_FQDNS (comma-separated) through the CSE env pipeline. The script becomes a simple resolver loop with no cloud-specific logic. If the env var is empty (old RP), the script exits gracefully and the corefile falls back to the no-hosts variant. Changes: - Add CriticalFQDNs field to LocalDNSProfile (types.go, proto) - Add GetLocalDNSCriticalFQDNs template func (baker.go) - Add LOCALDNS_CRITICAL_FQDNS to CSE env (cse_cmd.sh, parser.go) - Replace TARGET_CLOUD case statement in enableAKSHostsSetup with LOCALDNS_CRITICAL_FQDNS check (cse_config.sh) - Replace cloud→FQDN case statement in aks-hosts-setup.sh with comma-separated FQDN list parsing - Update all shell spec and Go unit tests
| Commit: | 5d54d03 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Jingwen Wu | |
feat(localdns): add hosts plugin support for LocalDNS Add aks-hosts-setup.sh, aks-hosts-setup.service, and aks-hosts-setup.timer to resolve critical AKS FQDNs via LocalDNS hosts plugin. This enables authoritative DNS responses for MCR and other endpoints, reducing dependency on external DNS servers during node bootstrap. Changes include: - New systemd units for hosts file setup and periodic refresh - CSE integration: enableAKSHostsSetup() with VHD-presence guards - CoreDNS corefile generation with hosts plugin support - aks-node-controller scriptless path support - E2E tests for Ubuntu 2204/2404 and AzureLinux V3 - ShellSpec unit tests for all new shell scripts - Proto/pb.go updates for EnableHostsPlugin field
| Commit: | 58eebff | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
pass critical FQDNs from RP instead of hardcoding in VHD script The aks-hosts-setup.sh script previously hardcoded cloud→FQDN mappings in a case statement covering only 3 clouds (Public, China, USGov). This meant 5+ sovereign clouds were unsupported and every new cloud required a VHD release. Have the RP pass LOCALDNS_CRITICAL_FQDNS (comma-separated) through the CSE env pipeline. The script becomes a simple resolver loop with no cloud-specific logic. If the env var is empty (old RP), the script exits gracefully and the corefile falls back to the no-hosts variant. Changes: - Add CriticalFQDNs field to LocalDNSProfile (types.go, proto) - Add GetLocalDNSCriticalFQDNs template func (baker.go) - Add LOCALDNS_CRITICAL_FQDNS to CSE env (cse_cmd.sh, parser.go) - Replace TARGET_CLOUD case statement in enableAKSHostsSetup with LOCALDNS_CRITICAL_FQDNS check (cse_config.sh) - Replace cloud→FQDN case statement in aks-hosts-setup.sh with comma-separated FQDN list parsing - Update all shell spec and Go unit tests
| Commit: | 2722e1b | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
feat(localdns): add hosts plugin support for LocalDNS Add aks-hosts-setup.sh, aks-hosts-setup.service, and aks-hosts-setup.timer to resolve critical AKS FQDNs via LocalDNS hosts plugin. This enables authoritative DNS responses for MCR and other endpoints, reducing dependency on external DNS servers during node bootstrap. Changes include: - New systemd units for hosts file setup and periodic refresh - CSE integration: enableAKSHostsSetup() with VHD-presence guards - CoreDNS corefile generation with hosts plugin support - aks-node-controller scriptless path support - E2E tests for Ubuntu 2204/2404 and AzureLinux V3 - ShellSpec unit tests for all new shell scripts - Proto/pb.go updates for EnableHostsPlugin field
| Commit: | ef3cd75 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
pass critical FQDNs from RP instead of hardcoding in VHD script The aks-hosts-setup.sh script previously hardcoded cloud→FQDN mappings in a case statement covering only 3 clouds (Public, China, USGov). This meant 5+ sovereign clouds were unsupported and every new cloud required a VHD release. Have the RP pass LOCALDNS_CRITICAL_FQDNS (comma-separated) through the CSE env pipeline. The script becomes a simple resolver loop with no cloud-specific logic. If the env var is empty (old RP), the script exits gracefully and the corefile falls back to the no-hosts variant. Changes: - Add CriticalFQDNs field to LocalDNSProfile (types.go, proto) - Add GetLocalDNSCriticalFQDNs template func (baker.go) - Add LOCALDNS_CRITICAL_FQDNS to CSE env (cse_cmd.sh, parser.go) - Replace TARGET_CLOUD case statement in enableAKSHostsSetup with LOCALDNS_CRITICAL_FQDNS check (cse_config.sh) - Replace cloud→FQDN case statement in aks-hosts-setup.sh with comma-separated FQDN list parsing - Update all shell spec and Go unit tests
| Commit: | e5a9d01 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
feat(localdns): add hosts plugin support for LocalDNS Add aks-hosts-setup.sh, aks-hosts-setup.service, and aks-hosts-setup.timer to resolve critical AKS FQDNs via LocalDNS hosts plugin. This enables authoritative DNS responses for MCR and other endpoints, reducing dependency on external DNS servers during node bootstrap. Changes include: - New systemd units for hosts file setup and periodic refresh - CSE integration: enableAKSHostsSetup() with VHD-presence guards - CoreDNS corefile generation with hosts plugin support - aks-node-controller scriptless path support - E2E tests for Ubuntu 2204/2404 and AzureLinux V3 - ShellSpec unit tests for all new shell scripts - Proto/pb.go updates for EnableHostsPlugin field
| Commit: | ccb3417 | |
|---|---|---|
| Author: | Cameron Meissner | |
| Committer: | GitHub | |
feat: add configuration support for secure TLS bootstrap client RPC timeouts (#8261)
| Commit: | e8710d7 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
pass critical FQDNs from RP instead of hardcoding in VHD script The aks-hosts-setup.sh script previously hardcoded cloud→FQDN mappings in a case statement covering only 3 clouds (Public, China, USGov). This meant 5+ sovereign clouds were unsupported and every new cloud required a VHD release. Have the RP pass LOCALDNS_CRITICAL_FQDNS (comma-separated) through the CSE env pipeline. The script becomes a simple resolver loop with no cloud-specific logic. If the env var is empty (old RP), the script exits gracefully and the corefile falls back to the no-hosts variant. Changes: - Add CriticalFQDNs field to LocalDNSProfile (types.go, proto) - Add GetLocalDNSCriticalFQDNs template func (baker.go) - Add LOCALDNS_CRITICAL_FQDNS to CSE env (cse_cmd.sh, parser.go) - Replace TARGET_CLOUD case statement in enableAKSHostsSetup with LOCALDNS_CRITICAL_FQDNS check (cse_config.sh) - Replace cloud→FQDN case statement in aks-hosts-setup.sh with comma-separated FQDN list parsing - Update all shell spec and Go unit tests
| Commit: | 22b5068 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
feat(localdns): add hosts plugin support for LocalDNS Add aks-hosts-setup.sh, aks-hosts-setup.service, and aks-hosts-setup.timer to resolve critical AKS FQDNs via LocalDNS hosts plugin. This enables authoritative DNS responses for MCR and other endpoints, reducing dependency on external DNS servers during node bootstrap. Changes include: - New systemd units for hosts file setup and periodic refresh - CSE integration: enableAKSHostsSetup() with VHD-presence guards - CoreDNS corefile generation with hosts plugin support - aks-node-controller scriptless path support - E2E tests for Ubuntu 2204/2404 and AzureLinux V3 - ShellSpec unit tests for all new shell scripts - Proto/pb.go updates for EnableHostsPlugin field
| Commit: | 5d491c3 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
pass critical FQDNs from RP instead of hardcoding in VHD script The aks-hosts-setup.sh script previously hardcoded cloud→FQDN mappings in a case statement covering only 3 clouds (Public, China, USGov). This meant 5+ sovereign clouds were unsupported and every new cloud required a VHD release. Have the RP pass LOCALDNS_CRITICAL_FQDNS (comma-separated) through the CSE env pipeline. The script becomes a simple resolver loop with no cloud-specific logic. If the env var is empty (old RP), the script exits gracefully and the corefile falls back to the no-hosts variant. Changes: - Add CriticalFQDNs field to LocalDNSProfile (types.go, proto) - Add GetLocalDNSCriticalFQDNs template func (baker.go) - Add LOCALDNS_CRITICAL_FQDNS to CSE env (cse_cmd.sh, parser.go) - Replace TARGET_CLOUD case statement in enableAKSHostsSetup with LOCALDNS_CRITICAL_FQDNS check (cse_config.sh) - Replace cloud→FQDN case statement in aks-hosts-setup.sh with comma-separated FQDN list parsing - Update all shell spec and Go unit tests
| Commit: | 125890c | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
feat(localdns): add hosts plugin support for LocalDNS Add aks-hosts-setup.sh, aks-hosts-setup.service, and aks-hosts-setup.timer to resolve critical AKS FQDNs via LocalDNS hosts plugin. This enables authoritative DNS responses for MCR and other endpoints, reducing dependency on external DNS servers during node bootstrap. Changes include: - New systemd units for hosts file setup and periodic refresh - CSE integration: enableAKSHostsSetup() with VHD-presence guards - CoreDNS corefile generation with hosts plugin support - aks-node-controller scriptless path support - E2E tests for Ubuntu 2204/2404 and AzureLinux V3 - ShellSpec unit tests for all new shell scripts - Proto/pb.go updates for EnableHostsPlugin field
| Commit: | fd67d6f | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
pass critical FQDNs from RP instead of hardcoding in VHD script The aks-hosts-setup.sh script previously hardcoded cloud→FQDN mappings in a case statement covering only 3 clouds (Public, China, USGov). This meant 5+ sovereign clouds were unsupported and every new cloud required a VHD release. Have the RP pass LOCALDNS_CRITICAL_FQDNS (comma-separated) through the CSE env pipeline. The script becomes a simple resolver loop with no cloud-specific logic. If the env var is empty (old RP), the script exits gracefully and the corefile falls back to the no-hosts variant. Changes: - Add CriticalFQDNs field to LocalDNSProfile (types.go, proto) - Add GetLocalDNSCriticalFQDNs template func (baker.go) - Add LOCALDNS_CRITICAL_FQDNS to CSE env (cse_cmd.sh, parser.go) - Replace TARGET_CLOUD case statement in enableAKSHostsSetup with LOCALDNS_CRITICAL_FQDNS check (cse_config.sh) - Replace cloud→FQDN case statement in aks-hosts-setup.sh with comma-separated FQDN list parsing - Update all shell spec and Go unit tests
| Commit: | 489798a | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | Saewon Kwak | |
feat(localdns): add hosts plugin support for LocalDNS Add aks-hosts-setup.sh, aks-hosts-setup.service, and aks-hosts-setup.timer to resolve critical AKS FQDNs via LocalDNS hosts plugin. This enables authoritative DNS responses for MCR and other endpoints, reducing dependency on external DNS servers during node bootstrap. Changes include: - New systemd units for hosts file setup and periodic refresh - CSE integration: enableAKSHostsSetup() with VHD-presence guards - CoreDNS corefile generation with hosts plugin support - aks-node-controller scriptless path support - E2E tests for Ubuntu 2204/2404 and AzureLinux V3 - ShellSpec unit tests for all new shell scripts - Proto/pb.go updates for EnableHostsPlugin field
| Commit: | 15f0468 | |
|---|---|---|
| Author: | Saewon Kwak | |
pass critical FQDNs from RP instead of hardcoding in VHD script The aks-hosts-setup.sh script previously hardcoded cloud→FQDN mappings in a case statement covering only 3 clouds (Public, China, USGov). This meant 5+ sovereign clouds were unsupported and every new cloud required a VHD release. Have the RP pass LOCALDNS_CRITICAL_FQDNS (comma-separated) through the CSE env pipeline. The script becomes a simple resolver loop with no cloud-specific logic. If the env var is empty (old RP), the script exits gracefully and the corefile falls back to the no-hosts variant. Changes: - Add CriticalFQDNs field to LocalDNSProfile (types.go, proto) - Add GetLocalDNSCriticalFQDNs template func (baker.go) - Add LOCALDNS_CRITICAL_FQDNS to CSE env (cse_cmd.sh, parser.go) - Replace TARGET_CLOUD case statement in enableAKSHostsSetup with LOCALDNS_CRITICAL_FQDNS check (cse_config.sh) - Replace cloud→FQDN case statement in aks-hosts-setup.sh with comma-separated FQDN list parsing - Update all shell spec and Go unit tests
| Commit: | 87100b0 | |
|---|---|---|
| Author: | Saewon Kwak | |
feat(localdns): add hosts plugin support for LocalDNS Add aks-hosts-setup.sh, aks-hosts-setup.service, and aks-hosts-setup.timer to resolve critical AKS FQDNs via LocalDNS hosts plugin. This enables authoritative DNS responses for MCR and other endpoints, reducing dependency on external DNS servers during node bootstrap. Changes include: - New systemd units for hosts file setup and periodic refresh - CSE integration: enableAKSHostsSetup() with VHD-presence guards - CoreDNS corefile generation with hosts plugin support - aks-node-controller scriptless path support - E2E tests for Ubuntu 2204/2404 and AzureLinux V3 - ShellSpec unit tests for all new shell scripts - Proto/pb.go updates for EnableHostsPlugin field
| Commit: | f5a3ad2 | |
|---|---|---|
| Author: | Calvin S. | |
| Committer: | GitHub | |
chore: deprecate acr teleport (#8052)
| Commit: | 9aacf98 | |
|---|---|---|
| Author: | Saewon Kwak | |
Merge remote-tracking branch 'origin/main' into sakwa/localdns_poc # Conflicts: # pkg/agent/testdata/AKSUbuntu2204+China/CustomData # pkg/agent/testdata/AKSUbuntu2204+Containerd+CDI/CustomData # pkg/agent/testdata/AKSUbuntu2204+Containerd+DevicePlugin/CustomData # pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG+ArtifactStreaming/CustomData # pkg/agent/testdata/AKSUbuntu2204+Containerd+MIG/CustomData # pkg/agent/testdata/AKSUbuntu2204+CustomCloud+USNat/CustomData # pkg/agent/testdata/AKSUbuntu2204+CustomCloud+USSec/CustomData # pkg/agent/testdata/AKSUbuntu2204+CustomCloud+ootcredentialprovider/CustomData # pkg/agent/testdata/AKSUbuntu2204+CustomCloud/CustomData # pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+CustomLinuxOSConfig/CustomData # pkg/agent/testdata/AKSUbuntu2204+CustomKubeletConfig+SerializeImagePulls/CustomData # pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation+CustomKubeletConfig/CustomData # pkg/agent/testdata/AKSUbuntu2204+DisableKubeletServingCertificateRotation/CustomData # pkg/agent/testdata/AKSUbuntu2204+EnableManagedGPU+Disabled/CustomData # pkg/agent/testdata/AKSUbuntu2204+EnableManagedGPU/CustomData # pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOff/CustomData # pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithFilterTable/CustomData # pkg/agent/testdata/AKSUbuntu2204+IMDSRestrictionOnWithMangleTable/CustomData # pkg/agent/testdata/AKSUbuntu2204+ImplicitlyDisableKubeletServingCertificateRotation/CustomData # pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation+CustomKubeletConfig/CustomData # pkg/agent/testdata/AKSUbuntu2204+KubeletServingCertificateRotation/CustomData # pkg/agent/testdata/AKSUbuntu2204+ManagedGPUExperienceAFEC+Disabled/CustomData # pkg/agent/testdata/AKSUbuntu2204+ManagedGPUExperienceAFEC/CustomData # pkg/agent/testdata/AKSUbuntu2204+MigStrategy+Mixed/CustomData # pkg/agent/testdata/AKSUbuntu2204+MigStrategy+None/CustomData # pkg/agent/testdata/AKSUbuntu2204+MigStrategy+Single/CustomData # pkg/agent/testdata/AKSUbuntu2204+NoArtifactStreaming/CustomData # pkg/agent/testdata/AKSUbuntu2204+OutboundTypeBlocked/CustomData # pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNil/CustomData # pkg/agent/testdata/AKSUbuntu2204+OutboundTypeNone/CustomData # pkg/agent/testdata/AKSUbuntu2204+SSHStatusEntraID/CustomData # pkg/agent/testdata/AKSUbuntu2204+SSHStatusOff/CustomData # pkg/agent/testdata/AKSUbuntu2204+SSHStatusOn/CustomData # pkg/agent/testdata/AKSUbuntu2204+SecurityProfile/CustomData # pkg/agent/testdata/AKSUbuntu2204+SerializeImagePulls/CustomData # pkg/agent/testdata/AKSUbuntu2204+cgroupv2/CustomData # pkg/agent/testdata/AKSUbuntu2204+ootcredentialprovider/CustomData # pkg/agent/testdata/AKSUbuntu2404+CustomLinuxOSConfigUlimit/CustomData # pkg/agent/testdata/AKSUbuntu2404+NetworkPolicy/CustomData # pkg/agent/testdata/AKSUbuntu2404+Teleport/CustomData # pkg/agent/testdata/AzureLinuxV2+Kata/CustomData # pkg/agent/testdata/AzureLinuxV3+Kata+DisableUnattendedUpgrades=false/CustomData # pkg/agent/testdata/AzureLinuxV3+Kata+DisableUnattendedUpgrades=true/CustomData # pkg/agent/testdata/AzureLinuxV3+Kata/CustomData # pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=false/CustomData # pkg/agent/testdata/AzureLinuxv2+DisableUnattendedUpgrades=true/CustomData # pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=false/CustomData # pkg/agent/testdata/AzureLinuxv2+Kata+DisableUnattendedUpgrades=true/CustomData # pkg/agent/testdata/CustomizedImage/CustomData # pkg/agent/testdata/CustomizedImageKata/CustomData # pkg/agent/testdata/CustomizedImageLinuxGuard/CustomData # pkg/agent/testdata/Flatcar+CustomCloud+USSec/CustomData # pkg/agent/testdata/Flatcar+CustomCloud+USSec/CustomData.inner # pkg/agent/testdata/Flatcar+CustomCloud/CustomData # pkg/agent/testdata/Flatcar+CustomCloud/CustomData.inner # pkg/agent/testdata/Flatcar/CustomData # pkg/agent/testdata/Flatcar/CustomData.inner # pkg/agent/testdata/MarinerV2+CustomCloud+USNat/CustomData # pkg/agent/testdata/MarinerV2+CustomCloud+USSec/CustomData # pkg/agent/testdata/MarinerV2+CustomCloud/CustomData # pkg/agent/testdata/MarinerV2+Kata/CustomData # pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=false/CustomData # pkg/agent/testdata/Marinerv2+DisableUnattendedUpgrades=true/CustomData # pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=false/CustomData # pkg/agent/testdata/Marinerv2+Kata+DisableUnattendedUpgrades=true/CustomData
| Commit: | 2f6ce17 | |
|---|---|---|
| Author: | Devinwong | |
| Committer: | GitHub | |
feat: add cloud provider configs into aks-node-config (#8018)
| Commit: | f97570a | |
|---|---|---|
| Author: | Saewon Kwak | |
Add scriptless path support for SHOULD_ENABLE_HOSTS_PLUGIN This change enables the aks-node-controller to pass SHOULD_ENABLE_HOSTS_PLUGIN environment variable to CSE scripts for scriptless node provisioning. Changes: - Added enable_hosts_plugin field to LocalDnsProfile proto definition - Added shouldEnableHostsPlugin() helper function in parser - Added SHOULD_ENABLE_HOSTS_PLUGIN to CSE environment variables - Added comprehensive unit tests (6 test cases) - Added integration tests (2 test cases) The environment variable returns "true" only when both enable_local_dns and enable_hosts_plugin are true, enabling the CSE scripts to select the correct localdns Corefile with hosts plugin support. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Commit: | 18d3ddf | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | GitHub | |
delete the 6th property in LocalDnsProfile
| Commit: | e586737 | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | GitHub | |
remove criticalhostsentry
| Commit: | 965d35d | |
|---|---|---|
| Author: | Saewon Kwak | |
Merge main into sakwa/localdns_poc
| Commit: | eb6a0cc | |
|---|---|---|
| Author: | Saewon Kwak | |
| Committer: | GitHub | |
feat: add localdns hosts entries support for non-scriptless path