From 0a6f0bb6f4806682d18c0e4c31ea8c5bd11b5822 Mon Sep 17 00:00:00 2001 From: Kaushik Narayan R Date: Wed, 27 Nov 2024 17:40:20 -0700 Subject: [PATCH] added bash script, integrating ui --- scripts/deploy.ps1 | 1 + scripts/deploy.sh | 51 ++++++++++++++++++++++++++++++++++++++++++ ui/docker-compose.yaml | 3 ++- 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 scripts/deploy.sh diff --git a/scripts/deploy.ps1 b/scripts/deploy.ps1 index c5fe9cd..259392e 100644 --- a/scripts/deploy.ps1 +++ b/scripts/deploy.ps1 @@ -29,6 +29,7 @@ elseif ($MasterNode) { docker stack deploy -d ` -c ../preprocessing/docker-compose.yml ` -c ../clickhouse/docker-compose.yaml ` + -c ../ui/docker-compose.yaml ` $stackName # scripts diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100644 index 0000000..b65bea0 --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +while getopts "M:D:T:A" flag; do + case "${flag}" in + M) masterNode=true ;; + D) downStack=true ;; + T) swarmToken=$OPTARG ;; + A) managerAddr=$OPTARG ;; + esac +done + +echo "masterNode: $masterNode" +echo "downStack: $downStack" +echo "swarmToken: $swarmToken" +echo "managerAddr: $managerAddr" + +$scriptDir = $(readlink -f "$0") +# echo $scriptDir # ===> /Project/scripts + +$stackName="TheWebFarm" + +if [[ $downStack ]]; then + echo "[+] Removing stack..." + docker stack rm $stackName + docker service rm registry +elif ($MasterNode); then + echo "[+] swarm master" + + # data streaming + cd $scriptDir/../preprocessing + docker service create --name registry -p 5000:5000 registry:2 + # docker build -t 127.0.0.1:5000/data-streamer:latest --no-cache --push -f Dockerfile.python . + docker build -t 127.0.0.1:5000/data-streamer:latest --push -f Dockerfile.python . + + # execute + cd $scriptDir + docker stack deploy -d \ + -c ../preprocessing/docker-compose.yml \ + -c ../clickhouse/docker-compose.yaml \ + -c ../ui/docker-compose.yaml \ + $stackName + + # scripts + # pip install -r "$scriptDir/../final/config_update_scripts/requirements.txt" + # cd $scriptDir/../preprocessing + # python3 update_trigger.py +else + echo "[+] swarm follower" + echo "[+] joining swarm with token $swarmToken" + docker swarm join --token $swarmToken $managerAddr +fi diff --git a/ui/docker-compose.yaml b/ui/docker-compose.yaml index 3958e5c..544b881 100644 --- a/ui/docker-compose.yaml +++ b/ui/docker-compose.yaml @@ -4,7 +4,7 @@ services: container_name: grafana volumes: - grafana-storage:/var/lib/grafana - - ../ui/grafana_clickhouse_datasource.yaml:/etc/grafana/provisioning/datasources/clickhouse.yaml # relative to clickhouse directory + - ../ui/grafana_clickhouse_datasource.yaml:/etc/grafana/provisioning/datasources/clickhouse.yaml networks: outside_net: aliases: @@ -27,3 +27,4 @@ networks: volumes: grafana-storage: + driver: local