fix: use BASE_REGISTRY arg to route all FROM pulls through Harbor cache

Default: docker.io (unchanged for external builds)
Woodpecker passes: registry.celestium.life/dockerhub-cache
This commit is contained in:
Celes Renata
2026-04-19 09:29:54 +00:00
parent 37e1ad17ea
commit 3303976f84
4 changed files with 26 additions and 23 deletions
+15 -15
View File
@@ -62,7 +62,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=python -m services.scheduler.app - SERVICE_CMD=python -m services.scheduler.app
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -103,7 +103,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=uvicorn services.symbol_registry.app:app --host 0.0.0.0 --port 8000 - SERVICE_CMD=uvicorn services.symbol_registry.app:app --host 0.0.0.0 --port 8000
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -144,7 +144,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=python -m services.ingestion.worker - SERVICE_CMD=python -m services.ingestion.worker
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -185,7 +185,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=python -m services.parser.worker - SERVICE_CMD=python -m services.parser.worker
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -226,7 +226,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=python -m services.extractor.worker - SERVICE_CMD=python -m services.extractor.worker
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -267,7 +267,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=python -m services.aggregation.worker - SERVICE_CMD=python -m services.aggregation.worker
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -308,7 +308,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=python -m services.recommendation.worker - SERVICE_CMD=python -m services.recommendation.worker
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -349,7 +349,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=uvicorn services.risk.app:app --host 0.0.0.0 --port 8000 - SERVICE_CMD=uvicorn services.risk.app:app --host 0.0.0.0 --port 8000
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -390,7 +390,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=python -m services.adapters.broker_adapter - SERVICE_CMD=python -m services.adapters.broker_adapter
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -431,7 +431,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=python -m services.lake_publisher.worker - SERVICE_CMD=python -m services.lake_publisher.worker
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -472,7 +472,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=uvicorn services.api.app:app --host 0.0.0.0 --port 8000 - SERVICE_CMD=uvicorn services.api.app:app --host 0.0.0.0 --port 8000
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -513,7 +513,7 @@ steps:
context: . context: .
build_args: build_args:
- SERVICE_CMD=uvicorn services.trading.app:app --host 0.0.0.0 --port 8000 - SERVICE_CMD=uvicorn services.trading.app:app --host 0.0.0.0 --port 8000
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/python:3.12-slim - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
@@ -554,8 +554,8 @@ steps:
context: frontend context: frontend
no_cache: true no_cache: true
build_args: build_args:
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/library/node:24-alpine - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
- NGINX_IMAGE=registry.celestium.life/dockerhub-cache/nginxinc/nginx-unprivileged:alpine
when: when:
event: push event: push
branch: main branch: main
@@ -595,7 +595,7 @@ steps:
dockerfile: docker/Dockerfile.superset dockerfile: docker/Dockerfile.superset
context: docker context: docker
build_args: build_args:
- BASE_IMAGE=registry.celestium.life/dockerhub-cache/apache/superset:latest - BASE_REGISTRY=registry.celestium.life/dockerhub-cache
when: when:
event: push event: push
branch: main branch: main
+3 -2
View File
@@ -1,5 +1,6 @@
ARG BASE_IMAGE=python:3.12-slim # Base image: uses Harbor proxy cache in CI, falls back to Docker Hub externally
FROM ${BASE_IMAGE} ARG BASE_REGISTRY=docker.io
FROM ${BASE_REGISTRY}/library/python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1 ENV PYTHONUNBUFFERED=1
+3 -2
View File
@@ -1,6 +1,7 @@
# Custom Superset image with Trino, PostgreSQL, and Redis drivers # Custom Superset image with Trino, PostgreSQL, and Redis drivers
ARG BASE_IMAGE=apache/superset:latest # Base image: uses Harbor proxy cache in CI, falls back to Docker Hub externally
FROM ${BASE_IMAGE} ARG BASE_REGISTRY=docker.io
FROM ${BASE_REGISTRY}/apache/superset:latest
USER root USER root
RUN /app/docker/pip-install.sh --no-cache trino[sqlalchemy] psycopg2-binary redis RUN /app/docker/pip-install.sh --no-cache trino[sqlalchemy] psycopg2-binary redis
+5 -4
View File
@@ -1,6 +1,7 @@
# Stage 1: Build # Stage 1: Build
ARG BASE_IMAGE=node:24-alpine # Base images: uses Harbor proxy cache in CI, falls back to Docker Hub externally
FROM ${BASE_IMAGE} AS build ARG BASE_REGISTRY=docker.io
FROM ${BASE_REGISTRY}/library/node:24-alpine AS build
WORKDIR /app WORKDIR /app
COPY package.json package-lock.json ./ COPY package.json package-lock.json ./
RUN npm ci RUN npm ci
@@ -11,8 +12,8 @@ ARG VITE_RISK_ENGINE_URL=""
RUN npm run build RUN npm run build
# Stage 2: Serve (unprivileged nginx, runs as uid 101, port 8080) # Stage 2: Serve (unprivileged nginx, runs as uid 101, port 8080)
ARG NGINX_IMAGE=nginxinc/nginx-unprivileged:alpine ARG BASE_REGISTRY=docker.io
FROM ${NGINX_IMAGE} FROM ${BASE_REGISTRY}/nginxinc/nginx-unprivileged:alpine
COPY --from=build /app/dist /usr/share/nginx/html COPY --from=build /app/dist /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 8080 EXPOSE 8080