A daily report on a systemd timer instead of a crontab line
A daily go-to-market report that runs itself and puts the numbers somewhere I will actually see them.
revenue.py, traffic.py and post_linear.py do the pulling, with apps.toml
as the registry of what gets reported, so adding a property is a config edit
rather than a code change. The scripts are unremarkable. deploy/ is the part
worth keeping: a systemd .service and .timer rather than a crontab line.
Persistent=true catches a run missed while the machine was off, which cron
skips silently. OnCalendar is readable where five crontab fields are not.
Output lands in the journal with per-run boundaries instead of mailed stdout
nobody reads. EnvironmentFile keeps credentials out of the unit and out of the
process arguments, with file permissions as the actual access control.
The written playbook carries the judgment about which number to look at first, which is the part that is hard to rebuild.