---
{%- from "nftables/map.jinja" import nftables with context %}
nftables-config-dir:
  file.directory:
    - name: {{ nftables.config_dir }}

nftables-blacklist-config:
  file.managed:
    - name: {{ nftables.config_dir }}/blacklist.nft
    - source: salt://nftables/templates/blacklist.nft.j2
    - template: jinja
    - watch_in:
      - service: nftables-service
    - require:
      - pkg: nftables-pkg
      - file: nftables-config-dir

nftables-rules-config:
  file.managed:
    - name: {{ nftables.config_dir }}/rules.nft
    - source: salt://nftables/templates/rules.nft.j2
    - template: jinja
    - watch_in:
      - service: nftables-service
    - require:
      - pkg: nftables-pkg
      - file: nftables-config-dir

nftables-main-config:
  file.managed:
    - name: /etc/nftables.conf
    - source: salt://nftables/templates/nftables.conf.j2
    - template: jinja
    - watch_in:
      - service: nftables-service
    - require:
      - file: nftables-rules-config
      - pkg: nftables-pkg