mirror of
https://github.com/cwinfo/yggdrasil-go.git
synced 2024-11-09 17:30:26 +00:00
Systemd: move config generation to a separate unit
- Modular unit composition: different tasks in separate units - Use systemd tool set to run checks - Avoid using inline shell in unit
This commit is contained in:
parent
17a711ab8a
commit
7068160b20
13
contrib/systemd/yggdrasil-default-config.service
Normal file
13
contrib/systemd/yggdrasil-default-config.service
Normal file
@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=yggdrasil default config generator
|
||||
ConditionPathExists=|!/etc/yggdrasil.conf
|
||||
ConditionFileNotEmpty=|!/etc/yggdrasil.conf
|
||||
Wants=local-fs.target
|
||||
After=local-fs.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
Group=yggdrasil
|
||||
StandardOutput=file:/etc/yggdrasil.conf
|
||||
ExecStart=/usr/bin/yggdrasil -genconf
|
||||
ExecStartPost=/usr/bin/chmod 0640 /etc/yggdrasil.conf
|
@ -1,7 +1,9 @@
|
||||
[Unit]
|
||||
Description=yggdrasil
|
||||
Wants=network.target
|
||||
Wants=yggdrasil-default-config.service
|
||||
After=network.target
|
||||
After=yggdrasil-default-config.service
|
||||
|
||||
[Service]
|
||||
Group=yggdrasil
|
||||
@ -10,11 +12,6 @@ ProtectSystem=true
|
||||
SyslogIdentifier=yggdrasil
|
||||
CapabilityBoundSet=CAP_NET_ADMIN
|
||||
ExecStartPre=+-/sbin/modprobe tun
|
||||
ExecStartPre=/bin/sh -ec "if ! test -s /etc/yggdrasil.conf; \
|
||||
then umask 077; \
|
||||
yggdrasil -genconf > /etc/yggdrasil.conf; \
|
||||
echo 'WARNING: A new /etc/yggdrasil.conf file has been generated.'; \
|
||||
fi"
|
||||
ExecStart=/usr/bin/yggdrasil -useconffile /etc/yggdrasil.conf
|
||||
ExecReload=/bin/kill -HUP $MAINPID
|
||||
Restart=always
|
||||
|
Loading…
Reference in New Issue
Block a user