Skip to content
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

sync all images from a starting version #1756

Closed
SamStenton opened this issue Sep 22, 2022 · 8 comments
Closed

sync all images from a starting version #1756

SamStenton opened this issue Sep 22, 2022 · 8 comments
Labels
kind/feature A request for, or a PR adding, new functionality locked - please file new issue/PR stale-issue

Comments

@SamStenton
Copy link

It would be beneficial to be able to define a minimum version to sync against so that all versions above that initial definition are copied.

We're running Skopeo on a schedule to move images from one repo to another, I don't want to copy all images ever created but instead copy all images created that are greater than a defined version.

This might look like this when using the yaml config:

docker.io:
    images:
        busybox:
            - "~1.0.0" # Sync all patch tags
            - "^1.0.0" # Sync all minor and patch tags
            - ">1.1.5" # Sync all tags above and including 1.1.5

I know this can be achieved using the regex method however the readability of that begins to get pretty difficult and importantly it's really easy to miss edge cases.

docker.io:
    images-by-tag-regex:
        jetstack/cert-manager-webhook: (v1\.[8-9]\.[0-9]+$)|v([2-9]+)\.([0-9]+)\.[0-9]+$ # match anything above 1.8.0 (various edge cases that get missed, like v1.10.0
        jetstack/cert-manager-webhook: (v1\.[8-9]\.[0-9]+$)|v([2-9]+)\.([0-9]+)\.[0-9]+$
        istio/proxyv2: ([0-9])\.([1-9][3-9]|[2-9][0-9])\.[0-9]*$ # match anything starting from 1.13.0.
@mtrmac
Copy link
Contributor

mtrmac commented Sep 22, 2022

Thanks for reaching out.

This seems plausible in principle; the hard thing is finding a versioning standard that is widely applicable (with things like patches, pre-releases and the like), to minimize the number of almost-but-not-quite-the-same options.

At some point there was some work on #965 using the “semantic versioning” syntax.

@SamStenton
Copy link
Author

#996 would suggest that made it in - but can't find this compare feature. Syntax in 965 would be great.

@mtrmac
Copy link
Contributor

mtrmac commented Sep 23, 2022

I think there was some mix-up in #965 vs #996 , I’m not sure what exactly happened back then. Either way, the feature doesn’t exist right now.

@github-actions
Copy link

A friendly reminder that this issue had no activity for 30 days.

@mtrmac mtrmac added the kind/feature A request for, or a PR adding, new functionality label Dec 7, 2022
@github-actions
Copy link

github-actions bot commented Jan 7, 2023

A friendly reminder that this issue had no activity for 30 days.

@k11h-de
Copy link

k11h-de commented Jan 9, 2023

@SamStenton Have you found any working and user-friendly solution for now (apart from regex)?
Maybe we can use the initial work done in #965 and enhance / finish it.
As my focus is in devops, my coding skills are not very advanced.

I would love to see this feature and happy to contribute whatever I can.
Cheers from Berlin
Karsten

@github-actions
Copy link

github-actions bot commented Feb 9, 2023

A friendly reminder that this issue had no activity for 30 days.

@mtrmac
Copy link
Contributor

mtrmac commented Jan 19, 2024

#2189 has implemented a semver filter.

@mtrmac mtrmac closed this as completed Jan 19, 2024
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 19, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind/feature A request for, or a PR adding, new functionality locked - please file new issue/PR stale-issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants