Skip to content

Commit 099a56b

Browse files
committed
Adopt unified installation contract for UNC module
1 parent 7c5bd26 commit 099a56b

1 file changed

Lines changed: 20 additions & 46 deletions

File tree

modules/unc/install/install.sh

Lines changed: 20 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,20 @@
1-
#!/bin/bash
2-
# UNC Chapel Hill™ — Module Install Script
3-
# Usage: sudo bash install/install.sh
4-
set -e
5-
6-
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
7-
MOD_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
8-
NWE_ROOT="$(cd "$MOD_ROOT/../.." 2>/dev/null && pwd)"
9-
[ -f "$NWE_ROOT/scripts/nwe-ports.sh" ] && source "$NWE_ROOT/scripts/nwe-ports.sh"
10-
11-
echo "═══════════════════════════════════════════════════════════════"
12-
echo " UNC Chapel Hill™ — Module Install"
13-
echo "═══════════════════════════════════════════════════════════════"
14-
echo ""
15-
16-
echo "[1/2] Database setup..."
17-
if [ -f "$MOD_ROOT/servlets/setup-db.sh" ]; then
18-
bash "$MOD_ROOT/servlets/setup-db.sh" && echo " [✓] Database nwe_unc ready" || echo " [!] Database setup had issues"
19-
else
20-
echo " [--] No setup-db.sh found"
21-
fi
22-
23-
echo ""
24-
echo "[2/2] Configuring firewall..."
25-
if type nwe_ensure_ufw &>/dev/null; then
26-
nwe_ensure_ufw
27-
sudo ufw allow 8080/tcp >/dev/null 2>&1 && echo " [✓] Port 8080 (Tomcat) opened" || true
28-
sudo ufw allow 49218/tcp >/dev/null 2>&1 && echo " [✓] Port 49218 (backend) opened" || true
29-
else
30-
if command -v ufw &>/dev/null; then
31-
sudo ufw allow 22/tcp >/dev/null 2>&1
32-
sudo ufw allow 8080/tcp >/dev/null 2>&1
33-
sudo ufw allow 49218/tcp >/dev/null 2>&1
34-
sudo ufw --force enable >/dev/null 2>&1
35-
echo " [✓] UFW ports opened"
36-
else
37-
echo " [--] UFW not available — open ports manually"
38-
fi
39-
fi
40-
41-
echo ""
42-
echo "═══════════════════════════════════════════════════════════════"
43-
echo " UNC Chapel Hill™ install complete."
44-
echo " Backend port: 49218"
45-
echo " Frontend: http://localhost:8080/california-unc/"
46-
echo "═══════════════════════════════════════════════════════════════"
1+
#!/usr/bin/env bash
2+
# UNC Chapel Hill module installer — follows the NWE Unified Installation Contract.
3+
set -euo pipefail
4+
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
5+
NWE_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)"
6+
source "$NWE_ROOT/scripts/install-contract.sh"
7+
MOD_ROOT="$(nwe_module_root "$SCRIPT_DIR")"
8+
nwe_verify_module "$MOD_ROOT"
9+
nwe_install_contract_banner
10+
nwe_require_command bash
11+
nwe_step "Database setup"
12+
if [[ -f "$MOD_ROOT/servlets/setup-db.sh" ]]; then bash "$MOD_ROOT/servlets/setup-db.sh"; else nwe_warn "No setup-db.sh found; database setup skipped."; fi
13+
nwe_step "Firewall policy"
14+
if [[ "${NWE_CONFIGURE_FIREWALL:-0}" == "1" ]]; then
15+
nwe_source_optional "$NWE_ROOT/scripts/nwe-ports.sh" || nwe_fail "Missing NWE port manager"
16+
nwe_ensure_ufw
17+
if [[ -n "${NWE_TRUSTED_IP:-}" ]]; then nwe_run_privileged ufw allow from "$NWE_TRUSTED_IP" to any port 49218 proto tcp; else nwe_run_privileged ufw allow 49218/tcp; fi
18+
else echo " Firewall unchanged. Set NWE_CONFIGURE_FIREWALL=1 to manage it."; fi
19+
nwe_verify_path "$MOD_ROOT"
20+
echo "[OK] UNC Chapel Hill module installation complete. Backend port: 49218"

0 commit comments

Comments
 (0)