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 net-tools iputils-ping postgresql-client
# Install Kea.
RUN curl -1sLf 'https://dl.cloudsmith.io/public/isc/kea-2-0/cfg/setup/bash.deb.sh' | bash
RUN apt-get update && apt-get install -y --no-install-recommends \
        isc-kea-dhcp6-server=2.0.1-isc20211214132435 \
        isc-kea-ctrl-agent=2.0.1-isc20211214132435 \
        isc-kea-common=2.0.1-isc20211214132435 \
        isc-kea-admin=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-kea6.conf /etc/supervisor.conf
COPY docker/kea-dhcp6.conf /etc/kea/
COPY docker/agent-kea6-kea-ctrl-agent.conf /etc/kea/kea-ctrl-agent.conf
COPY docker/agent-kea6-postgresql-init.sh /agent
# Initialize the backends and start the supervisor.
CMD sleep 15 && /agent/agent-kea6-postgresql-init.sh && supervisord -c /etc/supervisor.conf
