mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-25 00:51:20 +00:00
feat(gateway): scope systemd service name to HERMES_HOME
Multiple Hermes installations on the same machine now get unique systemd service names: - Default ~/.hermes → hermes-gateway (backward compatible) - Custom HERMES_HOME → hermes-gateway-<8-char-hash> Changes: - Add get_service_name() in hermes_cli/gateway.py that derives a deterministic service name from HERMES_HOME via SHA256 - Replace all hardcoded 'hermes-gateway' systemd references with get_service_name() across gateway.py, main.py, status.py, uninstall.py - Add HERMES_HOME env var to both user and system systemd unit templates so the gateway process uses the correct installation - Update tests to use get_service_name() in assertions
This commit is contained in:
parent
e7d3f1f3ba
commit
30da22e1c1
7 changed files with 68 additions and 30 deletions
|
|
@ -133,7 +133,13 @@ def uninstall_gateway_service():
|
|||
if platform.system() != "Linux":
|
||||
return False
|
||||
|
||||
service_file = Path.home() / ".config" / "systemd" / "user" / "hermes-gateway.service"
|
||||
try:
|
||||
from hermes_cli.gateway import get_service_name
|
||||
svc_name = get_service_name()
|
||||
except Exception:
|
||||
svc_name = "hermes-gateway"
|
||||
|
||||
service_file = Path.home() / ".config" / "systemd" / "user" / f"{svc_name}.service"
|
||||
|
||||
if not service_file.exists():
|
||||
return False
|
||||
|
|
@ -141,14 +147,14 @@ def uninstall_gateway_service():
|
|||
try:
|
||||
# Stop the service
|
||||
subprocess.run(
|
||||
["systemctl", "--user", "stop", "hermes-gateway"],
|
||||
["systemctl", "--user", "stop", svc_name],
|
||||
capture_output=True,
|
||||
check=False
|
||||
)
|
||||
|
||||
# Disable the service
|
||||
subprocess.run(
|
||||
["systemctl", "--user", "disable", "hermes-gateway"],
|
||||
["systemctl", "--user", "disable", svc_name],
|
||||
capture_output=True,
|
||||
check=False
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue