diff --git a/.github/workflows/barman-base-image.yml b/.github/workflows/barman-base-image.yml index e3d9f75..991c1dc 100644 --- a/.github/workflows/barman-base-image.yml +++ b/.github/workflows/barman-base-image.yml @@ -16,10 +16,10 @@ permissions: jobs: build: - runs-on: ubuntu-24.04 + runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: fetch-depth: 0 @@ -55,8 +55,8 @@ jobs: with: image: "${{ env.IMAGE_NAME }}:latest" args: --severity-threshold=high --file=./containers/Dockerfile.barmanbase - - - name: Upload result to GitHub Code Scanning + + - name: Upload result to GitHub Code Scanning uses: github/codeql-action/upload-sarif@v3 with: sarif_file: snyk.sarif diff --git a/containers/Dockerfile.barmanbase b/containers/Dockerfile.barmanbase index 4cd27fd..cc01748 100644 --- a/containers/Dockerfile.barmanbase +++ b/containers/Dockerfile.barmanbase @@ -1,6 +1,7 @@ -FROM python:3.13-slim AS pythonbuilder +FROM python:3.13-slim-bookworm +COPY containers/sidecar-requirements.txt . RUN apt-get update && \ apt-get install -y postgresql-common build-essential && \ /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y && \ apt-get install -y libpq-dev && \ - pip install barman[azure,cloud,google,snappy]==3.11.1 setuptools + pip install -r sidecar-requirements.txt diff --git a/containers/Dockerfile.sidecar b/containers/Dockerfile.sidecar index 8314c31..d5484cc 100644 --- a/containers/Dockerfile.sidecar +++ b/containers/Dockerfile.sidecar @@ -33,9 +33,9 @@ COPY ../internal/ internal/ RUN --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache/go-build \ CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -o manager cmd/manager/main.go -# Use plug-barman-cloud-base to get the dependencies -# pip will build everything inside /usr/ since this is the case -# Copy every file into a destination that will then copy into the distroless container +# Use plugin-barman-cloud-base to get the dependencies. +# pip will build everything inside /usr, so we copy every file into a new +# destination that will then be copied into the distroless container FROM ghcr.io/cloudnative-pg/plugin-barman-cloud-base:latest AS pythonbuilder # Prepare a new /usr/ directory with the files we'll need in the final image RUN mkdir /new-usr/ && \