Issue 3159: Added support for AzureStackHub and Azure private cloud identification #8738
+317
−64
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Thank you for contributing to Velero!
Please add a summary of your change
Added support for AzureStackHub and private Azure cloud environments by updating the
getCloudConfiguration()
logic to fall-through to the kubernetes cloud-provider-azure module logic for identifying private cloud environments. This fall-through supports bothAZURE_RESOURCE_MANAGER_ENDPOINT
cloud discovery as well asAZURE_ENVIRONMENT_FILEPATH
discovery.The private cloud logic can (partially) be tested on any Azure environment by setting the
AZURE_CLOUD_NAME
toAZURESTACKCLOUD
and providing a validazurestackcloud.json
configuration file as documented here. You can set the cloud endpoints to valid endpoints for a public cloud offering to test fallthrough logic.The bulk of the documentation updates will need to be done on the velero-plugin-for-microsoft-azure project which I plan during the PR cycle to recompile the plugin with these changes. The proposed documentation changes can be seen on my branch
I provided unit tests for both endpoint and filepath cloud discovery, as well as tested in my own Azure environments to confirm functionality.
Note: This feature requires golang1.23 support so I bumped those as well. I see an open PR #8717 which I suspect will need to be merged before this.
Does your change fix a particular issue?
Fixes #3159
Please indicate you've done the following:
make new-changelog
) or comment/kind changelog-not-required
on this PR.site/content/docs/main
.