MEschenbacher's Wireguard Saltstack Formula
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

24 lines
624B

  1. {%- for interface in salt['pillar.get']('wireguard', {}).keys() %}
  2. {% if salt['pillar.get']('wireguard:' ~ interface ~ ':enable', True) %}
  3. wireguard_interface_{{interface}}:
  4. file.managed:
  5. - name: /etc/wireguard/{{interface}}.conf
  6. - contents_pillar: wireguard:{{interface}}:config
  7. - mode: 640
  8. restart wg-quick@{{interface}}:
  9. service.running:
  10. - name: wg-quick@{{interface}}
  11. - enable: True
  12. - watch:
  13. - file: wireguard_interface_{{interface}}
  14. {% else %}
  15. stop and disable wg-quick@{{interface}}:
  16. service.dead:
  17. - name: wg-quick@{{interface}}
  18. - enable: False
  19. {% endif %}
  20. {%- endfor %}