Skip to content

Add fleet-nightly: one email a night across every property - #12

Merged
ralyodio merged 1 commit into
mainfrom
fleet-nightly
Sep 21, 2026
Merged

ralyodio merged 1 commit into
mainfrom
fleet-nightly

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

What

bin/fleet-nightly emails a nightly report for all 54 properties: yesterday against the day before (UTC days).

  • Views, clicks, form submits from the CrawlProof tracker's daily rollups (tracker_event_daily_stats), human hits only; bot views shown separately.
  • Signups and logins from auth.users on every Supabase-backed property (22 of them): signups by creation date, logins by last sign-in date.
  • Tiles with colored deltas, a 7-day fleet chart, up/down movers, a per-property table with a 7-day heat strip, and a footer naming the 9 properties with no tracker project.
  • Plain-text alternative, --dry-run, --day YYYY-MM-DD, --to.
  • Secrets are pulled from the fleet-nightly--prod team vault at run time (SUPABASE_ACCESS_TOKEN, RESEND_API_KEY, CRAWLPROOF_TOKEN); environment wins if set. Sent through Resend from pulse@profullstack.com.
  • Failures are mailed as "Fleet nightly FAILED" so a broken job is never silent.

Where it runs

Dev box crontab, 15 5 * * * (05:15 UTC / 10:15pm PDT), log in ~/.local/share/fleet-nightly/cron.log. Snapshots per day under ~/.local/share/fleet-nightly/days/.

🤖 Generated with Claude Code

Views, clicks, form submits (CrawlProof tracker daily rollups, humans only),
signups and logins (Supabase Auth on the properties that use it), yesterday
against the day before, with a 7-day strip per property and fleet movers.
Secrets come from the fleet-nightly--prod team vault at run time. Cron at
05:15 UTC on the dev box; failures are mailed too.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@ralyodio
ralyodio merged commit 7daa79c into main Sep 21, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant