diff --git a/wireguard/service/clean.sls b/wireguard/service/clean.sls index 9e6290d..557fa69 100644 --- a/wireguard/service/clean.sls +++ b/wireguard/service/clean.sls @@ -16,15 +16,21 @@ wireguard-service-clean-service-dead-{{ interface }}: {%- endif %} {%- if grains['os_family'] == 'FreeBSD' %} -wireguard-service-clean-service-dead: - service.dead: +wireguard-service-clean-service-disabled: + service.disabled: - name: {{ wireguard.service.name }} - - sig: wireguard-go - - enable: False + +wireguard-service-clean-service-dead: + cmd.run: + - name: service {{ wireguard.service.name }} onestop + - onlyif: service {{ wireguard.service.name }} onestatus + - require: + - service: wireguard-service-clean-service-disabled wireguard-service-clean-sysrc-absent: sysrc.absent: - name: wireguard_interfaces - require: - - service: wireguard-service-clean-service-dead + - service: wireguard-service-clean-service-disabled + - cmd: wireguard-service-clean-service-dead {%- endif %} diff --git a/wireguard/service/running.sls b/wireguard/service/running.sls index 5551c8f..f9e8ba0 100644 --- a/wireguard/service/running.sls +++ b/wireguard/service/running.sls @@ -30,13 +30,25 @@ wireguard-service-running-sysrc-managed: - name: wireguard_interfaces - value: "{{ interfaces|join(' ') }}" -wireguard-service-running-service-running: - service.running: +wireguard-service-running-service-enabled: + service.enabled: - name: {{ wireguard.service.name }} - - sig: wireguard-go - - enable: True - watch: - sysrc: wireguard-service-running-sysrc-managed + +wireguard-service-running-service-running-trigger: + cmd.run: + - name: /bin/sh -c 'exit 0' + - unless: service {{ wireguard.service.name }} onestatus + +wireguard-service-running-service-running: + cmd.run: + # Close file descriptors so we don't end up with a process + - name: sh -c "service {{ wireguard.service.name }} onerestart 0<&- >/dev/null 2>&1" + - onchanges: + - sysrc: wireguard-service-running-sysrc-managed + - service: wireguard-service-running-service-enabled + - cmd: wireguard-service-running-service-running-trigger - sls: {{ sls_config_file }} {%- for interface in interfaces %} - file: wireguard-config-file-interface-{{ interface }}-config