From 3cf09a0fe3b024e66da660d977d63e4ea45f5cf0 Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Sun, 21 Jun 2026 12:35:19 +0000 Subject: [PATCH] t3-migrate-idle: systemd oneshot + overnight timer (01:00-05:40, /20) Co-Authored-By: Claude Opus 4.8 --- scripts/t3-migrate-idle.service | 8 ++++++++ scripts/t3-migrate-idle.timer | 10 ++++++++++ 2 files changed, 18 insertions(+) create mode 100644 scripts/t3-migrate-idle.service create mode 100644 scripts/t3-migrate-idle.timer diff --git a/scripts/t3-migrate-idle.service b/scripts/t3-migrate-idle.service new file mode 100644 index 00000000..97c28faa --- /dev/null +++ b/scripts/t3-migrate-idle.service @@ -0,0 +1,8 @@ +[Unit] +Description=t3 idle migrator — restart deferred t3-serve instances onto the current binary when idle +Documentation=https://forgejo.viktorbarzin.me/viktor/infra/src/branch/master/docs/plans/2026-06-21-t3-idle-migrate-design.md +After=network.target t3-dispatch.service + +[Service] +Type=oneshot +ExecStart=/usr/local/bin/t3-migrate-idle diff --git a/scripts/t3-migrate-idle.timer b/scripts/t3-migrate-idle.timer new file mode 100644 index 00000000..0c847fa6 --- /dev/null +++ b/scripts/t3-migrate-idle.timer @@ -0,0 +1,10 @@ +[Unit] +Description=Overnight drain of t3-autoupdate deferrals (idle-gated t3-serve migration) + +[Timer] +OnCalendar=*-*-* 01..05:00/20 +RandomizedDelaySec=120 +Persistent=false + +[Install] +WantedBy=timers.target