20 lines
1.2 KiB
Docker
20 lines
1.2 KiB
Docker
# Minimal, reliable dnsmasq image (Hub dnsmasq images vary; build our own so
|
|
# the version is pinned and the entrypoint is predictable). Config is passed
|
|
# entirely as --flags from docker-compose.yml.
|
|
FROM harbor.bitasylum.org/dockerhub/library/alpine:3.20
|
|
# binutils (objcopy): the entrypoint extracts the UKI's .cmdline PE section so it
|
|
# can feed the REAL cmdline to iPXE (Secure Boot OFF chainload) — see entrypoint.sh.
|
|
RUN apk add --no-cache dnsmasq binutils
|
|
# fleet-namer: --dhcp-script that assigns creative starship hostnames per MAC,
|
|
# server-side (keeps the workstation image neutral). COPY'd in root-owned, 0755
|
|
# so dnsmasq will execute it. Uses busybox sha256sum/cut/wc — all in the image.
|
|
COPY fleet-namer /usr/local/bin/fleet-namer
|
|
RUN chmod 0755 /usr/local/bin/fleet-namer
|
|
# entrypoint assembles the TFTP root (copies the user's ipxe.efi from the ro
|
|
# source mount + renders boot.ipxe, which clears the iPXE load options so the
|
|
# UKI's embedded cmdline survives the chainload — see entrypoint.sh) then execs
|
|
# dnsmasq with the compose args.
|
|
COPY entrypoint.sh /usr/local/bin/dnsmasq-entrypoint
|
|
RUN chmod 0755 /usr/local/bin/dnsmasq-entrypoint
|
|
ENTRYPOINT ["/usr/local/bin/dnsmasq-entrypoint"]
|