fix: hash scheduler-k3s cron-id label to fit Kubernetes' 63-byte cap
The `dokku.com/cron-id` label could exceed Kubernetes' 63-byte cap because the cron ID is `base36(appName === command === schedule)`, which expands roughly 1.5x per byte. The label is now keyed `dokku.com/cron-hash` and holds the `sha1` hex digest of the cron-id, a fixed 40-character value that always fits the cap. The same hex digest is mirrored into the `dokku.com/cron-hash` annotation, and the original base36 cron-id stays in the `dokku.com/cron-id` annotation that `cron:list` reads when surfacing user-facing IDs. Per-task lookups stay server-side via label selectors, so `cron:set --maintenance` and the forbid/replace concurrency checks on `dokku run --cron-id` keep working without any in-memory filtering.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"cron": [
|
||||
{
|
||||
"command": "python3 task.py",
|
||||
"command": "python3 task.py some cron task",
|
||||
"schedule": "5 5 5 5 5"
|
||||
}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user