-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
116 lines (114 loc) · 5.05 KB
/
Copy path.env.example
File metadata and controls
116 lines (114 loc) · 5.05 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# ------------------------------------------------------------------------------
# 1) MUST be set manually by the admin
# ------------------------------------------------------------------------------
#
# Must match payload.security.provider from dapps (see GET /v1/capabilities).
PROVIDER_NAME=
# Required for compose.prod.yaml: oz-relayer runs as this uid/gid
# so it can read mode-0600 keystores under config/oz-relayer/keys. On Linux/macOS, `pnpm run prod:init`
# writes these from `id -u` / `id -g` when missing; set manually if you init on another OS or need a different user.
OZ_RELAYER_UID=
OZ_RELAYER_GID=
# ------------------------------------------------------------------------------
# 2) CAN be set by admin, auto-generated by `pnpm run prod:init` if missing
# ------------------------------------------------------------------------------
#
# Shared secret used by this app to call the OZ Relayer HTTP API.
# Use a long random value (32+ chars), and set the same value in oz-relayer.
# OZ_RELAYER_API_KEY=
#
# Password used to decrypt the relayer signer keystore JSON file.
# Must match the passphrase used when the keystore was created.
# OZ_KEYSTORE_PASSPHRASE=
#
# Secret for OZ Relayer outbound webhook signatures.
# OZ_WEBHOOK_SIGNING_KEY=
#
# Encryption key for relayer storage at rest (Redis/backend state).
# Expected format: base64-encoded 32-byte value.
# OZ_STORAGE_ENCRYPTION_KEY=
#
# ------------------------------------------------------------------------------
# 3) Optional: defaults apply if not set by admin
# ------------------------------------------------------------------------------
#
# App host/port (local `pnpm dev` / non-Compose runs — Fastify binds HOST:PORT):
# HOST=0.0.0.0
# PORT=3000
#
# compose.prod.yaml: app always listens on PORT=3000 inside the container; set the host-published port with:
# CLEARMACRO_PROVIDER_HOST_PORT=3000
#
# App storage/config paths:
# DATABASE_PATH is for local/non-Compose runs only. compose.prod.yaml always uses /data/clearmacro-provider.sqlite.
# DATABASE_PATH=./data/clearmacro-provider-dev.sqlite
# PROVIDER_CONFIG_PATH=config/provider.json
# Tracked minimal example: config/provider.example.json → copy to config/provider.json before prod:init / first run.
#
# OpenZeppelin Relayer connectivity/version:
# OZ_RELAYER_VERSION=v1.4.0
# App runtime (inside compose): OZ_RELAYER_URL defaults to http://oz-relayer:8080 in compose.prod.yaml
# prod:apply-config / prod:check-config run a Compose `admin` one-off on the internal network (no host OZ port).
# Advanced override only (unusual deployments):
# OZ_RELAYER_ADMIN_URL=http://oz-relayer:8080
# OZ_REPOSITORY_STORAGE_TYPE=redis
# OZ_RESET_STORAGE_ON_START=false
# OZ_LOG_LEVEL=info
#
# compose.prod.yaml passes these into oz-relayer (defaults 500/600/200; unset uses those defaults).
# RATE_LIMIT_REQUESTS_PER_SECOND=500
# RATE_LIMIT_BURST_SIZE=600
# RELAYER_CONCURRENCY_LIMIT=200
#
# App behavior:
# RUN_MIGRATIONS_ON_START=true
# RELAYER_WORKER_ENABLED=true
# RELAYER_WORKER_POLL_INTERVAL_MS=2000
# RELAYER_WORKER_BATCH_SIZE=25
# REQUEST_MAX_METADATA_KEYS=20
# REQUEST_MAX_METADATA_VALUE_LENGTH=256
# RELAYER_REQUEST_TIMEOUT_MS=10000
#
# Readiness: reduce /readyz traffic to OZ and retry on HTTP 429 (defaults shown).
# READINESS_CACHE_SUCCESS_TTL_MS=5000
# READINESS_CACHE_RATE_LIMITED_TTL_MS=1500
# READINESS_OZ_RETRY_MAX_ATTEMPTS=3
# READINESS_OZ_RETRY_BASE_DELAY_MS=100
#
# Relayer signer balance Prometheus sampler (0 disables). Default: 3600000 (60 minutes).
# RELAYER_SIGNER_BALANCE_SAMPLE_INTERVAL_MS=3600000
#
# Dashboard metrics samplers (0 disables). Default: 30000 (30 seconds).
# READINESS_METRICS_INTERVAL_MS=30000
# OLDEST_NONTERMINAL_AGE_INTERVAL_MS=30000
#
# `pnpm run prod:fund`: FUNDING_BASE_TX_COUNT=30, FUNDING_ACTIVITY_DAYS=30, GAS_LIMIT=200000.
# Flat per-chain runway: TARGET_TX_COUNT=30. Per-chain override: FUNDING_TX_COUNT_8453=120.
#
# LOG_LEVEL=info
#
# Safe message authorization (optional).
# Setting SAFE_API_KEY enables safeMessageV1. Omit the key to leave it off.
# Production Compose (`compose.prod.yaml`) loads host `.env` via `env_file` (plus container overrides).
# SAFE_AUTHORIZATION_ENABLED=false forces off even when SAFE_API_KEY is set (kill switch).
# SAFE_AUTHORIZATION_ENABLED=true without SAFE_API_KEY is an error.
# SAFE_API_KEY=
# SAFE_AUTHORIZATION_ENABLED=
# SAFE_API_RETRY_MAX_ATTEMPTS=3
# SAFE_API_RETRY_BASE_DELAY_MS=250
# SAFE_AUTHORIZATION_POLL_BASE_DELAY_MS=5000
# SAFE_AUTHORIZATION_POLL_MAX_DELAY_MS=60000
# Optional override for Safe Transaction Service base URL (api-kit appends /v1/...). Used by stack E2E stubs.
# SAFE_TX_SERVICE_URL=http://safe-tx-stub:8080/api
#
# API_AUTH_ENABLED=false
# When API_AUTH_ENABLED=true, set a non-empty JSON array of
# { "id": string, "apiTokenHash": string } where apiTokenHash is sha256(hex) of
# the bearer token.
# API_CLIENTS_JSON=[{"id":"my-dapp","apiTokenHash":"..."}]
#
# Local dev only (compose.yaml — not used by compose.prod.yaml):
# ANVIL_HOST_PORT=8545
# OZ_RELAYER_HOST_PORT=8080
# OZ_RELAYER_METRICS_HOST_PORT=8081
# Do not set OZ_RELAYER_HOST_PORT / OZ_RELAYER_METRICS_HOST_PORT in production; prod OZ is internal-only.