mix pushx.doctor (PushX v0.14.0)

Copy Markdown View Source

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 release

Nothing 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.