1#!/bin/sh
2# Supply fake credentials for every built-in auth provider, without writing profiles.
3# Usage: ./scripts/with-fake-profiles.sh vpr test --tags local
4# Environment credentials override saved profiles. Endpoint overrides are preserved
5# so the wrapped command can use local emulators. This does not redirect cloud APIs.
6set -eu
7
8if [ "$#" -eq 0 ]; then
9 echo "Usage: $0 <command> [args...]" >&2
10 exit 2
11fi
12
13export AWS_ACCESS_KEY_ID=AKIAFAKELOCALTESTONLY
14export AWS_SECRET_ACCESS_KEY=alchemy-fake-local-secret-access-key
15export AWS_SESSION_TOKEN=alchemy-fake-local-session-token
16export AWS_ACCOUNT_ID=000000000000
17export AWS_REGION="${AWS_REGION:-${AWS_DEFAULT_REGION:-us-east-1}}"
18export AWS_DEFAULT_REGION="$AWS_REGION"
19
20export AXIOM_TOKEN=alchemy-fake-local-axiom-token
21export AXIOM_API_KEY="$AXIOM_TOKEN"
22export AXIOM_ORG_ID=alchemy-local
23
24export CLOUDFLARE_ACCOUNT_ID=00000000000000000000000000000000
25export CLOUDFLARE_API_TOKEN=alchemy-fake-local-cloudflare-token
26export CLOUDFLARE_API_KEY=alchemy-fake-local-cloudflare-key
27export CLOUDFLARE_EMAIL=alchemy-local@example.invalid
28export CLOUDFLARE_ACCOUNT_EMAIL="$CLOUDFLARE_EMAIL"
29
30export DOPPLER_TOKEN=alchemy-fake-local-doppler-token
31export FLY_API_TOKEN=alchemy-fake-local-fly-token
32
33export GITHUB_ACCESS_TOKEN=alchemy-fake-local-github-token
34export GITHUB_TOKEN="$GITHUB_ACCESS_TOKEN"
35export GH_TOKEN="$GITHUB_ACCESS_TOKEN"
36export GH_ENTERPRISE_TOKEN="$GITHUB_ACCESS_TOKEN"
37export GITHUB_ENTERPRISE_TOKEN="$GITHUB_ACCESS_TOKEN"
38
39export HCLOUD_TOKEN=alchemy-fake-local-hetzner-token
40export INFISICAL_TOKEN=alchemy-fake-local-infisical-token
41export NEON_API_KEY=alchemy-fake-local-neon-key
42
43export PLANETSCALE_API_TOKEN_ID=alchemy-fake-local-planetscale-id
44export PLANETSCALE_API_TOKEN=alchemy-fake-local-planetscale-token
45export PLANETSCALE_ORGANIZATION=alchemy-local
46
47export PRISMA_SERVICE_TOKEN=alchemy-fake-local-prisma-token
48export PRISMA_API_TOKEN="$PRISMA_SERVICE_TOKEN"
49export RAILWAY_API_TOKEN=alchemy-fake-local-railway-token
50export STRIPE_API_KEY=sk_test_alchemy_fake_local
51
52# exec preserves arguments, signals, and the wrapped command's exit status.
53exec "$@"