The problem is not “crontab as a service for the internet.” The problem is systemd timers
scattered across this VPS. Kronos stores jobs in kronos_jobs, shows them in a browser,
and a single systemd dispatcher fires HTTP endpoints every minute, recording
kronos_runs. Blueprints expose a URL; Kronos calls it. No SSH to tweak a schedule.
Admin gate: any logged-in user may read list/detail/stats/history; create, update,
delete, toggle, run-now require current_user.is_admin. No Kronos-specific env vars.
Failure alerts that still call Telegram are skipped without tokens — prefer Herald. This is not
GitHub Actions and not a Kubernetes CronJob UI.
DB-driven scheduled job manager — one dispatcher timer for platform crons. Health stays cheap. If this page disagrees with the signed-in app,
trust the app — the product contract and tests enforce that rule.