From 9ee4cee884f7ad2f97d7805e5447efd9fc377afd Mon Sep 17 00:00:00 2001 From: David Peters <57600507+peters-david@users.noreply.github.com> Date: Wed, 18 Dec 2024 10:13:13 +0100 Subject: [PATCH] Chainguard wolfi-base image as base for docker (#68) * wolfi-base as containing image * add dll setup * fix missing dll package in wolfi image * fix hadolint issues * fix missing logger key * packages in one line * older harborapi version as new version breaks * downgrade harborapi version * downgrade harborapi version * remove option user pip * remove cache clean and add pip back in * newer harborapi version * temporal fix of harborapi explicitly setting httpx version --- Dockerfile | 11 ++++++++--- requirements.txt | 1 + src/registries.py | 5 ++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8aba383..db62042 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,13 @@ -FROM python:3.12-alpine@sha256:5049c050bdc68575a10bcb1885baa0689b6c15152d8a56a7e399fb49f783bf98 AS base +# Always use the latest image +# hadolint ignore=DL3007 +FROM cgr.dev/chainguard/wolfi-base:latest AS base ENV PYTHONUNBUFFERED=1 FROM base AS builder # we want always the latest version of fetched apk packages # hadolint ignore=DL3018 -RUN apk add --no-cache build-base libressl-dev musl-dev libffi-dev && \ +RUN apk add --no-cache build-base openssl-dev glibc-dev posix-libc-utils libffi-dev \ + python-3.12 python3-dev py3.12-pip && \ mkdir /install WORKDIR /install COPY requirements.txt requirements.txt @@ -31,5 +34,7 @@ COPY tests/ /tests/ WORKDIR /tests RUN python3 -m unittest discover -v -s . -FROM alpine:3.20@sha256:1e42bbe2508154c9126d48c2b8a75420c3544343bf86fd041fb7527e017a4b4a +# Always use the latest image +# hadolint ignore=DL3007 +FROM cgr.dev/chainguard/wolfi-base:latest COPY --from=native-builder /install/harbor.bin /usr/local/harbor diff --git a/requirements.txt b/requirements.txt index 78d6ac9..7742851 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ harborapi==0.26.1 python-json-logger==2.0.7 chevron==0.14.0 +httpx==0.27.2 # temporal fix of harborapi diff --git a/src/registries.py b/src/registries.py index b8a8058..e16bbe6 100644 --- a/src/registries.py +++ b/src/registries.py @@ -47,5 +47,8 @@ async def sync_registries(client, path, logger): ) # Create new registry else: - logger.info("Creating new registry", extra={target_registry_name}) + logger.info( + "Creating new registry", + extra={"registry": target_registry_name} + ) await client.create_registry(registry=target_registry)