Browse Source

use wait script to encrypt mq password

Abhishek Kondur 2 years ago
parent
commit
f19e3c31d0
3 changed files with 12 additions and 16 deletions
  1. 4 2
      compose/docker-compose.yml
  2. 6 11
      docker/wait.sh
  3. 2 3
      scripts/nm-quick-interactive.sh

+ 4 - 2
compose/docker-compose.yml

@@ -70,11 +70,13 @@ services:
     depends_on:
     depends_on:
       - netmaker
       - netmaker
     restart: unless-stopped
     restart: unless-stopped
+    command: ["/mosquitto/config/wait.sh"]
     environment:
     environment:
-      NETMAKER_SERVER_HOST: "https://api.NETMAKER_BASE_DOMAIN"
+      MQ_PASSWORD: "REPLACE_MQ_PASSWORD"
+      MQ_USERNAME: "REPLACE_MQ_USERNAME"
     volumes:
     volumes:
       - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
       - /root/mosquitto.conf:/mosquitto/config/mosquitto.conf
-      - /root/password.txt:/mosquitto/password.txt
+      - /root/wait.sh:/mosquitto/config/wait.sh
       - mosquitto_logs:/mosquitto/log
       - mosquitto_logs:/mosquitto/log
 volumes:
 volumes:
   caddy_data: {}
   caddy_data: {}

+ 6 - 11
docker/wait.sh

@@ -1,18 +1,13 @@
 #!/bin/ash
 #!/bin/ash
 
 
-wait_for_netmaker() {
-  echo "SERVER: ${NETMAKER_SERVER_HOST}"
-  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
+encrypt_password() {
+  echo "${MQ_USERNAME}:${MQ_PASSWORD}" > /mosquitto/passwords.txt
+  mosquitto_passwd -U /mosquitto/passwords.txt
 }
 }
 
 
 main(){
 main(){
- # wait for netmaker to startup
- apk add curl
- wait_for_netmaker
+
+ encrypt_password
  echo "Starting MQ..."
  echo "Starting MQ..."
  # Run the main container command.
  # Run the main container command.
  /docker-entrypoint.sh
  /docker-entrypoint.sh
@@ -20,4 +15,4 @@ main(){
 
 
 }
 }
 
 
-main "${@}"
+main "${@}"

+ 2 - 3
scripts/nm-quick-interactive.sh

@@ -191,8 +191,6 @@ MASTER_KEY=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 30 ; echo '')
 MQ_USERNAME="netmaker"
 MQ_USERNAME="netmaker"
 MQ_PASSWORD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 30 ; echo '')
 MQ_PASSWORD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 30 ; echo '')
 DOMAIN_TYPE=""
 DOMAIN_TYPE=""
-echo "${MQ_USERNAME}:${MQ_PASSWORD}" > /root/password.txt
-mosquitto_passwd -U /root/password.txt
 echo "-----------------------------------------------------"
 echo "-----------------------------------------------------"
 echo "Would you like to use your own domain for netmaker, or an auto-generated domain?"
 echo "Would you like to use your own domain for netmaker, or an auto-generated domain?"
 echo "To use your own domain, add a Wildcard DNS record (e.x: *.netmaker.example.com) pointing to $SERVER_PUBLIC_IP"
 echo "To use your own domain, add a Wildcard DNS record (e.x: *.netmaker.example.com) pointing to $SERVER_PUBLIC_IP"
@@ -304,7 +302,8 @@ if [ "$INSTALL_TYPE" = "ee" ]; then
 fi
 fi
 
 
 wget -O /root/docker-compose.yml $COMPOSE_URL && wget -O /root/mosquitto.conf https://raw.githubusercontent.com/gravitl/netmaker/master/docker/mosquitto.conf && wget -O /root/Caddyfile $CADDY_URL
 wget -O /root/docker-compose.yml $COMPOSE_URL && wget -O /root/mosquitto.conf https://raw.githubusercontent.com/gravitl/netmaker/master/docker/mosquitto.conf && wget -O /root/Caddyfile $CADDY_URL
-
+wget -q -O /root/wait.sh https://raw.githubusercontent.com/gravitl/netmaker/master/docker/wait.sh
+chmod +x /root/wait.sh
 mkdir -p /etc/netmaker
 mkdir -p /etc/netmaker
 
 
 echo "Setting docker-compose and Caddyfile..."
 echo "Setting docker-compose and Caddyfile..."