Use Oras .NET library for interacting with OCI registries in Microsoft.NET.Build.Containers
- Dominant language
- C#
- Stars
- 3.2k
- Forks
- 1.3k
- PR merge metrics
- PR metrics pending
Description
Background: Microsoft.NET.Build.Containers uses its own implementation of OCI models and registry interactions (example: [ManifestListV2.cs](https://github.com/dotnet/sdk/blob/96683a0ad81c5694820f7824342a4ca5079bdd64/src/Containers/Microsoft.NET.Build.Containers/ManifestListV2.cs))
We can migrate to the [ORAS .NET library](https://github.com/oras-project/oras-dotnet) and delete a lot of the custom registry interaction code in the SDK. The ORAS .NET library has no external/3rd party dependencies and has an Apache-2.0 license. It's maintained by other Microsoft employees.
This work has a few parts that must be completed (roughly) in order:
- [ ] Migrate Microsoft.NET.Build.Containers to OrasProject.Oras in dotnet/sdk's main branch
- [ ] Add OrasProject.Oras to [SBRP as an external project](https://github.com/dotnet/source-build-reference-packages?tab=readme-ov-file#external) so that it is built from source as part of .NET's build.
- [ ] Flow SBRP to VMR in order to unblock SDK flow to VMR
- [ ] Complete SDK flow to VMR with new OrasProject.Oras dependency
/cc @baronfel
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.