mytfenv/sync_kubeconfig.sh

31 lines
1.1 KiB
Bash
Raw Normal View History

2026-11-01 00:05:52 +00:00
#!/bin/sh
echo "Warte auf die frische Kubeconfig von K3s..."
while [ ! -f /output/config ]; do sleep 1; done
sleep 2 # Sicherstellen, dass K3s fertig geschrieben hat
echo "Aktualisiere das Forgejo-Secret KUBECONFIG_DATA via API..."
# Liest die Datei ein, maskiert Backslashes und doppelte Anführungszeichen,
# und fügt am Ende jeder Zeile ein echtes \n für den JSON-String ein.
ESCAPED_KUBE=$(awk '{
gsub(/\\/, "\\\\");
gsub(/"/, "\\\"");
printf "%s\\n", $0
}' /output/config)
# HIER DEFINIEREN WIR DEINE REPOSITORIES (Einfach mit Leerzeichen getrennt eintragen)
REPOS="my-app-sandbox boday_tf cloudmon"
# Die Schleife aktualisiert alle Repositories nacheinander
for REPO in $REPOS; do
echo "=> Synchronisiere Repo: $REPO"
curl -s -X PUT "http://forgejo:3000/api/v1/repos/bast/$REPO/actions/secrets/KUBECONFIG_DATA" \
-H "accept: application/json" \
-H "Authorization: token eb834b313f4ffe99bc507abc08c46eb74913707a" \
-H "Content-Type: application/json" \
-d "{\"data\": \"$ESCAPED_KUBE\"}"
done
2026-11-01 00:05:52 +00:00
echo ""
echo "Alle Secrets erfolgreich synchronisiert!"