- Wire build-image endpoint into EventSource + Sensor for manual triggers - Add rebuild-* DAG tasks to compile-and-deploy and compile-and-train templates — Kaniko layer cache makes cached builds ~15-30s - Fix foxhunt-runtime Dockerfile: rename ubuntu user instead of groupadd (GID 1000 already exists in ubuntu:24.04) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
36 lines
1.4 KiB
Docker
36 lines
1.4 KiB
Docker
# Generic runtime base image for all Foxhunt service pods
|
|
# Contains: rclone (S3 binary fetch), grpc_health_probe (K8s health checks)
|
|
# Base: Ubuntu 24.04 (glibc 2.39) — matches compile environment
|
|
# Binaries are fetched by initContainer at pod startup, not baked into this image.
|
|
# Rebuild: only when system deps change (libssl, rclone, grpc_health_probe)
|
|
|
|
FROM ubuntu:24.04
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
libssl3t64 \
|
|
curl \
|
|
jq \
|
|
unzip \
|
|
passwd \
|
|
&& curl -fsSL https://downloads.rclone.org/v1.69.1/rclone-v1.69.1-linux-amd64.zip -o /tmp/rclone.zip \
|
|
&& unzip -j /tmp/rclone.zip '*/rclone' -d /usr/local/bin/ \
|
|
&& rm /tmp/rclone.zip \
|
|
&& apt-get purge -y unzip \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# grpc_health_probe for Kubernetes health checks
|
|
RUN curl -fsSL https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/v0.4.25/grpc_health_probe-linux-amd64 \
|
|
-o /usr/local/bin/grpc_health_probe \
|
|
&& chmod +x /usr/local/bin/grpc_health_probe
|
|
|
|
# kubectl for CI deploy step (rollout restart)
|
|
RUN curl -fsSL "https://dl.k8s.io/release/v1.31.4/bin/linux/amd64/kubectl" \
|
|
-o /usr/local/bin/kubectl \
|
|
&& chmod +x /usr/local/bin/kubectl
|
|
|
|
# Ubuntu 24.04 ships with ubuntu:ubuntu (UID/GID 1000) — rename instead of creating
|
|
RUN usermod -l foxhunt ubuntu && groupmod -n foxhunt ubuntu
|
|
|
|
USER foxhunt
|