Skip to content

Add ARM64 support for Helm installation in connectedk8s and k8s-extension#9638

Closed
ashnanze wants to merge 17 commits intoAzure:mainfrom
AzureArcForKubernetes:arm64-updates
Closed

Add ARM64 support for Helm installation in connectedk8s and k8s-extension#9638
ashnanze wants to merge 17 commits intoAzure:mainfrom
AzureArcForKubernetes:arm64-updates

Conversation

@ashnanze
Copy link

Summary

  • Adds ARM64-aware Helm client installation logic in both connectedk8s and k8s-extension.
  • Detects host architecture and uses the ARM64 Helm artifact path when running on ARM64 machines.
  • Uses the official Helm distribution source for ARM64 binaries.
  • Ensures the versioned local download directory exists before saving the Helm archive.

Why

  • Enables onboarding and extension workflows to run on ARM64 environments.
  • Prevents ARM64 Helm bootstrap failures caused by missing local download paths.

Validation

  • Built and installed the updated extension .whl.
  • Validated behavior on an ARM64 VM.
  • Validated behavior on an AMD64 VM.
  • Confirmed the updated Helm installation flow works across both architectures.

Bavneet Singh and others added 17 commits September 30, 2025 09:40
* forcedelete

* format

* add code owner

* mypy
…add E2E coverage and improve logging (#20)

* add pester tests for connectedk8s cli extension

* Pass the force delete param to the API call (#4)

* forcedelete

* format

* add code owner

* mypy

* Parameterize for airgapped clouds (#5)

* Add parameterization for the airgapped clouds

* Fix azdev style

* MCR path function

* azdev, ruff, and mypy

---------

Co-authored-by: Matthew McNeal (from Dev Box) <mmcneal@microsoft.com>

* Oras client fix to work with different MCRs (#6)

Co-authored-by: mmcneal <mmcneal@microsoft.com>

* fix CI testcases for nodepool image issues (#8)

* update errors for the config and connectivity issues (#11)

* update errors

* format

* style

* update python version to 3.13 (#12)

* Update cluster diagnostics image to 1.29.3 (#7)

* Update cluster diagnostics helm chart to 1.29.3

* Fix lint issues

---------

Co-authored-by: bgriddaluru <bharath.griddaluru@microsoft.com>

* RBAC deprecation & fix the issue

* typo

* fix comments

* update tests

* add pester tests for connectedk8s cli extension

* Pass the force delete param to the API call (#4)

* forcedelete

* format

* add code owner

* mypy

* fix CI testcases for nodepool image issues (#8)

* update errors for the config and connectivity issues (#11)

* update errors

* format

* style

* update python version to 3.13 (#12)

* rebase

* fix tests

* fix version

* fix mypy, lint

* fix test

* fix test

* fix test

* fix test

* fix test

* rename test

* deprecate flags

* rebase

* rebase

* bump version for release

---------

Co-authored-by: Bavneet Singh <bavneetsingh@microsoft.com>
Co-authored-by: Atchut Kumar Barli <atchut@gmail.com>
Co-authored-by: mcnealm13 <57726243+mcnealm13@users.noreply.github.com>
Co-authored-by: Matthew McNeal (from Dev Box) <mmcneal@microsoft.com>
Co-authored-by: Bavneet Singh <33008256+bavneetsingh16@users.noreply.github.com>
Co-authored-by: bgriddaluru <117554445+bgriddaluru@users.noreply.github.com>
Co-authored-by: bgriddaluru <bharath.griddaluru@microsoft.com>
Co-authored-by: vithumma <vithumma@microsoft.com>
* add agc overrides

* update gns endpoint

* add indentation

* fix linter error

* fix ruff formatting

* move overrides to it's own method

* update method

* update ruff formatting
* add pester tests for connectedk8s cli extension

* Pass the force delete param to the API call (#4)

* forcedelete

* format

* add code owner

* mypy

* Parameterize for airgapped clouds (#5)

* Add parameterization for the airgapped clouds

* Fix azdev style

* MCR path function

* azdev, ruff, and mypy

---------

Co-authored-by: Matthew McNeal (from Dev Box) <mmcneal@microsoft.com>

* Oras client fix to work with different MCRs (#6)

Co-authored-by: mmcneal <mmcneal@microsoft.com>

* fix CI testcases for nodepool image issues (#8)

* update errors for the config and connectivity issues (#11)

* update errors

* format

* style

* update python version to 3.13 (#12)

* Update cluster diagnostics image to 1.29.3 (#7)

* Update cluster diagnostics helm chart to 1.29.3

* Fix lint issues

---------

Co-authored-by: bgriddaluru <bharath.griddaluru@microsoft.com>

* RBAC deprecation & fix the issue

* typo

* fix comments

* update tests

* add pester tests for connectedk8s cli extension

* Pass the force delete param to the API call (#4)

* forcedelete

* format

* add code owner

* mypy

* fix CI testcases for nodepool image issues (#8)

* update errors for the config and connectivity issues (#11)

* update errors

* format

* style

* update python version to 3.13 (#12)

* rebase

* fix tests

* fix version

* fix mypy, lint

* fix test

* fix test

* fix test

* fix test

* fix test

* rename test

* add pester tests for connectedk8s cli extension

* Pass the force delete param to the API call (#4)

* forcedelete

* format

* add code owner

* mypy

* fix CI testcases for nodepool image issues (#8)

* update python version to 3.13 (#12)

* changes to support gateway association/disassociation for api version '2025-08-01-preview' (#17)

* [Azure RBAC] Deprecate 3P mode flags, fix Azure RBAC enablement bug, add E2E coverage and improve logging (#20)

* add pester tests for connectedk8s cli extension

* Pass the force delete param to the API call (#4)

* forcedelete

* format

* add code owner

* mypy

* Parameterize for airgapped clouds (#5)

* Add parameterization for the airgapped clouds

* Fix azdev style

* MCR path function

* azdev, ruff, and mypy

---------

Co-authored-by: Matthew McNeal (from Dev Box) <mmcneal@microsoft.com>

* Oras client fix to work with different MCRs (#6)

Co-authored-by: mmcneal <mmcneal@microsoft.com>

* fix CI testcases for nodepool image issues (#8)

* update errors for the config and connectivity issues (#11)

* update errors

* format

* style

* update python version to 3.13 (#12)

* Update cluster diagnostics image to 1.29.3 (#7)

* Update cluster diagnostics helm chart to 1.29.3

* Fix lint issues

---------

Co-authored-by: bgriddaluru <bharath.griddaluru@microsoft.com>

* RBAC deprecation & fix the issue

* typo

* fix comments

* update tests

* add pester tests for connectedk8s cli extension

* Pass the force delete param to the API call (#4)

* forcedelete

* format

* add code owner

* mypy

* fix CI testcases for nodepool image issues (#8)

* update errors for the config and connectivity issues (#11)

* update errors

* format

* style

* update python version to 3.13 (#12)

* rebase

* fix tests

* fix version

* fix mypy, lint

* fix test

* fix test

* fix test

* fix test

* fix test

* rename test

* deprecate flags

* rebase

* rebase

* bump version for release

---------

Co-authored-by: Bavneet Singh <bavneetsingh@microsoft.com>
Co-authored-by: Atchut Kumar Barli <atchut@gmail.com>
Co-authored-by: mcnealm13 <57726243+mcnealm13@users.noreply.github.com>
Co-authored-by: Matthew McNeal (from Dev Box) <mmcneal@microsoft.com>
Co-authored-by: Bavneet Singh <33008256+bavneetsingh16@users.noreply.github.com>
Co-authored-by: bgriddaluru <117554445+bgriddaluru@users.noreply.github.com>
Co-authored-by: bgriddaluru <bharath.griddaluru@microsoft.com>
Co-authored-by: vithumma <vithumma@microsoft.com>

* remove breaking change announcement for removed flags

---------

Co-authored-by: Bavneet Singh <bavneetsingh@microsoft.com>
Co-authored-by: Atchut Kumar Barli <atchut@gmail.com>
Co-authored-by: mcnealm13 <57726243+mcnealm13@users.noreply.github.com>
Co-authored-by: Matthew McNeal (from Dev Box) <mmcneal@microsoft.com>
Co-authored-by: Bavneet Singh <33008256+bavneetsingh16@users.noreply.github.com>
Co-authored-by: bgriddaluru <117554445+bgriddaluru@users.noreply.github.com>
Co-authored-by: bgriddaluru <bharath.griddaluru@microsoft.com>
Co-authored-by: vithumma <vithumma@microsoft.com>
@azure-client-tools-bot-prd
Copy link

Validation for Breaking Change Starting...

Thanks for your contribution!

@azure-client-tools-bot-prd
Copy link

Hi @ashnanze,
Please write the description of changes which can be perceived by customers into HISTORY.rst.
If you want to release a new extension version, please update the version in setup.py as well.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot wasn't able to review this pull request because it exceeds the maximum number of files (300). Try reducing the number of changed files and requesting a review from Copilot again.

@ashnanze ashnanze changed the title Add ARM64 support for Helm client installation in connectedk8s and k8s-extension Add ARM64 support for Helm installation in connectedk8s and k8s-extension Feb 26, 2026
@yonzhan
Copy link
Collaborator

yonzhan commented Feb 26, 2026

Thank you for your contribution! We will review the pull request and get back to you soon.

@github-actions
Copy link
Contributor

The git hooks are available for azure-cli and azure-cli-extensions repos. They could help you run required checks before creating the PR.

Please sync the latest code with latest dev branch (for azure-cli) or main branch (for azure-cli-extensions).
After that please run the following commands to enable git hooks:

pip install azdev --upgrade
azdev setup -c <your azure-cli repo path> -r <your azure-cli-extensions repo path>

@github-actions
Copy link
Contributor

CodeGen Tools Feedback Collection

Thank you for using our CodeGen tool. We value your feedback, and we would like to know how we can improve our product. Please take a few minutes to fill our codegen survey

@ashnanze ashnanze closed this Feb 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants