From 322067e1b21aa51ba23f73cd5b02e1b0c0718f17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Bompard?= Date: Fri, 5 Jul 2024 00:05:27 +0200 Subject: [PATCH] Poddlers: build from an image that has devel dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Aurélien Bompard --- .../poddlers/files/imagestream.yml | 14 ++++++++ .../templates/Dockerfile-builder-image | 15 ++++++++ .../poddlers/templates/buildconfig.yml | 35 +++++++++++++++++-- 3 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 roles/openshift-apps/poddlers/templates/Dockerfile-builder-image diff --git a/roles/openshift-apps/poddlers/files/imagestream.yml b/roles/openshift-apps/poddlers/files/imagestream.yml index 3ba77035ab..cd6303f4d0 100644 --- a/roles/openshift-apps/poddlers/files/imagestream.yml +++ b/roles/openshift-apps/poddlers/files/imagestream.yml @@ -8,3 +8,17 @@ spec: local: false status: dockerImageRepository: "" + + +kind: List +items: + # The main image + - apiVersion: image.openshift.io/v1 + kind: ImageStream + metadata: + name: toddlers + # The Python 3.11 builder image plus dependencies + - apiVersion: image.openshift.io/v1 + kind: ImageStream + metadata: + name: python-311-with-deps diff --git a/roles/openshift-apps/poddlers/templates/Dockerfile-builder-image b/roles/openshift-apps/poddlers/templates/Dockerfile-builder-image new file mode 100644 index 0000000000..69a146145b --- /dev/null +++ b/roles/openshift-apps/poddlers/templates/Dockerfile-builder-image @@ -0,0 +1,15 @@ +FROM registry.access.redhat.com/ubi9/python-311:latest +LABEL \ + name="python-311-with-deps" \ + vendor="Fedora Infrastructure" \ + license="MIT" +USER root +# Add RPM-only modules +RUN dnf install -y \ + cairo-devel \ + cairo-gobject-devel \ + gobject-introspection-devel \ + libmodulemd \ + && dnf clean all + +USER 1001 diff --git a/roles/openshift-apps/poddlers/templates/buildconfig.yml b/roles/openshift-apps/poddlers/templates/buildconfig.yml index 67ad67f2c6..1e92a8ccb8 100644 --- a/roles/openshift-apps/poddlers/templates/buildconfig.yml +++ b/roles/openshift-apps/poddlers/templates/buildconfig.yml @@ -1,4 +1,35 @@ --- +# Build a derivative of the python-311 builder image with dependencies added +apiVersion: build.openshift.io/v1 +kind: BuildConfig +metadata: + name: python-311-with-deps + labels: + app: poddlers + build: python-311-with-deps +spec: + runPolicy: Serial + source: + type: Dockerfile + dockerfile: |- + {{ load_file('Dockerfile-builder-image') | indent(6) }} + strategy: + type: Docker + dockerStrategy: + from: + kind: ImageStreamTag + name: python:3.11-ubi9 + namespace: openshift + output: + to: + kind: ImageStreamTag + name: python-311-with-deps:latest + triggers: + - type: ConfigChange + - type: ImageChange + +--- +# Build Toddlers apiVersion: build.openshift.io/v1 kind: BuildConfig metadata: @@ -22,8 +53,8 @@ spec: sourceStrategy: from: kind: ImageStreamTag - name: python:3.11-ubi9 - namespace: openshift + # Our own ImageStream with deps added to it + name: python-3.11-with-deps:latest output: to: kind: ImageStreamTag