From 13cfceaea43f1ddc1dc4431da843e9d92e73e426 Mon Sep 17 00:00:00 2001 From: Clark Boylan Date: Fri, 21 Apr 2023 15:11:10 -0700 Subject: [PATCH] Base jobs for quay.io image publishing This adds new jobs for publishing our images to quay.io. We also add a secret with the necessary items (password for images pushes, API token for repo creation). Then we update the zookeeper-statsd image as the first image to get moved to quay.io. This should exercise things and ensure it is working for us. Note we don't try to update all of the images at once as we have many images managed in this one repository and debugging every one of them after a single merge just seems like pain. Instead, we'll start with one image and go from there. Depends-On: https://review.opendev.org/c/opendev/base-jobs/+/881522 Change-Id: I5198942f184df72543185a0ea88d50f9dc2d9421 --- .../zookeeper-compose/docker-compose.yaml | 2 +- zuul.d/docker-images/base.yaml | 62 +++++++++++++++++++ zuul.d/docker-images/zookeeper-statsd.yaml | 15 +++-- 3 files changed, 73 insertions(+), 6 deletions(-) diff --git a/playbooks/roles/zookeeper/files/zookeeper-compose/docker-compose.yaml b/playbooks/roles/zookeeper/files/zookeeper-compose/docker-compose.yaml index d04ee0184c..d79de9b908 100644 --- a/playbooks/roles/zookeeper/files/zookeeper-compose/docker-compose.yaml +++ b/playbooks/roles/zookeeper/files/zookeeper-compose/docker-compose.yaml @@ -16,7 +16,7 @@ services: - "/var/zookeeper/tls:/tls" zookeeper-statsd: restart: always - image: docker.io/opendevorg/zookeeper-statsd:latest + image: quay.io/opendevorg/zookeeper-statsd:latest network_mode: host user: "10001:10001" environment: diff --git a/zuul.d/docker-images/base.yaml b/zuul.d/docker-images/base.yaml index f3d962bfc7..a819698b45 100644 --- a/zuul.d/docker-images/base.yaml +++ b/zuul.d/docker-images/base.yaml @@ -1,4 +1,5 @@ # Base image building jobs +# Docker + Docker Hub - secret: name: system-config-dockerhub data: @@ -45,3 +46,64 @@ name: docker_credentials secret: system-config-dockerhub pass-to-parent: true + +# Docker + Quay.io +- secret: + name: system-config-quayio + data: + quay.io: + username: opendevorg+opendevrobot + password: !encrypted/pkcs1-oaep + - ciY1a7eIFcRsx6t13tsrga0AtQHXxC7hitboOS5yiqNcBhB1zeWOVmShFukNZeKNooDhH + DjacDEI2vp61mvZphahyjbH9O1Zuoy/F2TNn3JO1EaFFMSiPvT6BH5UhRZnUwWMuP5sLP + 6EogAAy02HglHck6H3+HSSLwawdW5zwXxUsQhjxItG0psKtIKBMHPwdBw+Iva8jexrtX6 + jxgAm8NU8dr7BZs/wLPYQrLfiBF4mxOsYsjoSOQzWMqp0y/HUVd5YW01bUEeWHTkdL1ir + gU23UcMnC+MEwT7snK623i+fD5oW2L6TCvdJGMSpJLku60h9MXKx+KpM3gYU4OEst/Vfv + rwrIkwjE3CsXOiIORYB+Nq/RiMwHMEzA1EMAmg3Mgbr/JZNILh7nSY9AkbhI7wun1jFnN + mUE6zRBEkxgHj9W0R6imCEbHhm/pJD2Apxzkcjty9BuY/flT6dm14hHzn22kUf2Vu0AXF + GkyqHIO8ANkRkrrrVkMj9+wNoAynKVqa7MKS7Ye7XPAHdEsL9bXlaS0o6EAaGK5ApJ9mG + XZJ5pgSvl7dJ5So3YOkIT2PnwmpaF9iHIpjyk7+pjfk3oz3Gx2UdDdyxooZoDNOCIzoTC + aXORFbHQbvjAphygrFyr6h3NhOFsnZ8RC+HBgnAjyTRiqXdw5c5IMebMiWphoA= + api_token: !encrypted/pkcs1-oaep + - S60USRQz0l1eQtc5uXEJZzFf1IyDofbN5mHyMx/lAhdSLa/oc5UMjH/rF2dfQ57f1VZLi + qU8SkGDk5Qg0ODujdbH5rreKlLEg+r2YfUGMtN6cq/faOpoWu0TPEpHBcEd0B4HmgMBIl + LcDdKsQmooas1dAaEcOqxTn8LJXaBZlb5ABYrKeSo4j3pQZJtJRSBVdc8WBAtzWJK27q6 + F390tT331JLDk4Q9pw9txc5iWIoftsPkR/RLWyuddZx9nYU1GLt5pS/Ep9HIbADmz2wWT + 3f2mc+IE00ZautUuW1ikjhzelx/oXhUzIlwCuftXpTksDdeGn46IS9Qo2wA/clHRcmFUo + r08fp4cMWwOuBkVSIrICu07CuEBNNSroS4ZZGfHdowcHIFS5PUs0491lNZ8n8sKnN+H7C + +KXvKonyolD1YO7UTgZQGd+Nf0NMGDBagAZe08d28RL/yvAHScqssiFdOk6x0gejaLGNP + s1SW4/FePyJ4a/G4NqzYWfukEPnawONarv7sVxHyu4ZBGvN8yeh5K6KtOxyFanO0r/lO/ + Dh6UGjVFGgfVagl9l1dpqLX3ENjrYTyQnxpytFpxLBr5xPgYiuSI8McH4JBrzsBkuP0Vd + orQikh+hhVTuMZ/arspkVA/LC7uZqp6UUq3jt9wWlES8/PLoEA+b43UQzBCHmM= + +- job: + name: system-config-build-container-image + parent: opendev-build-container-image + dependencies: opendev-buildset-registry + abstract: true + vars: &system_config_image_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 }}" + promote_container_image_method: intermediate-registry + container_command: docker + +- job: + name: system-config-upload-container-image + parent: opendev-upload-container-image + dependencies: opendev-buildset-registry + abstract: true + vars: *system_config_image_vars + secrets: + name: container_registry_credentials + secret: system-config-quayio + pass-to-parent: true + +- job: + name: system-config-promote-container-image + parent: opendev-promote-container-image + abstract: true + vars: *system_config_image_vars + secrets: + name: container_registry_credentials + secret: system-config-quayio + pass-to-parent: true diff --git a/zuul.d/docker-images/zookeeper-statsd.yaml b/zuul.d/docker-images/zookeeper-statsd.yaml index 445dec4c97..48c563641c 100644 --- a/zuul.d/docker-images/zookeeper-statsd.yaml +++ b/zuul.d/docker-images/zookeeper-statsd.yaml @@ -2,12 +2,17 @@ - job: name: system-config-build-image-zookeeper-statsd description: Build a zookeeper-statsd image. - parent: system-config-build-image + parent: system-config-build-container-image requires: python-base-3.9-bullseye-container-image vars: &zookeeper-statsd_vars - docker_images: + promote_container_image_job: system-config-upload-image-zookeeper-statsd + container_images: - context: docker/zookeeper-statsd - repository: opendevorg/zookeeper-statsd + registry: quay.io + repository: quay.io/opendevorg/zookeeper-statsd + namespace: opendevorg + repo_shortname: zookeeker-statsd + repo_description: Tool to report ZooKeeper stats to statsd files: &zookeeper-statsd_files - docker/zookeeper-statsd/ - docker/python-base/ @@ -15,7 +20,7 @@ - job: name: system-config-upload-image-zookeeper-statsd description: Build and upload a zookeeper-statsd image. - parent: system-config-upload-image + parent: system-config-upload-container-image requires: python-base-3.9-bullseye-container-image vars: *zookeeper-statsd_vars files: *zookeeper-statsd_files @@ -23,6 +28,6 @@ - job: name: system-config-promote-image-zookeeper-statsd description: Promote a previously published zookeeper-statsd image to latest. - parent: system-config-promote-image + parent: system-config-promote-container-image vars: *zookeeper-statsd_vars files: *zookeeper-statsd_files