Browse Source

added wait script for the mq to hold on until server is up

Abhishek Kondur 2 years ago
parent
commit
8941ba3657
2 changed files with 22 additions and 0 deletions
  1. 5 0
      compose/docker-compose.yml
  2. 17 0
      docker/wait.sh

+ 5 - 0
compose/docker-compose.yml

@@ -39,6 +39,7 @@ services:
       VERBOSITY: "1"
       VERBOSITY: "1"
       MANAGE_IPTABLES: "on"
       MANAGE_IPTABLES: "on"
       PORT_FORWARD_SERVICES: "dns"
       PORT_FORWARD_SERVICES: "dns"
+      MQ_ADMIN_PASSWORD: "MQ_ADMIN_PASSWORD"
     ports:
     ports:
       - "51821-51830:51821-51830/udp"
       - "51821-51830:51821-51830/udp"
     expose:
     expose:
@@ -109,9 +110,13 @@ services:
     depends_on:
     depends_on:
       - netmaker
       - netmaker
     restart: unless-stopped
     restart: unless-stopped
+    command: ["/mosquitto/config/wait.sh"]
+    environment:
+     NETMAKER_SERVER_HOST: "api.NETMAKER_BASE_DOMAIN"
     volumes:
     volumes:
       - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
       - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
       - /root/dynamic-security.json:/mosquitto/config/dynamic-security.json
       - /root/dynamic-security.json:/mosquitto/config/dynamic-security.json
+      - /root/wait.sh:/mosquitto/config/wait.sh
       - mosquitto_data:/mosquitto/data
       - mosquitto_data:/mosquitto/data
       - mosquitto_logs:/mosquitto/log
       - mosquitto_logs:/mosquitto/log
     expose:
     expose:

+ 17 - 0
docker/wait.sh

@@ -0,0 +1,17 @@
+#!/bin/sh
+
+wait_for_netmaker() {
+  until curl --output /dev/null --silent --fail --head \
+    --location "${NETMAKER_SERVER_HOST}/api/server/health"; do
+    echo "Waiting for netmaker server to startup"
+    sleep 1
+  done
+}
+
+main() {
+  # wait for netmaker to startup
+  apk add curl
+  wait_for_netmaker
+}
+
+main "${@}"