Skip to content
This repository was archived by the owner on Jul 20, 2026. It is now read-only.

Commit ea21b37

Browse files
authored
Make ACR feature work with sovereign clouds (#4289)
1 parent 4357003 commit ea21b37

6 files changed

Lines changed: 25 additions & 31 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@
33
- Python Dockerfiles will now be scaffolded with the `python:3-slim` tag, so that they do not need to be updated annually. [#4234](https://github.com/microsoft/vscode-docker/pull/4234)
44
- Python debugging will now use the `debugpy` debug configuration instead of the now-deprecated `python` debug configuration. This requires recent versions of the [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) and [Python Debugger](https://marketplace.visualstudio.com/items?itemName=ms-python.debugpy) extensions. [#4221](https://github.com/microsoft/vscode-docker/issues/4221)
55

6+
### Fixed
7+
- Sovereign clouds such as Azure China and Azure US Government should now work with the connect to Azure Container Registry feature. [#4287](https://github.com/microsoft/vscode-docker/issues/4287)
8+
69
## 1.29.0 - 12 February 2024
710
### Added
811
- Node.js 18 is now used, requiring at minimum VSCode 1.82.0. [#4167](https://github.com/microsoft/vscode-docker/pull/4167)

package-lock.json

Lines changed: 9 additions & 26 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2998,7 +2998,7 @@
29982998
"@azure/storage-blob": "^12.14.0",
29992999
"@microsoft/compose-language-service": "^0.2.0",
30003000
"@microsoft/vscode-azext-azureappservice": "~2.0",
3001-
"@microsoft/vscode-azext-azureauth": "^1.4.0",
3001+
"@microsoft/vscode-azext-azureauth": "^2.3.0",
30023002
"@microsoft/vscode-azext-azureutils": "^2.0.0",
30033003
"@microsoft/vscode-azext-utils": "^2.1.1",
30043004
"@microsoft/vscode-container-client": "^0.1.1",

src/tree/registries/Azure/ACROAuthProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* Licensed under the MIT License. See LICENSE in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { AzureSubscription } from '@microsoft/vscode-azext-azureauth';
6+
import type { AzureSubscription } from '@microsoft/vscode-azext-azureauth';
77
import { LoginInformation, httpRequest } from '@microsoft/vscode-docker-registries';
88
import { AuthenticationProvider } from "@microsoft/vscode-docker-registries/";
99
import * as vscode from 'vscode';

src/tree/registries/Azure/AzureRegistryDataProvider.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import type { Registry as AcrRegistry, RegistryListCredentialsResult } from '@azure/arm-containerregistry';
7-
import { AzureSubscription, VSCodeAzureSubscriptionProvider } from '@microsoft/vscode-azext-azureauth';
7+
import { VSCodeAzureSubscriptionProvider, type AzureSubscription } from '@microsoft/vscode-azext-azureauth';
88
import { IActionContext, callWithTelemetryAndErrorHandling } from '@microsoft/vscode-azext-utils';
99
import { RegistryV2DataProvider, V2Registry, V2RegistryItem, V2Repository, V2Tag, getContextValue, registryV2Request } from '@microsoft/vscode-docker-registries';
1010
import { CommonRegistryItem, isRegistry, isRegistryRoot, isRepository, isTag } from '@microsoft/vscode-docker-registries/lib/clients/Common/models';

src/utils/azureUtils.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import type { ContainerRegistryManagementClient } from '@azure/arm-containerregistry';
7-
import { AzureSubscription } from '@microsoft/vscode-azext-azureauth';
7+
import type { AzureSubscription } from '@microsoft/vscode-azext-azureauth';
88
import { l10n } from 'vscode';
9+
import { getArmContainerRegistry } from './lazyPackages';
910

1011
function parseResourceId(id: string): RegExpMatchArray {
1112
const matches: RegExpMatchArray | null = id.match(/\/subscriptions\/(.*)\/resourceGroups\/(.*)\/providers\/(.*)\/(.*)/i);
@@ -20,5 +21,12 @@ export function getResourceGroupFromId(id: string): string {
2021
}
2122

2223
export async function createAzureContainerRegistryClient(subscriptionItem: AzureSubscription): Promise<ContainerRegistryManagementClient> {
23-
return new (await import('@azure/arm-containerregistry')).ContainerRegistryManagementClient(subscriptionItem.credential, subscriptionItem.subscriptionId);
24+
const armContainerRegistry = await getArmContainerRegistry();
25+
return new armContainerRegistry.ContainerRegistryManagementClient(
26+
subscriptionItem.credential,
27+
subscriptionItem.subscriptionId,
28+
{
29+
endpoint: subscriptionItem.environment.resourceManagerEndpointUrl
30+
}
31+
);
2432
}

0 commit comments

Comments
 (0)