Referência de secrets e variáveis
Catálogo completo das org secrets do GitHub usadas no deploy, das variáveis/secrets do Worker na Cloudflare, e de onde cada coisa é consumida.
Org secrets (GitHub — org cactus-agents)
Todas têm acesso restrito a repositórios selecionados. Ao criar um novo fork/repo, adicione-o ao Repository access de cada secret relevante.
GitHub
| Secret | Escopo do PAT | Consumido por | Uso |
|---|---|---|---|
GH_PACKAGES_TOKEN | read:packages | CI do caller (quality) | Instalar @cactus-agents/* no CI |
FRONT_GH_ACTIONS_TOKEN | repo, read:packages, read:org | Reusable de deploy + jobs que dão checkout do front-ops | Checkout do front-ops (privado), install de pacotes, resolução do HEAD SHA via API, e o authorization gate (membership de team) |
:::info read:org
O FRONT_GH_ACTIONS_TOKEN precisa de read:org para o gate de
deploy_protection.required_team conseguir consultar a membership do ator no
team (GET /orgs/cactus-agents/teams/<team>/memberships/<actor>).
:::
Cloudflare (por conta — prefixo {XX} = CT/BT/TS)
| Secret | Obrigatório | Consumido por (step) | Uso |
|---|---|---|---|
FRONT_{XX}_CF_ACCOUNT_ID | ✅ | Resolve CF credentials | Account ID da conta CF |
FRONT_{XX}_CF_API_TOKEN | ✅ | Resolve CF credentials, deploy, purges | Token de API (Workers Edit + Zone Read + Cache Purge) |
FRONT_{XX}_CF_WORKER_KEY | recomendado | Resolve API_BASE_URL and CF_WORKER_KEY, Resolve cache purge secrets | CF_WORKER_KEY injetado no build + header cf-worker-key (WAF bypass) no purge |
FRONT_{XX}_CACHE_PURGE_SECRET | recomendado | Resolve cache purge secrets | Header X-Cache-Secret no purge de platform cache. Sem ele o purge de platform cache é pulado (warning) |
FRONT_{XX}_R2_ASSETS_ACCESS_KEY | opcional | Resolve R2 S3 API credentials | Access key da R2 S3 API para sync de assets |
FRONT_{XX}_R2_ASSETS_SECRET | opcional | Resolve R2 S3 API credentials | Secret da R2 S3 API. Sem o par, o sync de assets para R2 é pulado (warning) |
:::caution Secrets pouco visíveis
FRONT_{XX}_CF_WORKER_KEY, FRONT_{XX}_CACHE_PURGE_SECRET e
FRONT_{XX}_R2_ASSETS_* não causam falha fatal quando ausentes — o pipeline
emite apenas ::warning:: e pula a etapa correspondente (purge / sync de assets).
Resultado: deploys "verdes" mas com cache potencialmente stale ou sem fallback de
chunks. Configure-as por conta para o comportamento completo.
:::
Para adicionar uma conta CF nova (e as linhas de env correspondentes no workflow), ver Adicionar conta CF.
Variáveis e secrets do Worker (Cloudflare)
Estas vivem nos bindings do Worker (Settings → Variables and Secrets, ou
wrangler secret put). Algumas são lidas pelo pipeline, outras só são usadas
em runtime pelo app.
Lidas pelo pipeline (precisam existir no Worker antes do deploy automatizado)
| Variável | Tipo | Uso |
|---|---|---|
API_BASE_URL | Plain | Lida dos bindings e injetada no build (.env + pnpm build). Sem ela: ::warning::API_BASE_URL not found e o build sai sem a URL |
CF_WORKER_KEY | Secret | Resolvida do FRONT_{XX}_CF_WORKER_KEY ou do binding; injetada no build |
Injetadas pelo front-ops (NÃO configurar à mão — são sobrescritas)
| Variável / binding | Origem |
|---|---|
BRAND_LANGUAGE | deploy.yml::language |
ORIGIN_DOMAIN | deploy.yml::origin_domain |
GITHUB_SHA | deploy ref (HEAD do default_branch) |
BUILD_ID | 12 chars do deploy ref (patch no wrangler.toml) |
WORKER_NAME | deploy.yml::worker_name |
PLATFORM_CACHE_POLICY_JSON | merge de config/cache/* |
CACHE_NAMESPACE | = worker_name |
PLATFORM_CACHE_KV (binding) | KV provisionado no deploy |
ASSETS, ASSETS_ARCHIVE, API_SERVICE (bindings) | wrangler.toml do base |
Configuradas por brand (runtime — você define no Worker)
| Variável | Tipo | Quando |
|---|---|---|
BRAND_COUNTRY | Plain | sempre (BRA, CHL, MEX, PER, NGA, …) |
BRAND_CURRENCY | Plain | sempre (BRL, CLP, MXN, PEN, NGN, …) |
BRAND_TIMEZONE | Plain | recomendado (server-only) |
BRAND_CACHE_TTL | Plain | opcional (default 3600) |
CASSINO_MODE | Plain | opcional (legacy/api_new) |
FORCE_SPORTBOOK | Plain | opcional (first/altenar/betby/rogue) |
STICKER_API_URL | Plain | se usa sticker-album |
TURNSTILE_SITE_KEY / RECAPTCHA_SITE_KEY | Plain | se usa captcha |
SMARTICO_SALT_KEY | Secret | se usa gamification Smartico |
SPORTS_ROGUE_API_KEY | Secret | se FORCE_SPORTBOOK=rogue |
CACHE_PURGE_SECRET | Secret | endpoint de purge via webhook (runtime) |
:::info Referência canônica das vars do app
A lista detalhada de variáveis do template, com a interface ClientEnv e
prioridades de resolução, está em
Template → Environment Variables.
:::
Mapa rápido: "o que configurar onde"
GitHub org secrets → credenciais de plataforma (CF account/token,
(Settings → Actions) GH tokens, purge/worker-key/R2 por conta)
front-ops/.../deploy.yml → identidade do deploy (worker_name, domínio,
(config-as-code) branch, conta CF, cf_zone, proteção)
front-ops/config/cache/ → política de cache (TTLs, KV, segmentos de purge)
Worker (CF dashboard) → config da brand em runtime (API_BASE_URL,
Variables and Secrets BRAND_*, secrets Smartico/Rogue,
CF_WORKER_KEY)