30 lines
1.1 KiB
Bash
Executable file
30 lines
1.1 KiB
Bash
Executable file
#!/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 MetaTrader5-Docker-Image"
|
|
|
|
# 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
|
|
|
|
echo ""
|
|
echo "Alle Secrets erfolgreich synchronisiert!"
|