-
Notifications
You must be signed in to change notification settings - Fork 428
CNTRLPLANE-1988: Add Azure support to product CLI for self-managed customers #7407
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
@bryan-cox: This pull request references CNTRLPLANE-1988 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Skipping CI for Draft Pull Request. |
|
Important Review skippedAuto reviews are limited based on label configuration. 🚫 Excluded labels (none allowed) (1)
Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Comment |
|
@bryan-cox: This pull request references CNTRLPLANE-1988 which is a valid jira issue. Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.22.0" version, but no target version was set. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bryan-cox The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
07acf5e to
2a79203
Compare
|
/test all |
|
/test e2e-aks |
|
@bryan-cox: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Add BindProductFlags functions to the Azure cluster and nodepool create commands. These functions expose only customer-facing flags for self-managed Azure, excluding ARO HCP-specific flags like --managed-identities-file and --data-plane-identities-file. This provides the foundation for the product CLI to create Azure clusters and nodepools with a focused, self-managed-only flag set. Signed-off-by: Bryan Cox <brcox@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code)
Add Azure platform support to the product CLI for self-managed Azure customers. This includes: - hcp create cluster azure: Creates a HostedCluster on Azure using workload identities for self-managed deployments - hcp destroy cluster azure: Destroys a HostedCluster and its associated Azure infrastructure The commands use BindProductFlags to expose only self-managed Azure flags, following the established AWS product CLI pattern. Signed-off-by: Bryan Cox <brcox@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code)
Add Azure nodepool creation support to the product CLI: - hcp create nodepool azure: Creates a NodePool for Azure platform Uses BindProductFlags to expose VM configuration, disk settings, image options, and diagnostics flags for self-managed Azure customers. Signed-off-by: Bryan Cox <brcox@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code)
Add a platform-agnostic nodepool destroy command to the product CLI: - hcp destroy nodepool: Deletes a NodePool by name and namespace NodePool deletion does not require platform-specific infrastructure cleanup, so this command works for all platforms including Azure. Signed-off-by: Bryan Cox <brcox@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code)
Mark --azure-creds and --pull-secret as required flags for the Azure cluster create command, consistent with other platform commands like agent. Signed-off-by: Bryan Cox <brcox@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code)
8b641d7 to
16a9cb9
Compare
|
@bryan-cox: This pull request references CNTRLPLANE-1988 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
/auto-cc |
Add cmd/util/azure_flag_descriptions.go with shared flag description constants for the Azure product CLI. This ensures consistent, customer-friendly descriptions across cluster and nodepool commands. Key improvements: - Descriptions include format examples (e.g. resource IDs, regions) - Explain the purpose/why for each flag - Consolidate duplicate descriptions (e.g. subnet flags) Signed-off-by: Bryan Cox <brcox@redhat.com> Commit-Message-Assisted-by: Claude (via Claude Code)
16a9cb9 to
a82a212
Compare
What this PR does / why we need it:
Adds Azure platform support to the product CLI (
hcp) for self-managed Azure customers. This enables customers to create and manage Azure HostedClusters and NodePools using the productized CLI.New commands added:
hcp create cluster azure- Creates a HostedCluster on Azurehcp destroy cluster azure- Destroys a HostedCluster and its Azure infrastructurehcp create nodepool azure- Creates an Azure NodePoolhcp destroy nodepool- Destroys a NodePool (platform-agnostic)Key design decisions:
BindProductFlagsfunctions to expose only self-managed Azure flags, excluding ARO HCP-specific flags like--managed-identities-fileand--data-plane-identities-fileWhich issue(s) this PR fixes:
Fixes CNTRLPLANE-1988
Special notes for your reviewer:
The
BindProductFlagspattern differs slightly from AWS which usesBindOptionsdirectly. This is intentional because Azure has distinct flag sets for self-managed (workload identities) vs managed/ARO HCP (managed identities), and the product CLI targets only self-managed customers.I tested the commands out. Everything looked good to me - https://issues.redhat.com/browse/CNTRLPLANE-1988?focusedId=28746778&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-28746778.
Checklist: