Open Gijsreyn opened 1 month ago
Interesting. I found some more relevant resources:
I found that you can set ApiVersion to be ContainerRegistry
(it was set to Unknown
by default):
# Either when registering MCR
Register-PSResourceRepository -Name 'mcr' -Uri 'https://mcr.microsoft.com' -ApiVersion 'ContainerRegistry'
# Or after it has been registered
Set-PSResourceRepository -Name 'mcr' -ApiVersion 'ContainerRegistry'
It still does not work though.
PS > Find-PSResource -Repository 'mcr' -Name 'Az.Accounts' -Debug -Verbose
DEBUG: In FindPSResource::ProcessResourceNameParameterSet()
DEBUG: Filtering package name(s) on wildcards
DEBUG: In FindHelper::FindByResourceName()
DEBUG: Parameters passed in >>> Name: 'Az.Accounts'; ResourceType: 'None'; VersionRange: ''; NuGetVersion: ''; VersionType: 'NoVersion'; Version: ''; Prerelease: 'False'; Tag: ''; Repository: 'mcr'; IncludeDependencies 'False'
DEBUG: Searching through repository 'mcr'
DEBUG: In FindHelper::SearchByNames()
DEBUG: No version specified, package name is specified
DEBUG: In ContainerRegistryServerAPICalls::FindName()
DEBUG: In ContainerRegistryServerAPICalls::FindPackagesWithVersionHelper()
DEBUG: In ContainerRegistryServerAPICalls::GetContainerRegistryAccessToken()
DEBUG: In ContainerRegistryServerAPICalls::IsContainerRegistryUnauthenticated()
VERBOSE: Repository is unauthenticated
DEBUG: In ContainerRegistryServerAPICalls::GetContainerRegistryRefreshToken()
DEBUG: In ContainerRegistryServerAPICalls::GetHttpResponseJObjectUsingContentHeaders()
Find-PSResource: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
PS >
Using v1.1.0-preview2.
Interesting. I found some more relevant resourves:
- Blog post: https://devblogs.microsoft.com/powershell/psresourceget-support-for-azure-container-registry-acr-is-in-preview/
- Limitations: https://learn.microsoft.com/en-us/powershell/gallery/powershellget/how-to/use-acr-repository?view=powershellget-3.x#limitations
- Az.Accounts in MCR: https://mcr.microsoft.com/en-us/artifact/mar/azure-powershell/az.accounts/tags
I found that you can set ApiVersion to be
ContainerRegistry
(it was set toUnknown
by default):# Either when registering MCR Register-PSResourceRepository -Name 'mcr' -Uri 'https://mcr.microsoft.com' -ApiVersion 'ContainerRegistry' # Or after it has been registered Set-PSResourceRepository -Name 'mcr' -ApiVersion 'ContainerRegistry'
It still does not work though.
PS > Find-PSResource -Repository 'mcr' -Name 'Az.Accounts' -Debug -Verbose DEBUG: In FindPSResource::ProcessResourceNameParameterSet() DEBUG: Filtering package name(s) on wildcards DEBUG: In FindHelper::FindByResourceName() DEBUG: Parameters passed in >>> Name: 'Az.Accounts'; ResourceType: 'None'; VersionRange: ''; NuGetVersion: ''; VersionType: 'NoVersion'; Version: ''; Prerelease: 'False'; Tag: ''; Repository: 'mcr'; IncludeDependencies 'False' DEBUG: Searching through repository 'mcr' DEBUG: In FindHelper::SearchByNames() DEBUG: No version specified, package name is specified DEBUG: In ContainerRegistryServerAPICalls::FindName() DEBUG: In ContainerRegistryServerAPICalls::FindPackagesWithVersionHelper() DEBUG: In ContainerRegistryServerAPICalls::GetContainerRegistryAccessToken() DEBUG: In ContainerRegistryServerAPICalls::IsContainerRegistryUnauthenticated() VERBOSE: Repository is unauthenticated DEBUG: In ContainerRegistryServerAPICalls::GetContainerRegistryRefreshToken() DEBUG: In ContainerRegistryServerAPICalls::GetHttpResponseJObjectUsingContentHeaders() Find-PSResource: Unexpected character encountered while parsing value: <. Path '', line 0, position 0. PS >
Using v1.1.0-preview2.
Thanks for sharing Ivan. I didn't know that parameter could be used for it. I learned today :)
Thanks to PR #1737 I found a URL that lists tags for Az.Accounts:
And I think this should be the URL for the manifest of v2.12.1, but it gives an error:
Thanks for the attentiveness @o-l-a-v. @adityapatwardhan Is this issue related to the PR?
The work for MAR as the artifact repository is not complete yet. More news coming soon /cc @SydneyhSmith
I'm a bit eager to test it out, so I validated with the latest changes that are merged from #1737. I can confirm it is working now. Thanks!
P.S. Is it needed to set the testhook?
@SydneyhSmith I was curious if there is a release planned to ship this feature.
@Gijsreyn the latest release has the api support but we don't yet have any packages in MAR/MCR officially supported ...we are working with teams to get those in there but its a tough time of year right now with the holidays coming up etc. look forward to more progress soon!
Moved to 1.2 because in future we will want to have MCR as a default registered trusted repo
@SydneyhSmith this issue is just about MAR not working properly. I just opened an issue here: https://github.com/PowerShell/PSResourceGet/issues/1749 to track adding MCR as a default repo.
@Gijsreyn's issue should be resolved with the 1.1.0-RC2 release.
@alerickson Thanks for the heads-up.
Prerequisites
Steps to reproduce
After Sydney's Trusted Package Management presentation during PSConfEU 2024 Minicon, I was curious to give it a try. Unfortunately, I'm stumbling on the following error message:
Install-PSResource: Repository 'mar' is not a known repository type that is supported. Please file an issue for support at https://github.com/PowerShell/PSResourceGet/issues
The steps to reproduce the issue:
Register-PSResourceRepository -Name mar -Uri 'https://mcr.microsoft.com' -Trusted
Install-PSResource -Name Az.Accounts -Repository mar
The error message appears. Did I miss a step while registering or installing?
Expected behavior
Actual behavior
Error details
No response
Environment data
Visuals
No response