diff options
author | Indrajit Raychaudhuri <irc@indrajit.com> | 2023-06-04 02:27:00 -0500 |
---|---|---|
committer | Indrajit Raychaudhuri <irc@indrajit.com> | 2023-06-04 03:59:49 -0500 |
commit | c14825f55d286d54ca3c04703ecbded1cb4c2cca (patch) | |
tree | 66a4da93ed5779a32c1f9a0410849c2626ced799 | |
parent | b98f38a604954b87c1505bdb6c500a7d6fab983f (diff) | |
download | vyos-1x-c14825f55d286d54ca3c04703ecbded1cb4c2cca.tar.gz vyos-1x-c14825f55d286d54ca3c04703ecbded1cb4c2cca.zip |
dns: T5144: Streamline ddclient systemd service override
Templatize systemd override for ddclient service and move the generated
override files in /run. This ensures that the override files are always
generated afresh after boot.
Additionally, simplify the systemd override file by removing the
redundant/superfluous overrides.
-rw-r--r-- | data/templates/dns-dynamic/override.conf.j2 | 11 | ||||
-rwxr-xr-x | src/conf_mode/dns_dynamic.py | 2 | ||||
-rw-r--r-- | src/etc/systemd/system/ddclient.service.d/override.conf | 11 |
3 files changed, 13 insertions, 11 deletions
diff --git a/data/templates/dns-dynamic/override.conf.j2 b/data/templates/dns-dynamic/override.conf.j2 new file mode 100644 index 000000000..8a9dfcd70 --- /dev/null +++ b/data/templates/dns-dynamic/override.conf.j2 @@ -0,0 +1,11 @@ +{% set vrf_command = 'ip vrf exec ' ~ vrf ~ ' ' if vrf is vyos_defined else '' %} +[Unit] +ConditionPathExists={{ config_file }} +After=vyos-router.service + +[Service] +PIDFile= +PIDFile={{ config_file | replace('.conf', '.pid') }} +EnvironmentFile= +ExecStart= +ExecStart=/usr/bin/ddclient -file {{ config_file }} diff --git a/src/conf_mode/dns_dynamic.py b/src/conf_mode/dns_dynamic.py index d1ac2a08f..f97225370 100755 --- a/src/conf_mode/dns_dynamic.py +++ b/src/conf_mode/dns_dynamic.py @@ -28,6 +28,7 @@ from vyos import airbag airbag.enable() config_file = r'/run/ddclient/ddclient.conf' +systemd_override = r'/run/systemd/system/ddclient.service.d/override.conf' # Protocols that require zone zone_allowed = ['cloudflare', 'godaddy', 'hetzner', 'gandi', 'nfsn'] @@ -109,6 +110,7 @@ def generate(dyndns): return None render(config_file, 'dns-dynamic/ddclient.conf.j2', dyndns) + render(systemd_override, 'dns-dynamic/override.conf.j2', dyndns) return None def apply(dyndns): diff --git a/src/etc/systemd/system/ddclient.service.d/override.conf b/src/etc/systemd/system/ddclient.service.d/override.conf deleted file mode 100644 index 09d929d39..000000000 --- a/src/etc/systemd/system/ddclient.service.d/override.conf +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -After= -After=vyos-router.service - -[Service] -WorkingDirectory= -WorkingDirectory=/run/ddclient -PIDFile= -PIDFile=/run/ddclient/ddclient.pid -ExecStart= -ExecStart=/usr/bin/ddclient -cache /run/ddclient/ddclient.cache -pid /run/ddclient/ddclient.pid -file /run/ddclient/ddclient.conf |