Commit 40cb72f
fix(tailscale): add Upholds= drop-in for reliable boot-time activation
The WantedBy=multi-user.target + preset approach doesn't reliably work
for sysext-provided services. At PID 1 startup the sysext hasn't been
merged yet, so the /etc/systemd/system/multi-user.target.wants/ symlink
points to a missing unit file. systemd silently drops the dangling
Wants= reference and never retriggers it after the daemon-reload that
reload-sysext.service performs.
Add usr/lib/systemd/system/multi-user.target.d/10-tailscale.conf to the
sysext with Upholds=tailscaled.service. This drop-in is brand-new to
systemd after the post-merge daemon-reload, so it is processed cleanly
when multi-user.target activates — ensuring tailscaled starts on every
boot without modification to the base image.
Ref: https://www.flatcar.org/docs/latest/provisioning/sysext/
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>1 parent 5a8da4f commit 40cb72f
2 files changed
Lines changed: 8 additions & 0 deletions
File tree
- docs/plans
- mkosi.images/tailscale/mkosi.extra/usr/lib/systemd/system/multi-user.target.d
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
| 21 | + | |
21 | 22 | | |
22 | 23 | | |
23 | 24 | | |
| |||
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
33 | 38 | | |
34 | 39 | | |
35 | 40 | | |
| |||
58 | 63 | | |
59 | 64 | | |
60 | 65 | | |
| 66 | + | |
61 | 67 | | |
62 | 68 | | |
63 | 69 | | |
| |||
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
0 commit comments