From 8cc99f1cc7bd66a97552564476397aecced6e47d Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Fri, 24 Oct 2025 11:42:49 +0200 Subject: [PATCH 1/8] switch to ghcr base images in Dockerfiles --- docker/Dockerfile | 2 +- logical-backup/Dockerfile | 2 +- ui/Dockerfile | 18 +++++++----------- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index e50380003..1e7f4c2b2 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=registry.opensource.zalan.do/library/alpine-3:latest +ARG BASE_IMAGE=ghcr.io/alpine-3:latest FROM golang:1.25-alpine AS builder ARG VERSION=latest diff --git a/logical-backup/Dockerfile b/logical-backup/Dockerfile index 137f4efa8..a84e2e6ef 100644 --- a/logical-backup/Dockerfile +++ b/logical-backup/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=registry.opensource.zalan.do/library/ubuntu-22.04:latest +ARG BASE_IMAGE=ghcr.io/ubuntu-22.04:latest FROM ${BASE_IMAGE} LABEL maintainer="Team ACID @ Zalando " diff --git a/ui/Dockerfile b/ui/Dockerfile index 51f1d7744..3e3197f0d 100644 --- a/ui/Dockerfile +++ b/ui/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=registry.opensource.zalan.do/library/python-3.11-slim:latest +ARG BASE_IMAGE=ghcr.io/python-3.11-slim:latest ARG NODE_IMAGE=node:lts-alpine FROM $NODE_IMAGE AS build @@ -15,18 +15,14 @@ LABEL maintainer="Team ACID @ Zalando " EXPOSE 8081 WORKDIR /app -RUN apt-get -qq -y update \ - # https://www.psycopg.org/docs/install.html#psycopg-vs-psycopg-binary - && apt-get -qq -y install --no-install-recommends g++ libpq-dev python3-dev python3-distutils \ - && apt-get -qq -y clean \ - && rm -rf /var/lib/apt/lists/* - -COPY requirements.txt . -COPY start_server.sh . -RUN pip install -r requirements.txt +COPY requirements.txt start_server.sh ./ +# Install dependencies for building psycopg2 from source as well +RUN dnf install libpq libpq-devel gcc -y \ + && pip install -r requirements.txt --no-cache-dir \ + && dnf remove libpq-devel gcc -y \ + && dnf clean all COPY operator_ui operator_ui/ -COPY --from=build /workdir/operator_ui/static/build/ operator_ui/static/build/ ARG VERSION=dev RUN sed -i "s/__version__ = .*/__version__ = '${VERSION}'/" operator_ui/__init__.py From ba9276e2205e44e59846121efd8cdadf3d0c6fb9 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Fri, 24 Oct 2025 12:31:41 +0200 Subject: [PATCH 2/8] fix base images --- docker/Dockerfile | 2 +- logical-backup/Dockerfile | 2 +- ui/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 1e7f4c2b2..eec73269e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=ghcr.io/alpine-3:latest +ARG BASE_IMAGE=ghcr.io/actions/actions-runner:latest-alpine-3 FROM golang:1.25-alpine AS builder ARG VERSION=latest diff --git a/logical-backup/Dockerfile b/logical-backup/Dockerfile index a84e2e6ef..a360bdf3e 100644 --- a/logical-backup/Dockerfile +++ b/logical-backup/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=ghcr.io/ubuntu-22.04:latest +ARG BASE_IMAGE=ghcr.io/ubuntu/ubuntu-22.04:latest FROM ${BASE_IMAGE} LABEL maintainer="Team ACID @ Zalando " diff --git a/ui/Dockerfile b/ui/Dockerfile index 3e3197f0d..1636c56f1 100644 --- a/ui/Dockerfile +++ b/ui/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=ghcr.io/python-3.11-slim:latest +ARG BASE_IMAGE=ghcr.io/python/python-3.11-slim:latest ARG NODE_IMAGE=node:lts-alpine FROM $NODE_IMAGE AS build From cf51fde9322e924df3589f6b5a0cf05c8fd5ec78 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Fri, 24 Oct 2025 12:43:47 +0200 Subject: [PATCH 3/8] lets see if UI would work --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index eec73269e..e50380003 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=ghcr.io/actions/actions-runner:latest-alpine-3 +ARG BASE_IMAGE=registry.opensource.zalan.do/library/alpine-3:latest FROM golang:1.25-alpine AS builder ARG VERSION=latest From ddce9a98a2a893bdc18a9a4fdd9d56bd28b471cb Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Fri, 24 Oct 2025 12:59:55 +0200 Subject: [PATCH 4/8] ok only change ui dockerfile --- logical-backup/Dockerfile | 2 +- ui/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/logical-backup/Dockerfile b/logical-backup/Dockerfile index a360bdf3e..137f4efa8 100644 --- a/logical-backup/Dockerfile +++ b/logical-backup/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=ghcr.io/ubuntu/ubuntu-22.04:latest +ARG BASE_IMAGE=registry.opensource.zalan.do/library/ubuntu-22.04:latest FROM ${BASE_IMAGE} LABEL maintainer="Team ACID @ Zalando " diff --git a/ui/Dockerfile b/ui/Dockerfile index 1636c56f1..a32b9c80d 100644 --- a/ui/Dockerfile +++ b/ui/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=ghcr.io/python/python-3.11-slim:latest +ARG BASE_IMAGE=registry.opensource.zalan.do/library/python-3.11-slim:latest ARG NODE_IMAGE=node:lts-alpine FROM $NODE_IMAGE AS build From c87a6764d45b5b66f8bae89121e2fd8bd2b49f15 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Mon, 27 Oct 2025 11:42:01 +0100 Subject: [PATCH 5/8] trying again with base images from gh action --- docker/Dockerfile | 2 +- logical-backup/Dockerfile | 2 +- ui/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index e50380003..6da3114bf 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=registry.opensource.zalan.do/library/alpine-3:latest +ARG BASE_IMAGE=alpine-3 FROM golang:1.25-alpine AS builder ARG VERSION=latest diff --git a/logical-backup/Dockerfile b/logical-backup/Dockerfile index 137f4efa8..8eabe79c1 100644 --- a/logical-backup/Dockerfile +++ b/logical-backup/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=registry.opensource.zalan.do/library/ubuntu-22.04:latest +ARG BASE_IMAGE=ubuntu-22.04 FROM ${BASE_IMAGE} LABEL maintainer="Team ACID @ Zalando " diff --git a/ui/Dockerfile b/ui/Dockerfile index a32b9c80d..07124aeee 100644 --- a/ui/Dockerfile +++ b/ui/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=registry.opensource.zalan.do/library/python-3.11-slim:latest +ARG BASE_IMAGE=python-3.11-slim ARG NODE_IMAGE=node:lts-alpine FROM $NODE_IMAGE AS build From 4f172ff6cb4bf9d11b977a4549f7a9de200fa8dd Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Mon, 27 Oct 2025 14:28:08 +0100 Subject: [PATCH 6/8] login to ghcr.io and build there --- Makefile | 1 + delivery.yaml | 11 ++++++----- ui/Makefile | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 50d070b9d..a7ee8784c 100644 --- a/Makefile +++ b/Makefile @@ -66,6 +66,7 @@ docker: ${DOCKERDIR}/${DOCKERFILE} echo "Version ${VERSION}" echo "CDP tag ${CDP_TAG}" echo "git describe $(shell git describe --tags --always --dirty)" + docker login ghcr.io -u "${{ github.actor }}" -p "${{ secrets.GITHUB_TOKEN }}" docker build --rm -t "$(IMAGE):$(TAG)$(CDP_TAG)$(DEBUG_FRESH)$(DEBUG_POSTFIX)" -f "${DOCKERDIR}/${DOCKERFILE}" --build-arg VERSION="${VERSION}" . indocker-race: diff --git a/delivery.yaml b/delivery.yaml index 7eacd769b..45d435dca 100644 --- a/delivery.yaml +++ b/delivery.yaml @@ -20,9 +20,9 @@ pipeline: IS_PR_BUILD=${CDP_PULL_REQUEST_NUMBER+"true"} if [[ ${CDP_TARGET_BRANCH} == "master" && ${IS_PR_BUILD} != "true" ]] then - IMAGE=registry-write.opensource.zalan.do/acid/postgres-operator + IMAGE=ghcr.io/zalando/postgres-operator else - IMAGE=registry-write.opensource.zalan.do/acid/postgres-operator-test + IMAGE=ghcr.io/zalando/postgres-operator-test fi export IMAGE make docker push @@ -49,9 +49,9 @@ pipeline: IS_PR_BUILD=${CDP_PULL_REQUEST_NUMBER+"true"} if [[ ${CDP_TARGET_BRANCH} == "master" && ${IS_PR_BUILD} != "true" ]] then - IMAGE=registry-write.opensource.zalan.do/acid/postgres-operator-ui + IMAGE=ghcr.io/zalando/postgres-operator-ui else - IMAGE=registry-write.opensource.zalan.do/acid/postgres-operator-ui-test + IMAGE=ghcr.io/zalando/postgres-operator-ui-test fi export IMAGE make docker @@ -67,6 +67,7 @@ pipeline: cmd: | cd logical-backup export TAG=$(git describe --tags --always --dirty) - IMAGE="registry-write.opensource.zalan.do/acid/logical-backup" + IMAGE="ghcr.io/zalando/logical-backup" + docker login ghcr.io -u "${{ github.actor }}" -p "${{ secrets.GITHUB_TOKEN }}" docker build --rm -t "$IMAGE:$TAG$CDP_TAG" . docker push "$IMAGE:$TAG$CDP_TAG" diff --git a/ui/Makefile b/ui/Makefile index 8f88982ab..ecd34a368 100644 --- a/ui/Makefile +++ b/ui/Makefile @@ -30,6 +30,7 @@ docker: appjs echo "Version ${VERSION}" echo "CDP tag ${CDP_TAG}" echo "git describe $(shell git describe --tags --always --dirty)" + docker login ghcr.io -u "${{ github.actor }}" -p "${{ secrets.GITHUB_TOKEN }}" docker build --rm -t "$(IMAGE):$(TAG)$(CDP_TAG)" -f Dockerfile . push: From ef2621999f336d3d9c9899b471ec1cfe6a6e7ad6 Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Mon, 27 Oct 2025 14:50:55 +0100 Subject: [PATCH 7/8] lets try github action during PR --- .github/workflows/publish_ghcr_image.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish_ghcr_image.yaml b/.github/workflows/publish_ghcr_image.yaml index 78815783a..6240a8c82 100644 --- a/.github/workflows/publish_ghcr_image.yaml +++ b/.github/workflows/publish_ghcr_image.yaml @@ -6,6 +6,7 @@ env: IMAGE_NAME_UI: ${{ github.repository }}-ui on: + pull_request: push: tags: - '*' From 3573092e52317bc02d35206e41ed71fff39113ed Mon Sep 17 00:00:00 2001 From: Felix Kunde Date: Mon, 27 Oct 2025 14:53:43 +0100 Subject: [PATCH 8/8] another revert --- docker/Dockerfile | 2 +- logical-backup/Dockerfile | 2 +- ui/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 6da3114bf..e50380003 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=alpine-3 +ARG BASE_IMAGE=registry.opensource.zalan.do/library/alpine-3:latest FROM golang:1.25-alpine AS builder ARG VERSION=latest diff --git a/logical-backup/Dockerfile b/logical-backup/Dockerfile index 8eabe79c1..137f4efa8 100644 --- a/logical-backup/Dockerfile +++ b/logical-backup/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=ubuntu-22.04 +ARG BASE_IMAGE=registry.opensource.zalan.do/library/ubuntu-22.04:latest FROM ${BASE_IMAGE} LABEL maintainer="Team ACID @ Zalando " diff --git a/ui/Dockerfile b/ui/Dockerfile index 07124aeee..a32b9c80d 100644 --- a/ui/Dockerfile +++ b/ui/Dockerfile @@ -1,4 +1,4 @@ -ARG BASE_IMAGE=python-3.11-slim +ARG BASE_IMAGE=registry.opensource.zalan.do/library/python-3.11-slim:latest ARG NODE_IMAGE=node:lts-alpine FROM $NODE_IMAGE AS build