From 7ebbb43c3dfa08ec49889fcd7e8ea2a536533ddf Mon Sep 17 00:00:00 2001 From: "James E. Blair" Date: Mon, 6 Jan 2025 09:44:06 -0800 Subject: [PATCH] Add jobs to mirror dockerhub images Mirror some common container images from dockerhub to quay.io to mitigate issues with rate limits. Change-Id: I70e015434a8df36050b725ecd961a90d6b2fe4fd --- zuul.d/docker-mirror.yaml | 148 ++++++++++++++++++++++++++++++++++++++ zuul.d/project.yaml | 10 +++ 2 files changed, 158 insertions(+) create mode 100644 zuul.d/docker-mirror.yaml diff --git a/zuul.d/docker-mirror.yaml b/zuul.d/docker-mirror.yaml new file mode 100644 index 0000000000..f12baf6a62 --- /dev/null +++ b/zuul.d/docker-mirror.yaml @@ -0,0 +1,148 @@ +- 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: opendev-mirror-container-images + parent: 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 + vars: + docker_mirror_base_url: "https://{{ zuul_site_mirror_fqdn }}/deb-docker/{{ ansible_distribution_release }}" + zuul_work_dir: "{{ zuul.projects['opendev.org/opendev/system-config'].src_dir }}" + container_command: docker + +- job: + name: opendev-mirror-container-image-gerrit + parent: opendev-mirror-container-images + vars: + 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: opendev-mirror-container-images + vars: + 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: opendev-mirror-container-images + vars: + 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-mariadb + parent: opendev-mirror-container-images + vars: + 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 + +- job: + name: opendev-mirror-container-image-node + parent: opendev-mirror-container-images + vars: + 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 + +# TODO: move the canonical location of this image to quay +- job: + name: opendev-mirror-container-image-python-base + parent: opendev-mirror-container-images + vars: + 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 + +# TODO: move the canonical location of this image to quay +- job: + name: opendev-mirror-container-image-python-builder + parent: opendev-mirror-container-images + vars: + 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 + +- job: + name: opendev-mirror-container-image-ubuntu + parent: opendev-mirror-container-images + vars: + 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: opendev-mirror-container-images + vars: + 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 diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 414cb6041c..aff22a8ce1 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -602,6 +602,16 @@ - specs-openstack-goaccess-report - tarballs-opendev-goaccess-report - zuul-ci-goaccess-report + # Image mirror jobs + - opendev-mirror-container-image-gerrit + - opendev-mirror-container-image-golang + - opendev-mirror-container-image-httpd + - opendev-mirror-container-image-mariadb + - opendev-mirror-container-image-node + - opendev-mirror-container-image-python-base + - opendev-mirror-container-image-python-builder + - opendev-mirror-container-image-ubuntu + - opendev-mirror-container-image-zookeeper # Nightly runs of ansible things for catchup # Keep in order from above - infra-prod-bootstrap-bridge