This updates the regclient Go library.
Existing users of logrus will continue to work using a logrus handler to slog.
Updates to the various commands will be made in a future commit.
Signed-off-by: Brandon Mitchell <git@bmitch.net>
Breaking: Update scheme to use pqueue instead of throttle.
This is the first step to redesign the network requests for more efficiency.
Library users are unlikely to encounter issues with the scheme change since
both throttle and pqueue are internal packages, so it shouldn't be possible
to call their methods directly or specify their types in variables.
Signed-off-by: Brandon Mitchell <git@bmitch.net>
I feel like I need to explain, this is all to move the descriptor package.
The platform package could not use the predefined errors in types because of a circular dependency from descriptor.
The most appropriate way to reorg this is to move descriptor out of the type package since it was more complex than a self contained type.
When doing that, type aliases were needed to avoid breaking changes to existing users.
Those aliases themselves caused circular dependency loops because of the media types and errors, so those were also pulled out to separate packages.
All of the old values were aliased and deprecated, and to fix the linter, those deprecations were fixed by updating the imports... everywhere.
Signed-off-by: Brandon Mitchell <git@bmitch.net>
- Attempt to pull external blob from registry
- Handle blob pull to external URL
- Copy option to copy external blobs
- Mod option to remove external URLs from descriptors
Signed-off-by: Brandon Mitchell <git@bmitch.net>