#!/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) # Schiesst das absolut valide JSON-Paket an die Forgejo-API curl -s -X PUT "http://forgejo:3000/api/v1/repos/bast/my-app-sandbox/actions/secrets/KUBECONFIG_DATA" \ -H "accept: application/json" \ -H "Authorization: token eb834b313f4ffe99bc507abc08c46eb74913707a" \ -H "Content-Type: application/json" \ -d "{\"data\": \"$ESCAPED_KUBE\"}" echo "" echo "Secret erfolgreich synchronisiert!"