Repository navigation
Expand file tree
/
Copy path.env.example
More file actions
87 lines (80 loc) · 4.96 KB
/
Copy path.env.example
File metadata and controls
87 lines (80 loc) · 4.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# Copy to .env for local development. Never commit real secrets.
# Ports match infra/docker/docker-compose.yml (offset to avoid local collisions)
DATABASE_URL=postgres://vela:vela@localhost:5433/vela
REDIS_URL=redis://localhost:6380
# Integration tests truncate tables — ALWAYS a separate database from dev:
TEST_DATABASE_URL=postgres://vela:vela@localhost:5433/vela_test
# api-gateway
PORT=4000
HOST=0.0.0.0
# Downstream services bind 127.0.0.1 by default (FIX 6c) so only the gateway is
# reachable, even if the platform doesn't firewall non-$PORT ports. Set
# BIND_HOST=0.0.0.0 ONLY for a distributed deploy where the gateway reaches
# services over a trusted private network.
# BIND_HOST=127.0.0.1
WALLET_SERVICE_URL=http://localhost:4001
# Allowed browser origin(s) for CORS — comma-separated for apex + www.
CORS_ORIGIN=http://localhost:3000
# Security controls (idea.md §12). Defaults shown; override per environment.
# RATE_LIMIT_MAX=120 # requests per IP per window
# RATE_LIMIT_WINDOW_MS=60000 # rate-limit window
# MAX_BODY_BYTES=1048576 # max request body (1 MiB)
# REQUEST_TIMEOUT_MS=30000 # per-connection timeout
# wallet-service
WALLET_SERVICE_PORT=4001
# Defaults to Stellar testnet when unset:
# STELLAR_RPC_URL=https://soroban-testnet.stellar.org
# STELLAR_NETWORK_PASSPHRASE=Test SDF Network ; September 2015
# OpenZeppelin Relayer (fee-sponsored submission). Server-side only — never expose to the browser.
# Generate a free testnet key at https://channels.openzeppelin.com/testnet/gen
# RELAYER_BASE_URL=https://channels.openzeppelin.com/testnet
# RELAYER_API_KEY=
# lifecycle-service
LIFECYCLE_SERVICE_PORT=4002
LIFECYCLE_SERVICE_URL=http://localhost:4002
# HORIZON_URL=https://horizon-testnet.stellar.org
# policy-service
POLICY_SERVICE_PORT=4003
POLICY_SERVICE_URL=http://localhost:4003
# SPONSOR_SECRET_KEY= # funds policy instance deploys (server-side only)
# SPONSOR_PUBLIC_KEY= # G... pin: the account SPONSOR_SECRET_KEY must sign as (REQUIRED on mainnet, §8 Q3)
# ALLOW_UNPINNED_SIGNING_KEYS=1 # waive the mainnet pin requirement outside production only
# SPONSOR_MAX_FEE_STROOPS=1000000 # per-call sponsor fee cap (default 0.1 XLM); reject above this
# Funding-path spend budgets (FIX 3) — rolling window, per line, keyed off
# server config. Fail closed when the DB is unavailable.
# BUDGET_WINDOW_MS=3600000 # rolling window (default 1h)
# BUDGET_SPONSOR_MAX_XLM=50 # /wallet/submit sponsor path ceiling (XLM)
# BUDGET_SPONSOR_MAX_COUNT=500 # ...and call count
# BUDGET_DEPLOY_MAX_XLM=20 # /policies/:id/deploy-instance ceiling (XLM)
# BUDGET_DEPLOY_MAX_COUNT=20 # ...and deploy count
# BUDGET_CREATE_MAX_COUNT=30 # /wallet/create count (relayer-funded, count-only)
# ALLOW_INMEMORY=1 # explicitly permit volatile in-memory storage in prod (FIX 7)
# verification-service
VERIFICATION_SERVICE_PORT=4004
VERIFICATION_SERVICE_URL=http://localhost:4004
# worker-service (verification build worker — runs as its OWN isolated process)
# VERIFY_BUILD_IMAGE=vela-verify:1.94.0 # set → real Docker builds; unset → stub
# VERIFY_POLL_IDLE_MS=5000
# Build sandbox caps (§8.4 — the build runs untrusted code). Defaults shown.
# VERIFY_BUILD_TIMEOUT_S=600 # kill a build after this long
# VERIFY_BUILD_MEMORY=2g # container memory cap
# VERIFY_BUILD_CPUS=2 # container CPU cap
# VERIFY_BUILD_PIDS_LIMIT=512 # max processes (fork-bomb guard)
# WORKER_METRICS_PORT=4005 # worker exposes /health + /metrics here
# Reaper + queue controls (M7 / FIX 9). Reap timeout MUST exceed the build
# timeout so a live build is never reclaimed mid-run.
# VERIFY_REAP_TIMEOUT_MS=900000 # a 'building' row older than this is reclaimed (default 15m)
# VERIFY_REAP_INTERVAL_MS=300000 # reaper sweep interval (default 5m)
# VERIFY_MAX_ATTEMPTS=3 # claim attempts before a stranded job dead-letters
# VERIFY_QUEUE_MAX_ACTIVE=1000 # /verification/submit 429s past this many active records
# ETL cleanup (issue #345): archive + remove stale terminal rows to prevent unbounded table growth.
# CLEANUP_RETENTION_DAYS=90 # rows with updated_at older than this are eligible (default 90 days)
# CLEANUP_BATCH_SIZE=500 # max rows deleted per run (default 500)
# CLEANUP_INTERVAL_MS=86400000 # cleanup run interval in ms (default 24h)
# CLEANUP_ARCHIVE_ENABLED=0 # set to 0 to hard-delete without archiving (default: archive enabled)
# On-chain attestation mirror (optional; verification works without it).
# ATTESTOR_SECRET_KEY= # S... signer for the attestation registry (server-side only)
# ATTESTOR_PUBLIC_KEY= # G... pin: the account ATTESTOR_SECRET_KEY must sign as (REQUIRED on mainnet, §8 Q3)
# ATTESTATION_REGISTRY_ID= # C... deployed AttestationRegistry contract id
# ALLOW_SINGLE_KEY_ATTESTOR=1 # M5/FIX 4: required to run the single-key attestor on MAINNET
# (deferred smart-account attestor; testnet needs no override)