Files
kea-operator/Dockerfile.kea
T
unkinben 1b8be63d05
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
Render kea unix socket paths under /var/run/kea
Kea 2.6.5 restricts control/HA unix socket paths to its compiled
runstatedir and rejects any other path by exact string match
("invalid path specified: '/run/kea', supported path is '/var/run/kea'"),
even though /var/run is a symlink to /run. The operator rendered sockets
under /run/kea, so kea-dhcp4 and kea-ctrl-agent crash-looped on startup.

- Point RunDir at /var/run/kea so all derived config/socket paths match.
- Pre-create /var/run/kea in the kea image.
- Assert rendered socket paths live under /var/run/kea.

Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
2026-08-06 23:38:55 +10:00

21 lines
875 B
Docker

# Kea DHCPv4 workload image (kea-dhcp4 + kea-ctrl-agent + HA/lease hooks).
# ISC publishes no official Kea container, so we build our own from AlmaLinux,
# which is already reachable through the artifactapi dockerhub remote
# (^library/almalinux). The kea packages come from EPEL; the HA hook
# (libdhcp_ha.so) and lease_cmds hook ship open-source since Kea 2.4.
#
# NOTE: this build needs EPEL package access. If the CI build network cannot
# reach EPEL mirrors, add an artifactapi rpm remote for EPEL (see repo README
# follow-ups) and point dnf at it.
FROM almalinux:9
RUN dnf -y install epel-release \
&& dnf -y install kea kea-hooks \
&& dnf clean all \
&& rm -rf /var/cache/dnf \
&& mkdir -p /var/run/kea
EXPOSE 67/udp 8000/tcp
# Command is supplied by the operator (per-container entrypoint scripts).
CMD ["/usr/sbin/kea-dhcp4", "-c", "/etc/kea/kea-dhcp4.conf"]