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

Make Azure environments pluggable #8328

Closed
jhendrixMSFT opened this issue Apr 15, 2020 · 8 comments
Closed

Make Azure environments pluggable #8328

jhendrixMSFT opened this issue Apr 15, 2020 · 8 comments
Assignees
Labels
Azure.Core blocking-release Blocks release Client This issue points to a problem in the data-plane of the library. design-discussion An area of design currently under discussion and open to team and community feedback. feature-request This issue requires a new behavior in the product in order be resolved.
Milestone

Comments

@jhendrixMSFT
Copy link
Member

It would get ideal to be able to seamlessly switch clouds, i.e. public cloud -> sovereign cloud. In track 1 there is the Environment settings but it requires the caller to wire up all the endpoints themselves.
One idea is to add an Environment arg to client constructors that will contain all the endpoints and scope. It would need to include the authority host to be passed to the GetToken() call.

@tzhanl tzhanl added Client This issue points to a problem in the data-plane of the library. and removed Client This issue points to a problem in the data-plane of the library. labels Nov 18, 2020
@RickWinter RickWinter added the feature-request This issue requires a new behavior in the product in order be resolved. label Jul 22, 2021
@RickWinter RickWinter removed the Track2 label Sep 13, 2021
@RickWinter RickWinter added the design-discussion An area of design currently under discussion and open to team and community feedback. label Sep 13, 2021
@RickWinter RickWinter added this to the [2021] October milestone Sep 13, 2021
@RickWinter
Copy link
Member

Need to review our EndPoint usage. The SDK needs to follow design guidelines for talking to many clouds

@JeffreyRichter
Copy link
Member

@jhendrixMSFT This is a very old issue. I believe that our clients support multiple clouds simply by requiring the customer to pass an endpoint when creating each client and also by allowing them to override the authentication scope. Do you think there is anything else we need to do?

@jhendrixMSFT
Copy link
Member Author

@JeffreyRichter while we do support this today via custom endpoints, you have to match them when authenticating and creating a client. What I was conceptually envisioning was that you could indicate "use USGov cloud" and the correct endpoints would be wired up.

@seankane-msft
Copy link
Member

@chlowell has this issue been addressed by the GetToken methods in azidentity?

@chlowell
Copy link
Member

No. To use ARM in a sovereign cloud you must at least configure the credential to authenticate in that cloud, and point your ARM client at that cloud's management endpoint. That is to say, we have two separate configuration points you must set with matching values or your application doesn't work. I believe Joel's looking for a way to tell the SDK as a whole "my application is in this cloud" and have it handle the details internally, which would make this a relative of Azure/azure-sdk#1550

@RickWinter RickWinter added the blocking-release Blocks release label Nov 4, 2021
@RickWinter
Copy link
Member

We need to ensure we can add this in the future without making a breaking change

@jhendrixMSFT
Copy link
Member Author

@chlowell I believe this work is now complete?

@chlowell
Copy link
Member

Yes, this was closed by #16942

@github-actions github-actions bot locked and limited conversation to collaborators Apr 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Azure.Core blocking-release Blocks release Client This issue points to a problem in the data-plane of the library. design-discussion An area of design currently under discussion and open to team and community feedback. feature-request This issue requires a new behavior in the product in order be resolved.
Projects
None yet
Development

No branches or pull requests

6 participants