Skip to content

ARO HCP CLI extension - #10324

Open
Kipp Morris (kimorris27) wants to merge 24 commits into
Azure:mainfrom
kimorris27:aro-hcp-cli-extension-public-preview
Open

ARO HCP CLI extension#10324
Kipp Morris (kimorris27) wants to merge 24 commits into
Azure:mainfrom
kimorris27:aro-hcp-cli-extension-public-preview

Conversation

@kimorris27

Copy link
Copy Markdown

This checklist is used to make sure that common guidelines for a pull request are followed.

Related command

az aro hcp (new command)

General Guidelines

  • Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
  • Have you run python scripts/ci/test_index.py -q locally? (pip install azdev required)
  • My extension version conforms to the Extension version schema

For new extensions:

About Extension Publish

There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Copilot AI lite review requested due to automatic review settings September 10, 2026 19:59
@azure-client-tools-bot-prd

Copy link
Copy Markdown

Hi Kipp Morris (@kimorris27),
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 pyproject.toml (or setup.py, if the extension has not migrated yet) as well.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

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.

🟡 Changes recommended

User-facing behavior/docs have a couple of concrete inconsistencies (README placeholder and request-credential non-admin no-op/help mismatch, plus aro group preview marking) that should be corrected before merge.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR introduces a new Azure CLI extension (aro-hcp) that adds the az aro hcp command group for managing Azure Red Hat OpenShift hosted control plane (HCP) resources, including clusters, node pools, external auth, version discovery, and credential workflows.

Changes:

  • Adds extension packaging/metadata files (setup, history, linter exclusions, metadata, ownership).
  • Implements custom command behavior for identity assignment, version formatting, and kubeconfig/credential handling.
  • Adds AAZ-generated command surface area plus unit/scenario tests and recording processors.
File summaries
File Description
src/aro-hcp/setup.py Extension packaging metadata
src/aro-hcp/setup.cfg Packaging config placeholder
src/aro-hcp/README.md Extension README
src/aro-hcp/linter_exclusions.yml CLI linter rule exclusions
src/aro-hcp/HISTORY.rst Changelog / release history
src/aro-hcp/azext_aro_hcp/init.py Extension command loader
src/aro-hcp/azext_aro_hcp/azext_metadata.json Extension metadata (preview/min core)
src/aro-hcp/azext_aro_hcp/commands.py Command table registration
src/aro-hcp/azext_aro_hcp/custom.py Custom behaviors (identity/versions/credentials)
src/aro-hcp/azext_aro_hcp/_params.py Argument loader stub
src/aro-hcp/azext_aro_hcp/_help.py Help registration stub
src/aro-hcp/azext_aro_hcp/_format.py Table transformers + version parsing
src/aro-hcp/azext_aro_hcp/_kubeconfig.py Kubeconfig merge + CSR/key helpers
src/aro-hcp/azext_aro_hcp/aaz/init.py AAZ package init
src/aro-hcp/azext_aro_hcp/aaz/latest/init.py AAZ latest init
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/init.py aro group init
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/__cmd_group.py aro group registration
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/init.py aro hcp group init
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/__cmd_group.py aro hcp group registration
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/_get_versions.py AAZ get-versions command
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/init.py Cluster group init
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/__cmd_group.py Cluster group registration
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/_show.py AAZ cluster show
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/_delete.py AAZ cluster delete
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/_wait.py AAZ cluster wait
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/_request_credential.py AAZ request-credential base
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/_revoke_credential.py AAZ revoke-credential
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/nodepool/init.py Nodepool group init
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/nodepool/__cmd_group.py Nodepool group registration
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/nodepool/_list.py AAZ nodepool list
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/nodepool/_show.py AAZ nodepool show
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/nodepool/_delete.py AAZ nodepool delete
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/nodepool/_wait.py AAZ nodepool wait
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/external_auth/init.py External-auth group init
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/external_auth/__cmd_group.py External-auth group registration
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/external_auth/_create.py AAZ external-auth create
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/external_auth/_show.py AAZ external-auth show
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/external_auth/_list.py AAZ external-auth list
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/external_auth/_delete.py AAZ external-auth delete
src/aro-hcp/azext_aro_hcp/aaz/latest/aro/hcp/cluster/external_auth/_wait.py AAZ external-auth wait
src/aro-hcp/azext_aro_hcp/tests/init.py Test package init
src/aro-hcp/azext_aro_hcp/tests/latest/init.py Latest tests init
src/aro-hcp/azext_aro_hcp/tests/latest/test_commands.py Command table unit tests
src/aro-hcp/azext_aro_hcp/tests/latest/test_custom_commands.py Custom command unit tests
src/aro-hcp/azext_aro_hcp/tests/latest/test_format.py Formatter unit tests
src/aro-hcp/azext_aro_hcp/tests/latest/test_kubeconfig.py Kubeconfig helper unit tests
src/aro-hcp/azext_aro_hcp/tests/latest/test_recording_processors.py Recording processor unit tests
src/aro-hcp/azext_aro_hcp/tests/latest/test_aro_hcp_scenario.py Scenario test coverage
.github/CODEOWNERS Adds aro-hcp code owners
Review details
  • Files reviewed: 56/57 changed files
  • Comments generated: 4
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/aro-hcp/azext_aro_hcp/custom.py Outdated
Comment thread src/aro-hcp/README.md Outdated
Comment thread src/aro-hcp/azext_aro_hcp/aaz/latest/aro/__cmd_group.py
Comment thread src/aro-hcp/azext_aro_hcp/custom.py
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@kimorris27

Copy link
Copy Markdown
Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Commenter does not have sufficient privileges for PR 10324 in repo Azure/azure-cli-extensions

@yonzhan

Copy link
Copy Markdown
Collaborator

ARO HCP

@necusjz

Copy link
Copy Markdown
Member

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

@yonzhan

Copy link
Copy Markdown
Collaborator

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).

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.

5 participants