diff --git a/templates/pull_secrets_template.sh b/templates/pull_secrets_template.sh new file mode 100644 index 0000000..085c680 --- /dev/null +++ b/templates/pull_secrets_template.sh @@ -0,0 +1,31 @@ +#!/bin/bash +# pull_secrets_template.sh +# Template für Methode B: Dynamischer Pull von Secrets auf einer VM/Host ohne MacBook. +# +# Voraussetzungen: +# 1. Infisical CLI auf der VM/Host installiert. +# 2. Eine Machine Identity in Infisical erstellt und für das Projekt freigegeben. +# 3. Client ID und Client Secret in der Umgebung bereitgestellt. + +set -e + +# Konfiguration +INFISICAL_API_URL="https://zitate.info.lu/api" +CLIENT_ID="${INFISICAL_CLIENT_ID:-your-client-id}" +CLIENT_SECRET="${INFISICAL_CLIENT_SECRET:-your-client-secret}" +SECRET_PATH="/jmap-proxy" # Zielpfad im Infisical-Vault +ENV_OUTPUT="/opt/jmap-proxy/.env" + +if [ "$CLIENT_ID" = "your-client-id" ] || [ "$CLIENT_SECRET" = "your-client-secret" ]; then + echo "❌ Fehler: Bitte passe CLIENT_ID und CLIENT_SECRET an!" >&2 + exit 1 +fi + +echo "=== 1. Hole temporären Access Token via Universal Auth ===" +export INFISICAL_API_URL +export INFISICAL_TOKEN=$(infisical login --method=universal-auth --client-id="$CLIENT_ID" --client-secret="$CLIENT_SECRET" --silent --plain) + +echo "=== 2. Exportiere Secrets direkt in lokale Konfigurationsdatei ===" +infisical export --path "$SECRET_PATH" --env=prod --format=dotenv --silent > "$ENV_OUTPUT" + +echo "=== Secrets erfolgreich bezogen und nach $ENV_OUTPUT geschrieben! ==="