diff options
| author | Claude <claude@anthropic.com> | 2026-03-04 19:14:55 +0100 |
|---|---|---|
| committer | Claude <claude@anthropic.com> | 2026-03-04 19:14:55 +0100 |
| commit | 171c5b86ef05974426ba5c5d8547c8025977d1a2 (patch) | |
| tree | 2a1193e2bb81a6341e55d0b883a3fc33f77f8be1 /test/entrypoint.sh | |
| parent | 9f14edf2b97286e02830d528038b32d5b31aaa0a (diff) | |
| parent | 0278c87f062a9ae7d617b92be22b175558a05086 (diff) | |
| download | gemini-py-main.tar.gz gemini-py-main.zip | |
Diffstat (limited to 'test/entrypoint.sh')
| -rw-r--r-- | test/entrypoint.sh | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/test/entrypoint.sh b/test/entrypoint.sh new file mode 100644 index 0000000..6fa7518 --- /dev/null +++ b/test/entrypoint.sh @@ -0,0 +1,48 @@ +#!/bin/bash +set -e + +CERT_PATH="/mitmproxy-ca/mitmproxy-ca-cert.pem" + +echo "Waiting for mitmproxy CA certificate..." +for i in $(seq 1 30); do + if [ -f "$CERT_PATH" ]; then + echo "Found mitmproxy CA cert." + break + fi + sleep 1 +done + +if [ ! -f "$CERT_PATH" ]; then + echo "WARNING: mitmproxy CA cert not found at $CERT_PATH" +fi + +export SSL_CERT_FILE="$CERT_PATH" +export REQUESTS_CA_BUNDLE="$CERT_PATH" +export NODE_EXTRA_CA_CERTS="$CERT_PATH" + +# Build ~/.gemini for gemini-cli from env vars +if [ -n "$GEMINI_REFRESH_TOKEN" ]; then + GEMINI_DIR="/tmp/gemini-home/.gemini" + mkdir -p "$GEMINI_DIR" + + python3 - <<EOF +import json, os, time +data = { + "refresh_token": os.environ["GEMINI_REFRESH_TOKEN"], + "access_token": os.environ.get("GEMINI_ACCESS_TOKEN", ""), + "expiry_date": int(os.environ.get("GEMINI_TOKEN_EXPIRY", "0")), + "token_type": "Bearer", +} +with open("$GEMINI_DIR/oauth_creds.json", "w") as f: + json.dump(data, f, indent=2) +os.chmod("$GEMINI_DIR/oauth_creds.json", 0o600) +EOF + + if [ -f "/gemini-settings/settings.json" ]; then + cp /gemini-settings/settings.json "$GEMINI_DIR/settings.json" + fi + + export HOME="/tmp/gemini-home" +fi + +exec "$@" |
