Skip to content
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

Integrate azcore #58

Merged
merged 16 commits into from
Mar 4, 2022
Merged

Integrate azcore #58

merged 16 commits into from
Mar 4, 2022

Conversation

magodo
Copy link
Contributor

@magodo magodo commented Mar 1, 2022

This PR replaces the underlying transport layer autorest-go with azcore. This automatically replaced the underlying auth package go-azure-helper/hamilton with azidentity/msal-go.

Notable Changes

There are multiple changes introduced during the integration, which are listed below.

Transport Layer

  1. The Track1 SDK retry on 429 error is disabled. For track2 SDK, as is stated in the CHANGELOG, since v0.4.0, 429 won’t be retried. However, it is added back in commit: 7b3181265a8da567cef05b17ac7decc6bbab27e0. Though we can change remove the 429 from the retry list, but there is no good reason to do so. So keep it as is.

Auth Layer

  1. For the SP Cert auth, the go-azure-helper can supports the cert file with/without password, while the track2 only supports cert file without password. azidentity: environmnet credential add supports for the cert password azure-sdk-for-go#17099 is submit to add that support.
  2. For the MSI auth, the go-azure-helper allows users to specify the msi_endpooint, while the track2 allows users to specify the ID of the managed identity, which is different. Since in most cases, msi_endpoint is not needed to specify, so we can leave this feature absent for now.
  3. Multitenant is currently not working for track2 SDK: Support ARM cross-tenant authentication azure-sdk-for-go#17159

Other feature

  1. The metadata_host can be used to set a customized metadata host, which can return customized endpoint for authorization or/and responding ARM API.

internal/provider/provider.go Show resolved Hide resolved
internal/provider/provider.go Outdated Show resolved Hide resolved
internal/clients/client.go Outdated Show resolved Hide resolved
internal/clients/client.go Outdated Show resolved Hide resolved
internal/services/azurerm_generic_resource.go Outdated Show resolved Hide resolved
@ms-henglu
Copy link
Member

LGTM 👍

@ms-henglu ms-henglu merged commit 009147e into Azure:main Mar 4, 2022
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.

2 participants