FROM ubuntu:18.04
WORKDIR /agent
# Install essentials.
RUN apt-get update && apt-get install -y --no-install-recommends sudo curl ca-certificates gnupg apt-transport-https supervisor prometheus-node-exporter mysql-client
# Install Kea.
ARG CS_REPO_ACCESS_TOKEN
RUN curl -1sLf "https://dl.cloudsmith.io/${CS_REPO_ACCESS_TOKEN}/isc/kea-2-0-prv/cfg/setup/bash.deb.sh" | bash
RUN apt-get update && apt-get install -y --no-install-recommends \
        isc-kea-dhcp4-server=2.0.1-isc20211214132435 \
        isc-kea-ctrl-agent=2.0.1-isc20211214132435 \
        isc-kea-admin=2.0.1-isc20211214132435 \
        isc-kea-premium-host-cmds=2.0.1-isc20211214132435 \
        isc-kea-premium-forensic-log=2.0.1-isc20211214132435 \
        isc-kea-common=2.0.1-isc20211214132435 \
        && mkdir -p /var/run/kea/
# Tell CA to listen on all interfaces.
RUN perl -pi -e 's/127\.0\.0\.1/0\.0\.0\.0/g' /etc/kea/kea-ctrl-agent.conf
# Install Stork agent.
COPY build-root/root/usr/bin/stork-agent /agent/
RUN mkdir -p /var/lib/stork-agent/certs /var/lib/stork-agent/tokens
# Copy configuration files.
COPY docker/supervisor-agent-kea-premium.conf /etc/supervisor.conf
COPY docker/kea-dhcp4-premium.conf /etc/kea/kea-dhcp4.conf
COPY docker/kea-hosts-db-init.sh /agent
# Start supervisor.
CMD sleep 15 && /agent/kea-hosts-db-init.sh && supervisord -c /etc/supervisor.conf
