From 42b73e1cc09ae9622fe2ae435eb0137f264e62d3 Mon Sep 17 00:00:00 2001 From: datadunia Date: Fri, 15 May 2026 23:56:02 +0700 Subject: [PATCH] feat: add upgrade and update scripts for docker + submodule workflow --- update_repo.sh | 40 ++++++++++++++++++++++++++++++++++++++++ upgrade.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 update_repo.sh create mode 100644 upgrade.sh diff --git a/update_repo.sh b/update_repo.sh new file mode 100644 index 0000000..2ff8637 --- /dev/null +++ b/update_repo.sh @@ -0,0 +1,40 @@ +#!/bin/bash +set -e + +echo "======================================" +echo " Updating NexusGuard Repository " +echo "======================================" + +# Step 1: Docker down +echo "[+] Stopping Docker containers..." +docker-compose down --remove-orphans +echo "[+] Docker containers stopped." + +# Step 2: Git pull main repo +echo "[+] Pulling latest main repo..." +git pull + +# Step 3: Update submodules +echo "[+] Updating submodules..." +git submodule update --init --recursive + +# Step 4: Pull latest on each submodule +for sub in apps/server-core apps/device-agent apps/dashboard-ui; do + if [ -d "$sub" ]; then + echo "[+] Updating $sub..." + cd "$sub" + git checkout main 2>/dev/null || git checkout master 2>/dev/null || true + git pull + cd - > /dev/null + fi +done + +# Step 5: Re-check submodule pointers +git submodule update --remote --merge 2>/dev/null || true + +echo "======================================" +echo " Repository updated! " +echo " Docker is stopped. " +echo " Run ./setup.sh or ./upgrade.sh " +echo " to start the services. " +echo "======================================" diff --git a/upgrade.sh b/upgrade.sh new file mode 100644 index 0000000..28630c6 --- /dev/null +++ b/upgrade.sh @@ -0,0 +1,42 @@ +#!/bin/bash +set -e + +echo "======================================" +echo " Upgrading NexusGuard SD-WAN Suite " +echo "======================================" + +# Step 1: Docker down +echo "[+] Stopping Docker containers..." +docker-compose down --remove-orphans +echo "[+] Docker containers stopped." + +# Step 2: Git pull main repo +echo "[+] Pulling latest main repo..." +git pull + +# Step 3: Update submodules +echo "[+] Updating submodules..." +git submodule update --init --recursive + +# Step 4: Submodule checkout — pull latest main on each +for sub in apps/server-core apps/device-agent apps/dashboard-ui; do + if [ -d "$sub" ]; then + echo "[+] Updating $sub..." + cd "$sub" + git checkout main 2>/dev/null || git checkout master 2>/dev/null || true + git pull + cd - > /dev/null + fi +done + +# Step 5: Re-check superproject submodule pointers +git submodule update --remote --merge 2>/dev/null || true + +# Step 6: Docker up +echo "[+] Starting Docker containers..." +docker-compose up -d + +echo "======================================" +echo " NexusGuard upgrade complete! " +echo " API Port : 8080 " +echo "======================================"