- Strip builder stage from all Rust Dockerfiles; images now only contain the runtime and a pre-built binary copied from target/. - build.js: cargo builds all Rust binaries first (using all CPU cores), then copies them into Docker images. - .drone.yml: add cargo-build step before docker-build so kaniko can COPY the pre-compiled binaries without rebuilding inside the image.
16 lines
560 B
Docker
16 lines
560 B
Docker
# Runtime only — binary built externally via cargo
|
|
FROM debian:bookworm-slim
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
COPY target/x86_64-unknown-linux-gnu/release/operator /app/operator
|
|
|
|
# The operator reads POD_NAMESPACE and OPERATOR_IMAGE_PREFIX from env.
|
|
# It connects to the in-cluster Kubernetes API via the service account token.
|
|
# All child resources are created in the operator's own namespace.
|
|
ENV OPERATOR_LOG_LEVEL=info
|
|
ENTRYPOINT ["/app/operator"]
|