FROM alpine:3.19

LABEL architecture="$TARGETPLATFORM" \
    license="beerware" \
    name="keepalived" \
    summary="Alpine based keepalived container" \
    mantainer="antoinroux@hotmail.fr"

RUN apk add --no-cache \
    bash       \
    curl       \
    keepalived \
    gettext    \
    && addgroup -S keepalived_script \
    && adduser -S -s /sbin/nologin -G keepalived_script -H keepalived_script

ENV STATE BACKUP
ENV INTERFACE enp3s0
ENV PRIORITY 200
ENV PASSWORD ""
ENV SRC_IP ""
ENV PEER_IP_0 ""
ENV PEER_IP_1 ""

COPY --chmod=750 --chown=keepalived_script:keepalived_script check_apiserver.sh /usr/lib/keepalived/scripts/chk_kube_apiserver.sh
COPY keepalived.template.conf /etc/keepalived/keepalived.template.conf

COPY --chmod=750 init.sh /

ENTRYPOINT ["/init.sh"]
CMD ["/usr/sbin/keepalived", "--dont-fork", "--log-console"]

# Customise keepalived with:
#       args: # override options in the Dockerfile
  #        - --vrrp
  #        - --log-detail
  #        - --dump-conf
  #        - --use-file=/etc/keepalived/keepalived.conf
# CMD ["--vrrp","--log-detail","--dump-conf"]