shaker/pihole/install.sls

140 lines
2.8 KiB
YAML

# vim: set syntax=yaml ts=2 sw=2 sts=2 et :
#
{% if grains['nodename'] != 'dom0' %}
{% for repo in salt['file.find']('/etc/apt/sources.list.d/', name='*list') %}
{{ repo }}_baseurl:
file.replace:
- name: {{ repo }}
- pattern: 'https://'
- repl: 'http://HTTPS///'
- flags: [ 'IGNORECASE', 'MULTILINE' ]
- backup: False
{% endfor %}
/etc/apt/sources.list:
file.replace:
- names:
- /etc/apt/sources.list
- pattern: 'http://HTTPS///'
- repl: 'https://'
- flags: [ 'IGNORECASE', 'MULTILINE' ]
{% set IP = salt['cmd.shell']('qubesdb-read /qubes-ip') %}
{% set GW = salt['cmd.shell']('qubesdb-read /qubes-gateway') %}
/etc/network/interfaces.d/enX0:
file.managed:
- source:
- salt://pihole/enX0
- user: root
- group: root
- makedirs: True
set_ip:
file.line:
- name: /etc/network/interfaces.d/enX0
- match: address
- mode: replace
- content: "address {{IP}}"
set_gw:
file.line:
- name: /etc/network/interfaces.d/enX0
- match: gateway
- mode: replace
- content: "gateway {{GW}}"
'systemctl restart networking':
cmd.run:
- runas: root
Pihole_update:
pkg.uptodate:
- refresh: True
Pihole_installed:
pkg.installed:
- pkgs:
- qubes-core-agent-networking
- qubes-core-agent-passwordless-root
- qubes-core-agent-dom0-updates
- curl
- dnsutils
- firefox-esr
- git
- idn2
- lighttpd
- netcat-openbsd
- php-cgi
- php-common
- php-intl
- php-json
- php-sqlite3
- php-xml
- unzip
https://github.com/pi-hole/pi-hole.git:
git.latest:
- name: https://github.com/pi-hole/pi-hole.git
- user: root
- target: /root/pi-hole
/etc/pihole/setupVars.conf:
file.managed:
- source:
- salt://pihole/setupVars.conf
- user: root
- group: root
- makedirs: True
Pihole-setup:
cmd.run:
- name: '/root/pi-hole/automated\ install/basic-install.sh --unattended'
/rw/config/qubes-firewall.d/update_nft.sh:
file.managed:
- source:
- salt://pihole/update_nft.sh
- user: root
- group: root
- makedirs: True
- mode: 755
/rw/config/qubes-firewall.d/update_nft.nft:
file.managed:
- source:
- salt://pihole/update_nft.nft
- user: root
- group: root
- makedirs: True
- mode: 755
/rw/config/network-hooks.d/internalise.sh:
file.managed:
- source:
- salt://pihole/internalise.sh
- user: root
- group: root
- makedirs: True
- mode: 755
/rw/config/network-hooks.d/update_nft.sh:
file.managed:
- source:
- salt://pihole/update_nft.sh
- user: root
- group: root
- makedirs: True
- mode: 755
/etc/dnsmasq.conf:
file.prepend:
- text:
- interface=lo
- bind-interfaces
{% endif %}