]> Frank Brehm's Git Trees - salt/states.git/commitdiff
Added state for /etc/resolv.conf
authorFrank Brehm <frank@brehm-online.com>
Tue, 8 Mar 2016 13:33:53 +0000 (14:33 +0100)
committerFrank Brehm <frank@brehm-online.com>
Tue, 8 Mar 2016 13:33:53 +0000 (14:33 +0100)
basic/files/dhcp-nodnsupdate [new file with mode: 0644]
basic/files/resolv.conf [new file with mode: 0644]
basic/pkgs.sls
basic/resolver.sls [new file with mode: 0644]
top.sls

diff --git a/basic/files/dhcp-nodnsupdate b/basic/files/dhcp-nodnsupdate
new file mode 100644 (file)
index 0000000..9f5c98d
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Don't overwrite /etc/resolv.conf
+make_resolv_conf() {
+    :
+}
diff --git a/basic/files/resolv.conf b/basic/files/resolv.conf
new file mode 100644 (file)
index 0000000..81d00b5
--- /dev/null
@@ -0,0 +1,9 @@
+{%- set domain = salt['pillar.get']('resolver:domain', 'uhu-banane.de') -%}
+{%- set search = salt['pillar.get']('resolver:search', ['uhu-banane.de', 'brehm-online.com']) -%}
+{%- set def_ns = salt['pillar.get']('resolver:default-nameserver', ['8.8.8.8', '8.8.4.4']) -%}
+{%- set nameservers = salt['pillar.get']('resolver:nameserver', def_ns) -%}
+domain         {{ domain }}
+search         {{ search|join(' ') }}
+{%- for ns in nameservers %}
+nameserver     {{ ns }}
+{%- endfor %}
index 0475bfbe6a6479898e6e327c8e597c7ba08e24da..e23446bcad1528c3fe3091ab13f7b4d42c50f38c 100644 (file)
@@ -1,6 +1,7 @@
 common-pkgs:
   pkg.installed:
     - pkgs:
+      - ack-grep
       - acl
       - apticron
       - aptitude
diff --git a/basic/resolver.sls b/basic/resolver.sls
new file mode 100644 (file)
index 0000000..d6bfc91
--- /dev/null
@@ -0,0 +1,38 @@
+
+symlinked-resolv-conf:
+  cmd.run:
+    - name: rm -f /etc/resolv.conf
+    - onlyif:
+      - test -L /etc/resolv.conf
+
+/etc/dhcp/dhclient-enter-hooks.d:
+  file.directory:
+    - user: root
+    - group: root
+    - dir_mode: 755
+    - file_mode: 644
+    - makedirs: True
+
+/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate:
+  file.managed:
+    - source: salt://basic/files/dhcp-nodnsupdate
+    - user: root
+    - group: root
+    - mode: 644
+    - template: jinja
+    - backup: minion
+    - require:
+      - file: /etc/dhcp/dhclient-enter-hooks.d
+
+
+/etc/resolv.conf:
+  file.managed:
+    - source: salt://basic/files/resolv.conf
+    - user: root
+    - group: root
+    - mode: 644
+    - template: jinja
+    - backup: minion
+    - require:
+      - cmd: symlinked-resolv-conf
+      - file: /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
diff --git a/top.sls b/top.sls
index 5dee2aeb750a7f0e0a925db55c1b1ba5eff8a23c..cc5080ef5bfca026c70b4cb340006372652ff04c 100644 (file)
--- a/top.sls
+++ b/top.sls
@@ -2,6 +2,7 @@ base:
   'ns\d+.uhu-banane.de':
     - match: pcre
     - debian.apt
+    - basic.resolver
     - basic.editors
     - basic.localization
     - debian.sysvinit