Mission Control

Preflight

What is actually configured, read from real rows. Most of phase 0 happens in someone else's console; this refuses to let 'I think that is set up' stand in for the row existing.

Rails

  • Every required rail account has a credential

    0 required accounts, all configured. Optional accounts do not block preflight.

  • No credential is expiring or failing

    0 stored, none at risk.

  • Every required credential has passed a connection test

    No required credentials stored yet.

    Control panel → Rail accounts.

    Open exact field

Email

  • Domain identity for go.futurebits.tech

    Verified for sending.

  • Easy DKIM

    SES reports DKIM SUCCESS with 3 tokens.

  • Custom MAIL FROM on bounce.go.futurebits.tech

    Set, status SUCCESS.

  • Production access

    Out of the sandbox. Quota 50000/day at 14/s, 0 sent in the last 24h.

  • Configuration set mission-control-futurebits

    Exists.

  • Event destination

    No event destination, so bounces and complaints never reach the control plane.

    Run npm run ses:setup -- --brand futurebits --apply

  • Topic policy for delivery events

    The topic policy does not let ses.amazonaws.com publish, so nothing will ever be delivered even though the subscription looks healthy.

    Run npm run ses:setup -- --brand futurebits --apply

  • SNS subscription for delivery events

    Nothing is subscribed to https://mission.futurebits.tech/api/webhooks/ses/futurebits.

    Bring the VPS up behind TLS, then run: npm run ses:setup -- --brand futurebits --apply

  • Topic policy for inbound replies

    The topic policy does not let ses.amazonaws.com publish, so nothing will ever be delivered even though the subscription looks healthy.

    Run npm run ses:setup -- --brand futurebits --apply

  • SNS subscription for inbound replies

    Nothing is subscribed to https://mission.futurebits.tech/api/webhooks/ses-inbound/futurebits.

    Bring the VPS up behind TLS, then run: npm run ses:setup -- --brand futurebits --apply

  • Inbound receipt rule

    No receipt rule set named mission-control-inbound.

    Run npm run ses:setup -- --brand futurebits --apply

  • DNS records

    All 8 records resolve.

  • Warmup ramp running for go.futurebits.tech

    Ramp complete on day 14. The identity's daily cap of 60 applies.

Channels

  • Every rail channel resolves to an account

    5 rail channels.

  • Every rail channel has its vendor id

    5 have no external reference, so the publish job skips them: Delivery lead LinkedIn, Founder LinkedIn, Founder X, Futurebits company page, Outreach mailbox.

    Discover Buffer channels from a tested account, or paste each vendor channel id into the channel's external reference.

    Open exact field

People

  • The roster is real, not seeded examples

    2 of 2 are still seeded worked examples.

    Control panel → Teams and people. Editing a profile clears the example mark.

  • Every remit is usable

    2 remits.

Webhooks

  • Cal.com bookings has been heard from

    Never received a delivery.

    Point the Cal.com bookings webhook at this host and send a test event.

  • SES delivery events has been heard from

    Never received a delivery.

    Point the SES delivery events webhook at this host and send a test event.

  • SES inbound replies has been heard from

    Never received a delivery.

    Point the SES inbound replies webhook at this host and send a test event.

  • Telegram approvals has been heard from

    Never received a delivery.

    Point the Telegram approvals webhook at this host and send a test event.

Backups

  • Backups are configured

    MC_BACKUP_DIR is not set, so the nightly dump has nowhere to write.

    Set MC_BACKUP_DIR and mount it to something that is pushed offsite.

  • A restore drill has been done

    No restore drill recorded. A backup nobody has restored is a hope, not a backup.

    Restore the latest dump into a scratch database, confirm the row counts, then record it with `npm run ops:restore-drill`.

The same checks run from the command line with npm run preflight futurebits, which exits non-zero while anything is blocking.

Jump to

Search brands, flows, people and control panel sections