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
This commit is contained in:
Clark Boylan 2023-04-21 15:11:10 -07:00
parent 9627b5c230
commit 13cfceaea4
3 changed files with 73 additions and 6 deletions

View File

@ -16,7 +16,7 @@ services:
- "/var/zookeeper/tls:/tls" - "/var/zookeeper/tls:/tls"
zookeeper-statsd: zookeeper-statsd:
restart: always restart: always
image: docker.io/opendevorg/zookeeper-statsd:latest image: quay.io/opendevorg/zookeeper-statsd:latest
network_mode: host network_mode: host
user: "10001:10001" user: "10001:10001"
environment: environment:

View File

@ -1,4 +1,5 @@
# Base image building jobs # Base image building jobs
# Docker + Docker Hub
- secret: - secret:
name: system-config-dockerhub name: system-config-dockerhub
data: data:
@ -45,3 +46,64 @@
name: docker_credentials name: docker_credentials
secret: system-config-dockerhub secret: system-config-dockerhub
pass-to-parent: true 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

View File

@ -2,12 +2,17 @@
- job: - job:
name: system-config-build-image-zookeeper-statsd name: system-config-build-image-zookeeper-statsd
description: Build a zookeeper-statsd image. 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 requires: python-base-3.9-bullseye-container-image
vars: &zookeeper-statsd_vars vars: &zookeeper-statsd_vars
docker_images: promote_container_image_job: system-config-upload-image-zookeeper-statsd
container_images:
- context: docker/zookeeper-statsd - 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 files: &zookeeper-statsd_files
- docker/zookeeper-statsd/ - docker/zookeeper-statsd/
- docker/python-base/ - docker/python-base/
@ -15,7 +20,7 @@
- job: - job:
name: system-config-upload-image-zookeeper-statsd name: system-config-upload-image-zookeeper-statsd
description: Build and upload a zookeeper-statsd image. 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 requires: python-base-3.9-bullseye-container-image
vars: *zookeeper-statsd_vars vars: *zookeeper-statsd_vars
files: *zookeeper-statsd_files files: *zookeeper-statsd_files
@ -23,6 +28,6 @@
- job: - job:
name: system-config-promote-image-zookeeper-statsd name: system-config-promote-image-zookeeper-statsd
description: Promote a previously published zookeeper-statsd image to latest. 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 vars: *zookeeper-statsd_vars
files: *zookeeper-statsd_files files: *zookeeper-statsd_files