#!/usr/bin/env bash set -euo pipefail REAL_GIT=/usr/bin/git if [[ "${RAKAZO_GITHUB_BROKER_URL:-}" == "" || "${RAKAZO_GITHUB_BROKER_RUN_TOKEN:-}" == "" ]]; then exec "$REAL_GIT" "$@" fi sub="${1:-}" case "$sub" in push|fetch|pull|clone|ls-remote) payload="$(python3 -c 'import json,os,sys; print(json.dumps({"argv":["git"]+sys.argv[1:],"cwd":os.getcwd()}))' -- "$@")" response="$(curl -fsS -X POST "${RAKAZO_GITHUB_BROKER_URL}/v1/git" \ -H "Authorization: Bearer ${RAKAZO_GITHUB_BROKER_RUN_TOKEN}" \ -H "Content-Type: application/json" \ --data-binary "$payload")" || { echo "GitHub access through evOo failed (${RAKAZO_GITHUB_BROKER_URL})." >&2 exit 1 } code="$(python3 -c 'import json,sys; print(json.load(sys.stdin).get("code",1))' <<<"$response")" python3 -c 'import json,sys; b=json.load(sys.stdin); sys.stdout.write(b.get("stdout") or ""); sys.stderr.write(b.get("stderr") or "")' <<<"$response" exit "$code" ;; esac exec "$REAL_GIT" "$@"