new dir
This commit is contained in:
+13
-5
@@ -177,6 +177,9 @@ build_website_image() {
|
|||||||
# ============================================================================
|
# ============================================================================
|
||||||
# WATCHER LOGIK FÜR ALLE TENANT AKTIONEN (add, remove, restart)
|
# WATCHER LOGIK FÜR ALLE TENANT AKTIONEN (add, remove, restart)
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
TARGET_SYSTEM_DIR="/opt/Inventarsystem"
|
||||||
|
TARGET_SCRIPT="$TARGET_SYSTEM_DIR/manage-tenant.sh"
|
||||||
|
|
||||||
watcher_loop() {
|
watcher_loop() {
|
||||||
local trigger_dir="$1"
|
local trigger_dir="$1"
|
||||||
echo "[INFO] Tenant Watcher gestartet. Lausche in $trigger_dir..."
|
echo "[INFO] Tenant Watcher gestartet. Lausche in $trigger_dir..."
|
||||||
@@ -194,6 +197,8 @@ watcher_loop() {
|
|||||||
SLUG=$(jq -r '.slug // empty' "$file" 2>/dev/null || true)
|
SLUG=$(jq -r '.slug // empty' "$file" 2>/dev/null || true)
|
||||||
PORT=$(jq -r '.port // empty' "$file" 2>/dev/null || true)
|
PORT=$(jq -r '.port // empty' "$file" 2>/dev/null || true)
|
||||||
PASS=$(jq -r '.password // empty' "$file" 2>/dev/null || true)
|
PASS=$(jq -r '.password // empty' "$file" 2>/dev/null || true)
|
||||||
|
# Lese auch die Modul-Konfiguration aus
|
||||||
|
MODULES=$(jq -r '.module_config // empty' "$file" 2>/dev/null || true)
|
||||||
else
|
else
|
||||||
# Fallback, falls jq nicht installiert ist
|
# Fallback, falls jq nicht installiert ist
|
||||||
ACTION=$(grep -o '"action": *"[^"]*"' "$file" | cut -d'"' -f4 || echo "add")
|
ACTION=$(grep -o '"action": *"[^"]*"' "$file" | cut -d'"' -f4 || echo "add")
|
||||||
@@ -201,6 +206,7 @@ watcher_loop() {
|
|||||||
SLUG=$(grep -o '"slug": *"[^"]*"' "$file" | cut -d'"' -f4 || true)
|
SLUG=$(grep -o '"slug": *"[^"]*"' "$file" | cut -d'"' -f4 || true)
|
||||||
PORT=$(grep -o '"port": *[0-9]*' "$file" | cut -d':' -f2 | tr -d ' ' || true)
|
PORT=$(grep -o '"port": *[0-9]*' "$file" | cut -d':' -f2 | tr -d ' ' || true)
|
||||||
PASS=$(grep -o '"password": *"[^"]*"' "$file" | cut -d'"' -f4 || true)
|
PASS=$(grep -o '"password": *"[^"]*"' "$file" | cut -d'"' -f4 || true)
|
||||||
|
MODULES=$(grep -o '"module_config": *"[^"]*"' "$file" | cut -d'"' -f4 || true)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$SLUG" ]; then
|
if [ -z "$SLUG" ]; then
|
||||||
@@ -212,7 +218,8 @@ watcher_loop() {
|
|||||||
case "$ACTION" in
|
case "$ACTION" in
|
||||||
"add")
|
"add")
|
||||||
if [ -n "$PORT" ] && [ -n "$PASS" ]; then
|
if [ -n "$PORT" ] && [ -n "$PASS" ]; then
|
||||||
if "$SCRIPT_DIR/manage-tenant.sh" add "$SLUG" "$PORT" "$PASS"; then
|
# Übergibt auch die MODULES Variable, falls manage-tenant.sh sie unterstützt
|
||||||
|
if "$TARGET_SCRIPT" add "$SLUG" "$PORT" "$PASS" "$MODULES"; then
|
||||||
echo "[SUCCESS] Tenant bereitgestellt: $SLUG"
|
echo "[SUCCESS] Tenant bereitgestellt: $SLUG"
|
||||||
else
|
else
|
||||||
echo "[ERROR] Fehler beim Bereitstellen von: $SLUG" >&2
|
echo "[ERROR] Fehler beim Bereitstellen von: $SLUG" >&2
|
||||||
@@ -222,14 +229,14 @@ watcher_loop() {
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"remove")
|
"remove")
|
||||||
if "$SCRIPT_DIR/manage-tenant.sh" remove "$SLUG"; then
|
if "$TARGET_SCRIPT" remove "$SLUG"; then
|
||||||
echo "[SUCCESS] Tenant gelöscht: $SLUG"
|
echo "[SUCCESS] Tenant gelöscht: $SLUG"
|
||||||
else
|
else
|
||||||
echo "[ERROR] Fehler beim Löschen von: $SLUG" >&2
|
echo "[ERROR] Fehler beim Löschen von: $SLUG" >&2
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
"restart")
|
"restart")
|
||||||
if "$SCRIPT_DIR/manage-tenant.sh" restart-tenant "$SLUG"; then
|
if "$TARGET_SCRIPT" restart-tenant "$SLUG"; then
|
||||||
echo "[SUCCESS] Tenant neu gestartet: $SLUG"
|
echo "[SUCCESS] Tenant neu gestartet: $SLUG"
|
||||||
else
|
else
|
||||||
echo "[ERROR] Fehler beim Neustart von: $SLUG" >&2
|
echo "[ERROR] Fehler beim Neustart von: $SLUG" >&2
|
||||||
@@ -248,11 +255,12 @@ watcher_loop() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
start_tenant_watcher() {
|
start_tenant_watcher() {
|
||||||
local trigger_dir="$SCRIPT_DIR/triggers"
|
# HIER DEN PFAD AUF DAS INVENTARSYSTEM UMBIEGEN
|
||||||
|
local trigger_dir="$TARGET_SYSTEM_DIR/triggers"
|
||||||
local pid_file="$SCRIPT_DIR/.watcher.pid"
|
local pid_file="$SCRIPT_DIR/.watcher.pid"
|
||||||
local log_file="$SCRIPT_DIR/watcher.log"
|
local log_file="$SCRIPT_DIR/watcher.log"
|
||||||
|
|
||||||
# Erstelle Trigger-Verzeichnis
|
# Erstelle Trigger-Verzeichnis, falls es nicht existiert
|
||||||
if [ ! -d "$trigger_dir" ]; then
|
if [ ! -d "$trigger_dir" ]; then
|
||||||
mkdir -p "$trigger_dir"
|
mkdir -p "$trigger_dir"
|
||||||
chmod 777 "$trigger_dir"
|
chmod 777 "$trigger_dir"
|
||||||
|
|||||||
Reference in New Issue
Block a user