init push

This commit is contained in:
2026-07-16 22:16:45 +07:00
commit 8b068bdb10
1021 changed files with 332816 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
#!/bin/bash
set -euo pipefail
ENV_FILE="/opt/flight-manager/development/.env"
TEMPLATE="/opt/flight-manager/development/config.template.json"
OUTPUT="/opt/flight-manager/development/config.generated.json"
DOCKER_COMPOSE_PATH="/opt/stacks/..."
echo "[deploy] Secrets changed, reloading..."
# Load new secrets
set -a; source "$ENV_FILE"; set +a
# Validate all required vars are present
REQUIRED_VARS=$(grep -o '\${[A-Z0-9_]\+}' "$TEMPLATE" | tr -d '${}' | sort -u)
MISSING=()
for var in $REQUIRED_VARS; do
[ -z "${!var+set}" ] && MISSING+=("$var")
done
if [ ${#MISSING[@]} -gt 0 ]; then
echo "[deploy] ERROR: Missing variables: ${MISSING[*]}"
exit 1
fi
# Render config.generated.json
VARS=$(printf '${%s} ' $REQUIRED_VARS)
envsubst "$VARS" < "$TEMPLATE" > "$OUTPUT"
# Validate JSON
if ! jq empty "$OUTPUT" 2>/dev/null; then
echo "[deploy] ERROR: Generated config is not valid JSON"
rm -f "$OUTPUT"
exit 1
fi
echo "[deploy] Config generated at $OUTPUT"
# Restart docker compose
docker compose -f "$DOCKER_COMPOSE_PATH" restart
echo "[deploy] Done."