Repository navigation
Expand file tree
/
Copy path02_vpnSetup.sh
More file actions
executable file
·138 lines (124 loc) · 4.12 KB
/
Copy path02_vpnSetup.sh
File metadata and controls
executable file
·138 lines (124 loc) · 4.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
#!/bin/bash
################################################################################
# Zelogx™ Multi-Project Secure Lab Setup
#
# © 2025 Zelogx. Zelogx™ and the Zelogx logo are trademarks
# of the Zelogx Project. All other marks are property of their respective owners.
#
# Filename: 02_vpnSetup.sh
# Purpose: Phase 2 orchestrator - VPN infrastructure deployment and configuration
#
# Main functions/commands used:
# - 0201_createPritunlVM.sh: Deploy Pritunl VM with cloud-init
# - 0202_configurePritunl.sh: Configure Pritunl servers, organizations, and users
#
# Dependencies:
# - 0201_createPritunlVM.sh
# - 0202_configurePritunl.sh
#
# Usage:
# ./02_vpnSetup.sh [en|jp]
#
# Notes:
# - Executes sub-scripts sequentially
# - Stops on first failure (die propagation)
# - Language parameter (en/jp) is passed to all sub-scripts
# - Requires Phase 1 (01_networkSetup.sh) to be completed first
################################################################################
set -euo pipefail
# Determine script directory
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
source "$SCRIPT_DIR/lib/common.sh"
source "$SCRIPT_DIR/lib/probe.sh"
# Parse language argument (default: en)
LANG_ARG="${1:-en}"
if [[ "$LANG_ARG" != "en" && "$LANG_ARG" != "jp" ]]; then
echo "Usage: $0 [en|jp]"
echo " en: English (default)"
echo " jp: Japanese"
exit 1
fi
# Check if .env exists (Phase 1 prerequisite)
if [[ ! -f .env ]]; then
if [[ "$LANG_ARG" == "jp" ]]; then
echo ""
echo "エラー: .env ファイルが見つかりません"
echo "先にフェーズ 1 を実行してください: ./01_networkSetup.sh jp"
echo ""
else
echo ""
echo "ERROR: .env file not found"
echo "Please run Phase 1 first: ./01_networkSetup.sh en"
echo ""
fi
exit 1
fi
load_phase_uuid_or_exit "$LANG_ARG"
post_phase_probe_token "$LANG_ARG" "02_start"
################################################################################
# Phase 2.1: Deploy Pritunl VM
################################################################################
echo ""
echo "=========================================="
if [[ "$LANG_ARG" == "jp" ]]; then
echo "フェーズ 2.1: Pritunl VM デプロイ"
else
echo "Phase 2.1: Pritunl VM Deployment"
fi
echo "=========================================="
echo ""
if ! ./0201_createPritunlVM.sh "$LANG_ARG"; then
if [[ "$LANG_ARG" == "jp" ]]; then
echo ""
echo "エラー: Pritunl VM デプロイが失敗しました"
echo "詳細はログを確認してください: logs/"
else
echo ""
echo "ERROR: Pritunl VM deployment failed"
echo "Check logs for details: logs/"
fi
exit 1
fi
################################################################################
# Phase 2.2: Configure Pritunl
################################################################################
echo ""
echo "=========================================="
if [[ "$LANG_ARG" == "jp" ]]; then
echo "フェーズ 2.2: Pritunl 設定"
else
echo "Phase 2.2: Pritunl Configuration"
fi
echo "=========================================="
echo ""
if ! ./0202_configurePritunl.sh "$LANG_ARG"; then
if [[ "$LANG_ARG" == "jp" ]]; then
echo ""
echo "エラー: Pritunl 設定が失敗しました"
echo "詳細はログを確認してください: logs/"
else
echo ""
echo "ERROR: Pritunl configuration failed"
echo "Check logs for details: logs/"
fi
exit 1
fi
################################################################################
# Phase 2 Complete
################################################################################
echo ""
echo "=========================================="
if [[ "$LANG_ARG" == "jp" ]]; then
echo "フェーズ 2 完了: VPN セットアップ成功"
echo ""
echo "セットアップ完了!"
else
echo "Phase 2 Complete: VPN Setup Successful"
echo ""
echo "Setup Complete!"
fi
echo "=========================================="
echo ""
post_phase_probe_token "$LANG_ARG" "02_done"
exit 0