SentrySentry
Plugins

Challenge Providers

Edge actions provider-agnostic via ChallengeProvider

Edge Actions e ChallengeProvider

Edge actions (block / challenge / rate-limit em CDN/WAF) são provider-agnostic via trait ChallengeProvider, espelhando o padrão do LlmProvider. Isso permite trocar de Cloudflare para AWS WAF, Fastly, Bunny… sem mudar o ActionKind, as regras ou o filtro de verdict.

Como funciona

O tipo ChallengeAction (em sentry-core) faz o filtro de verdict (Block/Challenge/RateLimit) e delega ao provider. O provider só implementa apply(ip, verdict, opts). A lógica de "qual veredito vira action" fica no core; o provider só executa no edge.

Config canonical

[[action]]
type = "challenge"
provider = "cloudflare"        # extensible: aws_waf, fastly, ...
[action.options]
mode = "managed_challenge"     # block | js_challenge | managed_challenge | rate_limit
ttl_secs = 86400

O alias legacy type = "cloudflare" (sem provider) é mantido por compatibilidade e é equivalente.

Adicionar um novo provider de edge (AWS WAF, Fastly, Bunny…)

  1. Crie a crate sentry-action-<nome> implementando ChallengeProvider.
  2. Adicione-a a sentry-cli/Cargo.toml.
  3. Adicione um braço no match de daemon::build_challenge_action.

Sem mudar ActionKind, regras, ou filtro de verdict.

Cloudflare (provider padrão)

  • Tokens via env (SENTRY_CF_TOKEN, SENTRY_CF_ZONE).
  • Cache local de IPs já desafiados (TTL configurável) para não bombardear a API.
  • Modos: block, js_challenge, managed_challenge, rate_limit.
  • Importante: na fase 1 o Sentry é read-only + Cloudflare action. Não há inline proxy. Inline é fase futura (sentry-proxy).

Integração Cloudflare (sinergia)

On this page