system-config/zuul.d/docker-mirror.yaml
Clark Boylan 043f066380 Use podman to build non docker hub container images
We have two sets of image build jobs. The first are targetted
specifically at docker and docker hub. The second set use the generic
container image roles and jobs from zuul/zuul-jobs. In this second set
we have the choice of using either podman or docker. Choose podman
because podman plays nicer with mirroring images hosted outside of
docker hub. This is important for image builds like Gerrit where we
build a base image and a gerrit version specific image and we need to
lookup the base image from a mirror of a hosted versions outside of
docker hub.

The main drawback to keep in mind here is that podman handles multi arch
container image builds differently to docker. This means if/when we get
to porting the python base image builds that are multiarch to quay and
pordman we may need to add additional support for multiarch. Though
currently only nodepool-builder relies on this and it is being replaced
by zuul-launcher so we may just sidestep the issue entirely.

We update the hound Dockerfile to force a rebuild of this image. The
reason for that is that image is the only one currently affected by the
change to build images with podman. This ensures we don't discover
problems with podman building hound images later when we have a
different reason to rebuild that image.

Finally while we are at it drop container_command from the mirror
container images job because that job uses skopeo now and doesn't rely
on podman or docker. This should reduce overall confusion when trying to
understand the behavior of our jobs.

Change-Id: Ie7a309452e33e0996702c849167b7881d79db5fb
2025-04-23 10:07:03 -07:00

354 lines
13 KiB
YAML

- secret:
name: system-config-opendevmirror
data:
quay.io:
username: opendevmirror+opendevzuul
password: !encrypted/pkcs1-oaep
- DSv9g3JEK+F2Nd+5vf5E7IHMSr+hFxPAAKl5slKmSUNMDl8dTq1c9jzjnDPOhDrcFuv7Z
PwdBLp8IDS2xEYnPzsFMy3PrDRHj/LCvuLa6JsqxUNG/OrsmIcXdymUIjnO9WOKCasqaI
sFMv1h/DUMb2RvYJPVc0dqsRgvDMqsismW2/+gxVp/4IiqR/ZCN1r+sZ2EVMBFWLQ0oC8
B0VCmf3F6cxc4XqskVJHF/RJjWvE/sHvB+8N89OQUdsvWOhtH7JfM2kdduVRj8EaEcyX1
tpi+lkpwzc+24dAuDK9VHGYb0SF1H1Q1HzHTE4pvy2XDynXfNtNPBSoUjRAP0z9t9oB0I
6Az/UZdkrAQ+cd89Q9l30Ga/61sZAcrUB0Wzz3LuWrXSLhucZfGC2kseRLPrsrRByfTkU
AMHdwoO7K+X7TB34ADC9upPH3pcUx6vc9u9BhZOa1hVqcRDUyt4tVliUdVEIiQuc0VRuK
HugWY3Xxsy4zh5EZk9Y2xGwp575IIKUAdUjWrRlfsTdlpaYZg9Mgosoor1oR39ozypxxR
5ZcEi/YgnigiOIuL4etJDndQYCwh4Bm6Z7u7EuM29x/iSQ1+cnx6sKNPl1H+LcPy9bWcm
n2DOzeAYTybqBa2RB9l7PFgXNItmiFCXYKl/27FN2a75NELTeSlMn5tMfwO/Cs=
api_token: !encrypted/pkcs1-oaep
- KDEaYilQGDU2iIM8rqkxicZRI5R9JsXaQphL/O9yPPFGc8HVcIvRkfXujDKdNoIkLIxrB
gZZ853d9NTisssOWrvJ5xBWEULI0tSE8l3NfSfnV9wnZDzZ8axagG2K5Bg1NLVgjb8u64
f1gti2WstBcAVBTfT1Epya186eIEh1d1y6b5SV/LVL1M5aPxf69K+dJPaoJOsZ1mtHprk
zYP5ujwNvep3naoHSepjUFer409D1mLJOmhlUg93gIvcy+dQflMzlgj57RhLVRPQJ6Ki/
/+D8sPazZY84ZqjxAM3nedPvbSXCGE2Jx8MiQ7akd9CSXEAOTHPAE/vQ5BuXpdzFX6OKy
iTDtt7AfLD4FnGISjak2UoJCLid0uNfAj+lStIq6NUe9muzZJx3v2xPBj3ouRr9XQ4hUI
7uiS9KgZRMbDK04dLmNGYx4iVR5pAcrp2LjDgwAusiljpQ9VamZxTygsxyl14NY3kDkMi
nLnp2DeUJPMvY3OnBlmuQmYxJ4jhO+r7Vt4OkLLYa0GRg2vc2eNUCZ9UVw53n9jQarFnA
ONx2RI1nGFZuGRYO3V/me3gkzuiDqLvX8yFc5GeiWHt/kDRwY47qoNx9QSWVWLB1GSlYC
veduZ2ez41v020BeUuAp27UjoYfCYIR06e/b1Wzalb04quf0dJpqE5JEUcS/uo=
- job:
name: system-config-mirror-container-images
parent: opendev-mirror-container-images
description: |
Mirror container images from dockerhub to quay.io
secrets:
name: container_registry_credentials
secret: system-config-opendevmirror
pass-to-parent: true
abstract: true
- job:
name: opendev-mirror-container-image-buildkit
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: buildkit
repo_description: Moby buildkit mirror
mirror_container_images_images:
- src_repository: docker.io/moby/buildkit
src_tag: buildx-stable-1
dest_repository: quay.io/opendevmirror/buildkit
dest_tag: buildx-stable-1
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-gerrit
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: gerrit
repo_description: Gerrit mirror
mirror_container_images_images:
- src_repository: docker.io/gerritcodereview/gerrit
src_tag: latest
dest_repository: quay.io/opendevmirror/gerrit
dest_tag: latest
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-golang
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: golang
repo_description: Golang mirror
mirror_container_images_images:
- src_repository: docker.io/library/golang
src_tag: 1.22-bookworm
dest_repository: quay.io/opendevmirror/golang
dest_tag: 1.22-bookworm
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-httpd
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: httpd
repo_description: Httpd mirror
mirror_container_images_images:
- src_repository: docker.io/library/httpd
src_tag: alpine
dest_repository: quay.io/opendevmirror/httpd
dest_tag: alpine
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-haproxy
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: haproxy
repo_description: Haproxy mirror
mirror_container_images_images:
- src_repository: docker.io/library/haproxy
src_tag: lts
dest_repository: quay.io/opendevmirror/haproxy
dest_tag: lts
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-mariadb
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: mariadb
repo_description: MariaDB mirror
mirror_container_images_images:
- src_repository: docker.io/library/mariadb
src_tag: latest
dest_repository: quay.io/opendevmirror/mariadb
dest_tag: latest
dest_registry: quay.io
- src_repository: docker.io/library/mariadb
src_tag: '10.11'
dest_repository: quay.io/opendevmirror/mariadb
dest_tag: '10.11'
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-memcached
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: memcached
repo_description: Memcached image mirror
mirror_container_images_images:
- src_repository: docker.io/library/memcached
src_tag: latest
dest_repository: quay.io/opendevmirror/memcached
dest_tag: latest
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-multiarch-qemu-user-static
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: qemu-user-static
repo_description: Multiarch qemu-user-static mirror
mirror_container_images_images:
- src_repository: docker.io/multiarch/qemu-user-static
src_tag: latest
dest_repository: quay.io/opendevmirror/qemu-user-static
dest_tag: latest
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-node
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: node
repo_description: Node mirror
mirror_container_images_images:
- src_repository: docker.io/library/node
src_tag: 16-bookworm
dest_repository: quay.io/opendevmirror/node
dest_tag: 16-bookworm
dest_registry: quay.io
- src_repository: docker.io/library/node
src_tag: 22-bookworm
dest_repository: quay.io/opendevmirror/node
dest_tag: 22-bookworm
dest_registry: quay.io
- src_repository: docker.io/library/node
src_tag: 23-bookworm
dest_repository: quay.io/opendevmirror/node
dest_tag: 23-bookworm
dest_registry: quay.io
# TODO: move the canonical location of this image to quay
- job:
name: opendev-mirror-container-image-python-base
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: python-base
repo_description: Python-base mirror
mirror_container_images_images:
- src_repository: docker.io/opendevorg/python-base
src_tag: 3.11-bookworm
dest_repository: quay.io/opendevmirror/python-base
dest_tag: 3.11-bookworm
dest_registry: quay.io
- src_repository: docker.io/opendevorg/python-base
src_tag: 3.11-bookworm-debug
dest_repository: quay.io/opendevmirror/python-base
dest_tag: 3.11-bookworm-debug
dest_registry: quay.io
- src_repository: docker.io/opendevorg/python-base
src_tag: 3.12-bookworm
dest_repository: quay.io/opendevmirror/python-base
dest_tag: 3.12-bookworm
dest_registry: quay.io
# TODO: move the canonical location of this image to quay
- job:
name: opendev-mirror-container-image-python-builder
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: python-builder
repo_description: Python-builder mirror
mirror_container_images_images:
- src_repository: docker.io/opendevorg/python-builder
src_tag: 3.11-bookworm
dest_repository: quay.io/opendevmirror/python-builder
dest_tag: 3.11-bookworm
dest_registry: quay.io
- src_repository: docker.io/opendevorg/python-builder
src_tag: 3.12-bookworm
dest_repository: quay.io/opendevmirror/python-builder
dest_tag: 3.12-bookworm
dest_registry: quay.io
# TODO: move the canonical location of this image to quay
- job:
name: opendev-mirror-container-image-uwsgi-base
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: uwsgi-base
repo_description: Uwsgi-base mirror
mirror_container_images_images:
- src_repository: docker.io/opendevorg/uwsgi-base
src_tag: 3.11-bookworm
dest_repository: quay.io/opendevmirror/uwsgi-base
dest_tag: 3.11-bookworm
dest_registry: quay.io
- src_repository: docker.io/opendevorg/uwsgi-base
src_tag: 3.12-bookworm
dest_repository: quay.io/opendevmirror/uwsgi-base
dest_tag: 3.12-bookworm
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-registry
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: registry
repo_description: Docker registry mirror
mirror_container_images_images:
- src_repository: docker.io/library/registry
src_tag: '2'
dest_repository: quay.io/opendevmirror/registry
dest_tag: '2'
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-selenium
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: selenium-standalone-firefox
repo_description: Selenium standalone Firefox image mirror
mirror_container_images_images:
- src_repository: docker.io/selenium/standalone-firefox
src_tag: latest
dest_repository: quay.io/opendevmirror/selenium-standalone-firefox
dest_tag: latest
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-ubuntu
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: ubuntu
repo_description: Ubuntu mirror
mirror_container_images_images:
- src_repository: docker.io/library/ubuntu
src_tag: 22.04
dest_repository: quay.io/opendevmirror/ubuntu
dest_tag: 22.04
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-zookeeper
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: zookeeper
repo_description: ZooKeeper mirror
mirror_container_images_images:
- src_repository: docker.io/library/zookeeper
src_tag: latest
dest_repository: quay.io/opendevmirror/zookeeper
dest_tag: latest
dest_registry: quay.io
- job:
name: opendev-mirror-container-image-jaegertracing
parent: system-config-mirror-container-images
vars:
container_images:
- registry: quay.io
namespace: opendevmirror
repo_shortname: jaegertracing-all-in-one
repo_description: Jaeger Tracing all-in-one mirror
mirror_container_images_images:
- src_repository: docker.io/jaegertracing/all-in-one
src_tag: latest
dest_repository: quay.io/opendevmirror/jaegertracing-all-in-one
dest_tag: latest
dest_registry: quay.io
- src_repository: docker.io/jaegertracing/all-in-one
src_tag: 1.58.1
dest_repository: quay.io/opendevmirror/jaegertracing-all-in-one
dest_tag: 1.58.1
dest_registry: quay.io