diff --git a/deploy/gitea-repo-create.sh b/deploy/gitea-repo-create.sh index a417334..64180d8 100644 --- a/deploy/gitea-repo-create.sh +++ b/deploy/gitea-repo-create.sh @@ -17,12 +17,18 @@ set -uo pipefail NAME="${1:-}" BESCHREIBUNG="${2:-Von Lucy angelegtes Projekt-Repo.}" -CRED="$HOME/.git-credentials" +# Worker-Subprozesse laufen evtl. mit abweichendem $HOME (Profil-Home) — das dedizierte +# Anlage-Token (write:user) UND .git-credentials liegen aber nur im ECHTEN User-Home. +# Darum den echten Home aus /etc/passwd aufloesen, sonst faellt das Skript aufs falsche +# Token zurueck (Fan-out-Nachlese 20.07.: projektstart-Worker blockte an genau dieser +# Stelle mit "Token hat nur write:repository"). +REALHOME="$(getent passwd "$(id -un)" 2>/dev/null | cut -d: -f6)"; REALHOME="${REALHOME:-$HOME}" +CRED="$REALHOME/.git-credentials" # Dediziertes Anlage-Token (Scope write:user) — GETRENNT vom Push-Token in # ~/.git-credentials, damit ein Überschreiben nie Push/PR bricht. Priorität: -# ENV GITEA_CREATE_TOKEN → ~/.config/gitea/create-token → Fallback .git-credentials. -CREATE_TOKEN_FILE="$HOME/.config/gitea/create-token" -LOG="$HOME/.hermes/state/gitea-repos-created.log" +# ENV GITEA_CREATE_TOKEN → /.config/gitea/create-token → Fallback .git-credentials. +CREATE_TOKEN_FILE="$REALHOME/.config/gitea/create-token" +LOG="$REALHOME/.hermes/state/gitea-repos-created.log" if [ -z "$NAME" ]; then echo "Nutzung: gitea-repo-create.sh [\"Beschreibung\"]" >&2