Validates the PushX configuration offline — the same checks the library runs at start/send time, reported all at once:
$ mix pushx.doctor
PushX 0.14.0 — configuration check (MIX_ENV=dev)
APNS ✔ configured (key ABC123DEFG, team TEAM123456, mode :prod)
✔ private key resolves and signs ES256
FCM ✔ project my-project
✔ service-account credentials resolve and sign RS256
Delivery: live
Retries: enabled, 3 attempts, 10000ms base delay — a batch task may block up to 180s
Pools: finch_pool_size 25 (consider 2-5 for low traffic on cloud LBs)
Breaker: off Rate limit: off
All checks passed.
Exits with a non-zero status (raises Mix.Error) when a credential check
fails, so it can gate a deploy:
mix pushx.doctor && mix releaseNothing is sent and no provider is contacted. Use the same MIX_ENV /
environment variables as the deployment you are checking (MIX_ENV=prod mix pushx.doctor), since {:system, VAR} credentials are resolved at
check time.