Unverified Commit cf042084 authored by Kroese's avatar Kroese Committed by GitHub
Browse files

Healthcheck

parents ff11996d 09ed9ff6
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -36,6 +36,7 @@ COPY agent/*.sh /agent/
COPY --from=builder /src/serial/main /run/serial.bin

RUN ["chmod", "+x", "/run/run.sh"]
RUN ["chmod", "+x", "/run/check.sh"]
RUN ["chmod", "+x", "/run/server.sh"]
RUN ["chmod", "+x", "/run/serial.bin"]

@@ -68,6 +69,6 @@ LABEL org.opencontainers.image.version=${VERSION_ARG}
LABEL org.opencontainers.image.url=https://hub.docker.com/r/kroese/virtual-dsm/
LABEL org.opencontainers.image.source=https://github.com/kroese/virtual-dsm/

HEALTHCHECK --interval=30s --timeout=2s CMD curl -ILfSs http://20.20.20.21:5000/ || exit 1
HEALTHCHECK --interval=30s --retries=1 CMD /run/check.sh

ENTRYPOINT ["/run/run.sh"]

run/check.sh

0 → 100644
+22 −0
Original line number Diff line number Diff line
#!/usr/bin/env bash
set -eu

# Docker Healthcheck

PORT=5000
FILE="/var/dsm.ip"

if [ ! -f "${FILE}" ]; then
  echo "IP not assigned"
  exit 1
fi

IP=$(cat "${FILE}")

if ! curl -m 3 -ILfSs "http://${IP}:${PORT}/"; then
  echo "Failed to reach ${IP}"
  exit 1
fi

echo "Healthcheck OK for ${IP}"
exit 0
+6 −0
Original line number Diff line number Diff line
@@ -46,6 +46,9 @@ configureDHCP() {
    echo "ERROR: Cannot retrieve IP from DHCP using MAC ${VM_NET_MAC}" && exit 16
  fi

  # Store IP for Docker healthcheck
  echo "${DHCP_IP}" > "/var/dsm.ip"

  ip a flush "${VM_NET_TAP}"

  TAP_PATH="/dev/tap$(</sys/class/net/${VM_NET_TAP}/ifindex)"
@@ -83,6 +86,9 @@ configureNAT () {
  VM_NET_IP='20.20.20.21'
  VM_NET_TAP="_VmNatTap"

  # Store IP for Docker healthcheck
  echo "${VM_NET_IP}" > "/var/dsm.ip"

  #Create bridge with static IP for the VM guest
  brctl addbr dockerbridge
  ip addr add ${VM_NET_IP%.*}.1/24 broadcast ${VM_NET_IP%.*}.255 dev dockerbridge