[Unit] Description=Mosaic lease broker daemon (framework tools/lease-broker/daemon.py) Documentation=https://git.mosaicstack.dev/mosaicstack/stack After=default.target [Service] Type=simple # The broker socket lives under the runtime directory so it disappears with # the user session instead of surviving as stale state across logins. # daemon.py's secure_parent() fails closed unless this directory is exactly # 0700, so RuntimeDirectoryMode is not cosmetic. RuntimeDirectory=mosaic-lease RuntimeDirectoryMode=0700 # Remove loader and noninteractive-shell controls before ExecStart loads env, # matching the tmux fleet units in this same directory. UnsetEnvironment=LD_PRELOAD BASH_ENV ENV ExecStart=/usr/bin/env -i HOME=%h PATH=/usr/bin:/bin XDG_RUNTIME_DIR=%t /bin/bash --noprofile --norc %h/.config/mosaic/tools/lease-broker/start-lease-broker.sh Restart=on-failure RestartSec=1 [Install] WantedBy=default.target