simpler check and deps messages
This commit is contained in:
@@ -1,33 +1,17 @@
|
||||
# The toolchain installer image. It does NOT run the cluster — it installs a toolchain
|
||||
# onto the host and gets out of the way.
|
||||
#
|
||||
# This exists to kill a bootstrap paradox: a plain bash installer needs curl, jq
|
||||
# and sha256sum to already be present, and a minimal Debian has none of them.
|
||||
# It carries its own toolchain, so the only host prerequisite is Docker.
|
||||
#
|
||||
# Two variants from one file:
|
||||
# Toolchain installer image: installs the pinned toolchain onto the host; Docker is the only prerequisite.
|
||||
# docker build -f ctrl/Dockerfile.deps --target deps -t <slug>-deps .
|
||||
# docker build -f ctrl/Dockerfile.deps --target deps-full -t <slug>-deps:full .
|
||||
#
|
||||
# deps-full bakes every pinned binary in at build time. `docker save` it and
|
||||
# you have the whole installer as one file to carry into an air-gapped network.
|
||||
# Notes: docs/notes/Dockerfile.deps.md
|
||||
|
||||
FROM debian:trixie-slim AS deps
|
||||
|
||||
# ca-certificates + curl: fetch and verify. graphviz + python3: render diagrams
|
||||
# and validate the arch model, so the host never needs an apt package.
|
||||
#
|
||||
# docker-cli, NOT docker.io: we only ever talk to the host's daemon through the
|
||||
# mounted socket, and under --no-install-recommends the docker.io package ships
|
||||
# docker-init without the actual `docker` binary.
|
||||
# curl: fetch and verify; graphviz + python3: diagrams. docker-cli, NOT docker.io
|
||||
# (which lacks the `docker` binary under --no-install-recommends).
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
ca-certificates curl jq graphviz python3 docker-cli \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# The installer is the generated standalone kit, not deps.sh plus the files it
|
||||
# reads. A kit is one file with its pins frozen in and is proven to run with
|
||||
# nothing else from rig present — which is exactly what an image needs, and
|
||||
# `make standalone` keeps it current. Pins are the same in every profile's kit.
|
||||
# The installer is the generated one-file standalone kit, pins frozen in.
|
||||
ARG PROFILE=default
|
||||
WORKDIR /work
|
||||
COPY standalone/${PROFILE}/rigdeps.sh /work/rigdeps.sh
|
||||
|
||||
Reference in New Issue
Block a user