Skip to content

feat(sysupdate): reboot coordination for non-Kubernetes and single-node hosts - #145

Open
mrbobbytables wants to merge 1 commit into
projectbluefin:mainfrom
mrbobbytables:feat/sysupdate-reboot-coordination
Open

feat(sysupdate): reboot coordination for non-Kubernetes and single-node hosts#145
mrbobbytables wants to merge 1 commit into
projectbluefin:mainfrom
mrbobbytables:feat/sysupdate-reboot-coordination

Conversation

@mrbobbytables

Copy link
Copy Markdown
Contributor

Resolves #139

Summary

Provides native reboot coordination for non-Kubernetes and single-node hosts using existing systemd primitives:

  • Introduces systemd-sysupdate-reboot.service with condition checks (ConditionPathExists=!/run/reboot-lock, ConditionPathExists=!/etc/reboot-lock, and ConditionPathExists=!/run/kured-active) supporting lock-based reboot inhibition and immediate reboots.
  • Introduces systemd-sysupdate-reboot.timer with a daily maintenance window schedule (04:10:00 with RandomizedDelaySec=30min and Persistent=true).
  • Enables systemd-sysupdate-reboot.timer via zz-enable-sysupdate-reboot.preset to ensure non-Kubernetes and single-node systems automatically apply reboots during scheduled maintenance windows.
  • Preserves the existing Kured reboot coordination path on Kubernetes clusters without regressions.
  • Adds comprehensive unit test coverage in tests/unit/test_reboot_coordination.py.
  • Updates docs/skills/architecture-roadmap.md and docs/skills/gap-analysis-distros.md.

— hive: backend=copilot model=gemini-3.8-flash

🐝 Hive Agent: contributor | SHA: 30b8e3f

…de hosts

Add systemd-sysupdate-reboot service and timer units with preset enablement
for non-Kubernetes and single-node hosts.

- Ship systemd-sysupdate-reboot.service with ConditionPathExists lock checks
  (/run/reboot-lock, /etc/reboot-lock, and /run/kured-active) to support
  immediate and lock-based inhibition.
- Ship systemd-sysupdate-reboot.timer for maintenance window scheduling
  (04:10 with 30min randomized delay).
- Enable timer via zz-enable-sysupdate-reboot.preset.
- Preserve Kured reboot coordination path on Kubernetes clusters.
- Add unit test coverage in tests/unit/test_reboot_coordination.py.
- Update architecture roadmap and gap analysis documentation.

Closes projectbluefin#139

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Signed-off-by: mrbobbytables <mrbobbytables@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(sysupdate): reboot coordination for non-Kubernetes and single-node hosts

1 participant