refactor: move host-crontab generation into cron plugin

Host-crontab generation for `app.json` cron tasks now lives in the `cron` plugin, gated by a new `scheduler-uses-host-cron` trigger that the `docker-local` scheduler answers true while self-managed schedulers such as `k3s` answer false. This lets any host-cron scheduler participate in normal `app.json` cron without coupling to `scheduler-docker-local` or duplicating the crontab writer, while the `k3s` scheduler continues to manage its own in-cluster cron jobs.

Closes #8862.
This commit is contained in:
Jose Diaz-Gonzalez
2026-07-22 07:56:33 -04:00
parent e3687a62ed
commit c6b4ea75c1
24 changed files with 441 additions and 259 deletions

View File

@@ -0,0 +1,17 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
trigger-scheduler-null-scheduler-uses-host-cron() {
declare desc="reports whether the scheduler writes cron tasks to the host crontab"
declare trigger="scheduler-uses-host-cron"
declare DOKKU_SCHEDULER="$1"
if [[ "$DOKKU_SCHEDULER" != "null" ]]; then
return
fi
echo "false"
}
trigger-scheduler-null-scheduler-uses-host-cron "$@"