-
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
Support sync of whole repository #8
Comments
@Dysproz would the intent for this functionality to be used mostly as a one time command or to store it in the manifest file? I think it could make sense to support both, but would rather directly support your use case first. i.e. would you expect:
or target
host: quay.io
sources:
- repository: myrepo
host: docker.io
tag: * |
I think that manifest would better option as it may be easier to read and understand manifest file for DevOps instead of going through pipeline commands. :) |
Sounds good. Lastly for your use case, do you have a preference or thought how the list command would print out images with *? Using * means the list couldn't directly be piped into tooling because * is an invalid character-- but listing all tags could be really noisy and could change based on what was pushed to the remote. My gut says to ignore the * functionality for some commands. |
Yeah, I agree that it may be ignored for some commands as it makes no sense e.g. listing tags of all images in repository. :) |
@Dysproz as an update, the code base is now in a very good spot to support this now. I'm still working out the best way to expose this for consumers. Having some images displayed in the list command and not others could be confusing. But printing out all tags would also be noisy, and require pulling back all tags every time. I debate whether or not this functionality should be considered separate (potentially another section in the manifest, e.g. repositories), as I do feel it is a smaller use-case. |
The more I think about this, the more I lean towards a new root level type.
Add a Then the command line interaction could be.. etc. Since I foresee
This cleanly separates the two different concerns, without a bunch of branching logic based on asterisks in the target:
host: myhost.com
repository: my/repo
images:
- repository: coreos/prometheus-operator
host: quay.io
tag: v0.39.0
repositories:
- path: my/repo
host: quay.io |
I currently use
|
It becomes problematic deciding when a tag should be considered immutable, and when a tag should not. If you're syncing In the above example, I would imagine that the expected behavior for A potential solution could be to assume that any tag without a number takes on the always sync behavior (e.g. like The other way would be to introduce a new section/property, something like |
I would go for the override keyword: look at database images like e.g. postgresql: |
Good point. Override it is! |
Hi, any update on this feature request? Is there any way to sync a whole repo? |
@dyipon at the moment there is no way to do this without defining the images and tags up front. I haven't been able to get to this, but pull requests are always welcome! |
Great project!
One idea that I have for enhancement is to add possibility to sync whole repository.
For example:
I have
myuser
at Docker Hub with some containers andmyotheruser
at Quay and I want to sync all containers from Docker to Quay just in case one of platforms is down.Just an idea which would be cool and possibly useful for companies that maintain multiple registries with the same containers. :)
The text was updated successfully, but these errors were encountered: