Co-authored-by: Jason Woltje <jason@diversecanvas.com> Co-committed-by: Jason Woltje <jason@diversecanvas.com>
23 lines
920 B
Desktop File
23 lines
920 B
Desktop File
[Unit]
|
|
Description=Mosaic tmux fleet agent %i
|
|
Documentation=https://git.mosaicstack.dev/mosaicstack/stack
|
|
Requires=mosaic-tmux-holder.service
|
|
After=mosaic-tmux-holder.service
|
|
PartOf=mosaic-tmux-holder.service
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
# No default MOSAIC_TMUX_SOCKET: an absent roster socket means the literal
|
|
# default tmux socket (no -L). The per-agent .env sets it when the roster names
|
|
# one; otherwise it stays unset and start-agent-session.sh uses the default socket.
|
|
Environment=MOSAIC_AGENT_NAME=%i
|
|
Environment=MOSAIC_AGENT_RUNTIME=pi
|
|
Environment=MOSAIC_AGENT_WORKDIR=%h
|
|
EnvironmentFile=-%h/.config/mosaic/fleet/agents/%i.env
|
|
ExecStart=/bin/bash %h/.config/mosaic/tools/fleet/start-agent-session.sh %i
|
|
ExecStop=-/bin/bash -lc 'if [ -n "${MOSAIC_TMUX_SOCKET:-}" ]; then tmux -L "$MOSAIC_TMUX_SOCKET" kill-session -t "=%i"; else tmux kill-session -t "=%i"; fi'
|
|
|
|
[Install]
|
|
WantedBy=default.target
|