Docker images mirroring
-
Proposed simple config (milestone 1). Done in !114 (merged), !117 (merged), !118 (merged), !119 (merged), !120 (merged), !123 (merged), !127 (merged) :
mygroup/myproject:
image_mirrors:
- from: 'debian:buster' # exact match, translated to full reference docker.io/library/debian:buster
# to: 'debian:buster' # defaults to source short name (after last /), i.e. debian:buster
# ^^^ relative to container_registry_url => registry.example.org/mygroup/myproject/debian:buster
- from: 'quay.org/coreos/etcd:v3.4.1'
to: 'coreos/etcd:v3.4.1' # Default would be etcd:v3.4.1
Proposed advanced config:
-
base + repositories + tags. Done in !128 (merged) -
tag matching (milestone 2) and substitution !129 (merged) -
semver (milestone 3) !148 (merged), -
repository matching (milestone 4) and substitution ( 🔥 each registry has it's own way to browse repositories), -
pruning (milestone 5)
mygroup/myproject:
image_mirrors:
- from:
base: quay.org/coreos
repositories:
- etcd # or regex ?! = milestone 4
tags:
- 1.20.3
- '/v(3\.4\..*)/' # Only tags matching, milestone 2
semver: '>= 3.4' # https://python-semanticversion.readthedocs.io/en/latest/#npm-based-ranges
to:
base: quay-org
# repository: '\1'
# tag: '\0'
# platform: {'architecture': 'amd64', 'os': 'linux'}
unknown_images: prune # or ignore or warn
Some opened questions:
- Where to store external repositories credentials?
- Is there a need to mix repository and tag replacement (i.e foo:v1.2.3 -> bar-v1:2.3)?
Edited by Mathieu Parent