-
Notifications
You must be signed in to change notification settings - Fork 53
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
feat: parallelize copy/client.ImageExistsAtRemote calls #73
base: main
Are you sure you want to change the base?
Conversation
@jpreese Here you go, you can check the result at: https://github.com/aslafy-z/sinker/releases/tag/v0.19.0-rc.1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait for release of upstream and upgrade
@@ -33,9 +34,21 @@ func New(logInfo func(format string, args ...interface{})) (Client, error) { | |||
return Client{}, fmt.Errorf("new docker client: %w", err) | |||
} | |||
|
|||
remoteOptions := []remote.Option{ | |||
remote.WithAuthFromKeychain(authn.DefaultKeychain), | |||
remote.WithRetryBackoff(remote.Backoff{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add 429 retry code google/go-containerregistry#1635
@@ -33,9 +34,21 @@ func New(logInfo func(format string, args ...interface{})) (Client, error) { | |||
return Client{}, fmt.Errorf("new docker client: %w", err) | |||
} | |||
|
|||
remoteOptions := []remote.Option{ | |||
remote.WithAuthFromKeychain(authn.DefaultKeychain), | |||
remote.WithRetryBackoff(remote.Backoff{ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Check what's the status of the withRetryBackoff pr
Fixes #72
For 800 images:
Before: 3m21s
After: 10s
This depends on google/go-containerregistry#1628. At least, backoff strategy will not be applied before that PR is released.