fix: route hub reboot through forced systemd reboot unit

Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/c72ca380-983e-4811-98f7-98f883ef46dc

Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot]
2026-04-15 17:07:07 +00:00
committed by GitHub
parent fc6f58b00e
commit 40c2d17833
2 changed files with 11 additions and 2 deletions

View File

@@ -49,6 +49,7 @@ UPDATE_UNIT = "sovran-hub-update.service"
REBUILD_LOG = "/var/log/sovran-hub-rebuild.log"
REBUILD_STATUS = "/var/log/sovran-hub-rebuild.status"
REBUILD_UNIT = "sovran-hub-rebuild.service"
REBOOT_UNIT = "sovran-hub-reboot.service"
# Set to True by _startup_recover_stale_status() when it corrects a stale
# RUNNING → SUCCESS/FAILED for the update unit. Consumed by the first call
@@ -2052,7 +2053,7 @@ async def api_upgrade_to_server():
# and ports first via the onboarding wizard. Reboot so onboarding runs.
try:
proc = await asyncio.create_subprocess_exec(
"/run/current-system/sw/bin/reboot",
"/run/current-system/sw/bin/systemctl", "start", "--no-block", REBOOT_UNIT,
stdout=asyncio.subprocess.DEVNULL,
stderr=asyncio.subprocess.DEVNULL,
)
@@ -2885,7 +2886,7 @@ async def api_ping():
async def api_reboot():
try:
proc = await asyncio.create_subprocess_exec(
"/run/current-system/sw/bin/reboot",
"/run/current-system/sw/bin/systemctl", "start", "--no-block", REBOOT_UNIT,
stdout=asyncio.subprocess.DEVNULL,
stderr=asyncio.subprocess.DEVNULL,
)

View File

@@ -380,6 +380,14 @@ in
};
};
systemd.services.sovran-hub-reboot = {
description = "Sovran_SystemsOS System Reboot";
serviceConfig = {
Type = "oneshot";
ExecStart = "/run/current-system/sw/bin/systemctl --force reboot";
};
};
environment.systemPackages = [ sovran-hub-web ];
networking.firewall.allowedTCPPorts = [ 8937 60847 ];