From 88fda3b1435e4d87d1220d9bfde81e27bd03941c Mon Sep 17 00:00:00 2001 From: Devansh Sehgal Date: Tue, 7 Oct 2025 06:24:40 +0530 Subject: [PATCH 1/2] Add buildx multi-arch build target to backup/pvc Makefile Introduce PLATFORMS default (arm64, amd64, s390x, ppc64le) and a docker-buildx target to build and push multi-arch images (IMG=...). The target generates a Dockerfile.cross with platform support, creates and uses a buildx builder, passes UID/GID build args, and cleans up. Mirrors the root Makefile to enable cross-arch image builds. Fixes #1124 --- backup/pvc/Makefile | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/backup/pvc/Makefile b/backup/pvc/Makefile index 4999ae7a4..8ac19c5d6 100644 --- a/backup/pvc/Makefile +++ b/backup/pvc/Makefile @@ -186,3 +186,18 @@ endif @echo "Dependencies:" dep status @echo + +# Multi-arch (buildx) support mirroring root Makefile +PLATFORMS ?= linux/arm64,linux/amd64,linux/s390x,linux/ppc64le + +.PHONY: docker-buildx +docker-buildx: check-env ## Build and push multi-arch image (set IMG=quay.io/...:tag) + @echo "+ $@" + sed -e '1 s/\(^FROM\)/FROM --platform=\$$\{BUILDPLATFORM\}/; t' -e ' 1,// s//FROM --platform=\$$\{BUILDPLATFORM\}/' Dockerfile > Dockerfile.cross + - docker buildx create --name backup-pvc-builder + docker buildx use backup-pvc-builder + - docker buildx build --push --platform=$(PLATFORMS) \ + --build-arg UID=$(UID) --build-arg GID=$(GID) \ + --tag ${IMG} -f Dockerfile.cross . + - docker buildx rm backup-pvc-builder + rm Dockerfile.cross From 313e7085b3c7e526a8aa7a799fc017d8a2d8ae77 Mon Sep 17 00:00:00 2001 From: Devansh Sehgal Date: Tue, 7 Oct 2025 06:25:30 +0530 Subject: [PATCH 2/2] Bump backup-pvc to v0.4.4 and update Helm chart Update VERSION.txt and the Helm chart (README, values.yaml) to use quay.io/jenkins-kubernetes-operator/backup-pvc:v0.4.4 so docs and defaults match the new release. bumping the version as part of fixing #1124 based on comment https://github.com/jenkinsci/kubernetes-operator/issues/1124#issuecomment-3374060029 --- backup/pvc/VERSION.txt | 2 +- chart/jenkins-operator/README.md | 2 +- chart/jenkins-operator/values.yaml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/backup/pvc/VERSION.txt b/backup/pvc/VERSION.txt index f87d474c4..79b0815e6 100644 --- a/backup/pvc/VERSION.txt +++ b/backup/pvc/VERSION.txt @@ -1 +1 @@ -v0.4.3 +v0.4.4 diff --git a/chart/jenkins-operator/README.md b/chart/jenkins-operator/README.md index 528228a05..643518655 100644 --- a/chart/jenkins-operator/README.md +++ b/chart/jenkins-operator/README.md @@ -30,7 +30,7 @@ Kubernetes native operator which fully manages Jenkins on Kubernetes | jenkins.backup.env[2].name | string | `"BACKUP_COUNT"` | | | jenkins.backup.env[2].value | string | `"3"` | | | jenkins.backup.getLatestAction[0] | string | `"/home/user/bin/get-latest.sh"` | | -| jenkins.backup.image | string | `"quay.io/jenkins-kubernetes-operator/backup-pvc:v0.4.3"` | | +| jenkins.backup.image | string | `"quay.io/jenkins-kubernetes-operator/backup-pvc:v0.4.4"` | | | jenkins.backup.interval | int | `30` | | | jenkins.backup.makeBackupBeforePodDeletion | bool | `true` | | | jenkins.backup.pvc.className | string | `""` | | diff --git a/chart/jenkins-operator/values.yaml b/chart/jenkins-operator/values.yaml index 05ac56105..8e79e91e3 100644 --- a/chart/jenkins-operator/values.yaml +++ b/chart/jenkins-operator/values.yaml @@ -222,7 +222,7 @@ jenkins: # image used by backup feature # By default using prebuilt backup PVC image - image: quay.io/jenkins-kubernetes-operator/backup-pvc:v0.4.3 + image: quay.io/jenkins-kubernetes-operator/backup-pvc:v0.4.4 # containerName is backup container name containerName: backup