ci/woodpecker/pr/ci Pipeline was successful
Self-inflicted and worth recording rather than quietly amending. To prove the new tests were red without the fix I ran `git checkout origin/next -- <fleet.ts> <[email protected]>`. That writes the *index*, not just the working tree. Copying my versions back afterwards restored the working tree only, so the unit file sat staged-as-origin/next and modified-in-tree, and the next commit (67f5014c) committed the index — silently removing the ConditionPathExists line that463745e3had added. Nothing caught it. The spec reads the file from the working tree, so it stayed 10/10 green against a HEAD that no longer had the guard. Found by reading `git status` after the push, not by any gate. Verified by content, not by assumption: origin/next 0 occurrences463745e3167f5014c0 <- the regression this commit 1 Refs #1237
28 lines
1.5 KiB
Desktop File
28 lines
1.5 KiB
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
|
|
# Do not attempt a seat before its generated env exists. `install` enables this
|
|
# unit (WantedBy=default.target) but on a roster-v2 fleet the reconciler owns the
|
|
# generated env, so between `install` and the first `apply`/`regen --write` there
|
|
# is a boot window where ExecStart would run against an absent env file and the
|
|
# launcher would fail the unit. A skipped unit is the honest state for "enabled
|
|
# but not yet configured"; systemd re-evaluates the condition on every start, so
|
|
# the seat comes up on the next start once the reconciler has written env.
|
|
ConditionPathExists=%h/.config/mosaic/fleet/agents/%i.env.generated
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
# Remove loader and noninteractive-shell controls before ExecStart loads env.
|
|
UnsetEnvironment=LD_PRELOAD BASH_ENV ENV
|
|
RemainAfterExit=yes
|
|
# Never preload the projection. The launcher starts from a fixed minimal
|
|
# environment and strictly validates generated/local data before tmux effects.
|
|
ExecStart=/usr/bin/env -i HOME=%h MOSAIC_AGENT_NAME=%i PATH=/usr/bin:/bin /bin/bash --noprofile --norc %h/.config/mosaic/tools/fleet/start-agent-session.sh %i
|
|
ExecStop=-/usr/bin/env -i HOME=%h MOSAIC_AGENT_NAME=%i PATH=/usr/bin:/bin /bin/bash --noprofile --norc %h/.config/mosaic/tools/fleet/start-agent-session.sh --stop %i
|
|
|
|
[Install]
|
|
WantedBy=default.target
|