From 29308548149c3f8e0f9ac362d7c572053500cca5 Mon Sep 17 00:00:00 2001 From: rorapp Date: Fri, 28 Feb 2025 18:09:25 +0100 Subject: [PATCH] setup scripts for global env, project root and proxy env --- scripts/setup/set-global-env.sh | 54 ++++++++++++++++++++++++++++ scripts/setup/set-project-root.sh | 14 ++++++++ scripts/setup/set-proxy-env.sh | 60 +++++++++++++++++++++++++++++++ 3 files changed, 128 insertions(+) create mode 100644 scripts/setup/set-global-env.sh create mode 100644 scripts/setup/set-project-root.sh create mode 100644 scripts/setup/set-proxy-env.sh diff --git a/scripts/setup/set-global-env.sh b/scripts/setup/set-global-env.sh new file mode 100644 index 0000000..8fe74f9 --- /dev/null +++ b/scripts/setup/set-global-env.sh @@ -0,0 +1,54 @@ + +#!/bin/bash + +# Stelle sicher, dass ROOT_DIR gesetzt ist +if [ -z "$ROOT_DIR" ]; then + echo "❌ WARN: ROOT_DIR ist nicht gesetzt! Setze ROOT_DIR..." + source ./set-project-root.sh +fi + +# Setze den Pfad zur .env.all Datei relativ zum Projekt-Root +ENV_FILE="$ROOT_DIR/env/.env.all" + +# Prüfen, ob die Datei existiert +if [ ! -f "$ENV_FILE" ]; then + echo "❌ Fehler: Die Datei $ENV_FILE existiert nicht!" + exit 1 +fi + +echo "✅ ENV-Datei vorhanden: $ENV_FILE" + +# Funktion: Alle Variablen exportieren +export_env_vars() { + while IFS='=' read -r key value; do + # Entferne führende und nachfolgende Leerzeichen + key=$(echo "$key" | xargs) + value=$(echo "$value" | xargs) + + # Falls die Zeile ein Kommentar oder leer ist, überspringen + if [[ -z "$key" || "$key" =~ ^# || -z "$value" ]]; then + continue + fi + + # Entferne umschließende Anführungszeichen, falls vorhanden + value=$(echo "$value" | sed -E 's/^"(.*)"$/\1/') + + # Exportiere die Variable + export "$key=$value" + done < "$ENV_FILE" +} + +# Alle Variablen exportieren +export_env_vars + +export SERVER_IP=$(curl -s https://api.ipify.org) + +echo "🔹 Geladene Variablen:" +grep -o '^[^#]*' "$ENV_FILE" | cut -d '=' -f1 | while read -r var; do + echo "$var=${!var}" # Gibt die gesetzten Variablen mit ihrem Wert aus +done + + + + + diff --git a/scripts/setup/set-project-root.sh b/scripts/setup/set-project-root.sh new file mode 100644 index 0000000..060a5b8 --- /dev/null +++ b/scripts/setup/set-project-root.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +# Bestimme das Root-Verzeichnis des Git-Repos +ROOT_DIR=$(git rev-parse --show-toplevel 2>/dev/null) + +# Falls das Repository nicht gefunden wurde, abbrechen +if [ -z "$ROOT_DIR" ]; then + echo "❌ Fehler: Kein Git-Repository gefunden!" + exit 1 +fi + +# Setze die Variable für die aktuelle Shell-Sitzung +export ROOT_DIR +echo "✅ ROOT_DIR gesetzt auf: $ROOT_DIR" diff --git a/scripts/setup/set-proxy-env.sh b/scripts/setup/set-proxy-env.sh new file mode 100644 index 0000000..a44579d --- /dev/null +++ b/scripts/setup/set-proxy-env.sh @@ -0,0 +1,60 @@ + +#!/bin/bash + +# Stelle sicher, dass ROOT_DIR gesetzt ist +if [ -z "$ROOT_DIR" ]; then + echo "❌ WARN: ROOT_DIR ist nicht gesetzt! Setze ROOT_DIR..." + source ./set-project-root.sh +fi + +# Stelle sicher, dass ENVIRONMENT gesetzt ist +if [ -z "$ENVIRONMENT" ]; then + echo "❌ WARN: ENVIRONMENT ist nicht gesetzt! Setze ENVIRONMENT..." + source ./set-global-env.sh +fi + +# Setze den Pfad zur .env.all Datei relativ zum Projekt-Root +ENV_FILE="$ROOT_DIR/env/${ENVIRONMENT}/.env.proxy" + +# Prüfen, ob die Datei existiert +if [ ! -f "$ENV_FILE" ]; then + echo "❌ Fehler: Die Datei $ENV_FILE existiert nicht!" + exit 1 +fi + +echo "✅ ENV-Datei vorhanden: $ENV_FILE" + +# Funktion: Alle Variablen exportieren +export_env_vars() { + while IFS='=' read -r key value; do + # Entferne führende und nachfolgende Leerzeichen + key=$(echo "$key" | xargs) + value=$(echo "$value" | xargs) + + # Falls die Zeile ein Kommentar oder leer ist, überspringen + if [[ -z "$key" || "$key" =~ ^# || -z "$value" ]]; then + continue + fi + + # Entferne umschließende Anführungszeichen, falls vorhanden + value=$(echo "$value" | sed -E 's/^"(.*)"$/\1/') + + # Exportiere die Variable + export "$key=$value" + done < "$ENV_FILE" +} + +# Alle Variablen exportieren +export_env_vars + +export SERVER_IP=$(curl -s https://api.ipify.org) + +echo "🔹 Geladene Variablen:" +grep -o '^[^#]*' "$ENV_FILE" | cut -d '=' -f1 | while read -r var; do + echo "$var=${!var}" # Gibt die gesetzten Variablen mit ihrem Wert aus +done + + + + +