diff --git a/sudoers/included.sls b/sudoers/included.sls index b19d1fb..5cd010b 100644 --- a/sudoers/included.sls +++ b/sudoers/included.sls @@ -1,4 +1,4 @@ -{% from "sudoers/package-map.jinja" import pkgs with context %} +{% from "sudoers/map.jinja" import sudoers with context %} include: - sudoers @@ -9,7 +9,7 @@ include: {{ included_file }}: file.managed: - user: root - - group: {{ pkgs.get('group', 'root') }} + - group: {{ sudoers.get('group', 'root') }} - mode: 440 - template: jinja - source: salt://sudoers/files/sudoers @@ -17,5 +17,5 @@ include: included: True sudoers: {{ spec }} - require: - - file: {{ pkgs.get('config-path', '/etc') }}/sudoers + - file: {{ sudoers.get('config-path', '/etc') }}/sudoers {% endfor %} diff --git a/sudoers/init.sls b/sudoers/init.sls index af5af86..922fdf7 100644 --- a/sudoers/init.sls +++ b/sudoers/init.sls @@ -1,13 +1,13 @@ -{% from "sudoers/package-map.jinja" import pkgs with context %} +{% from "sudoers/map.jinja" import sudoers with context %} sudo: pkg.installed: - - name: {{ pkgs.sudo }} + - name: {{ sudoers.pkg }} -{{ pkgs.get('config-path', '/etc') }}/sudoers: +{{ sudoers.get('config-path', '/etc') }}/sudoers: file.managed: - user: root - - group: {{ pkgs.get('group', 'root') }} + - group: {{ sudoers.get('group', 'root') }} - mode: 440 - template: jinja - source: salt://sudoers/files/sudoers diff --git a/sudoers/map.jinja b/sudoers/map.jinja new file mode 100644 index 0000000..e0052c3 --- /dev/null +++ b/sudoers/map.jinja @@ -0,0 +1,14 @@ +{% set sudoers = salt['grains.filter_by']({ + 'Debian': {'pkg': 'sudo'}, + 'Ubuntu': {'pkg': 'sudo'}, + 'CentOS': {'pkg': 'sudo'}, + 'Fedora': {'pkg': 'sudo'}, + 'RedHat': {'pkg': 'sudo'}, + 'Amazon': {'pkg': 'sudo'}, + 'Gentoo': {'pkg': 'app-admin/sudo'}, + 'Mint': {'pkg': 'sudo'}, + 'Arch': {'pkg': 'sudo'}, + 'FreeBSD': {'pkg': 'sudo', + 'config-path': '/usr/local/etc', + 'group': 'wheel'}, +}, merge=salt['pillar.get']('sudoers:lookup')) %} diff --git a/sudoers/package-map.jinja b/sudoers/package-map.jinja deleted file mode 100644 index 0961d07..0000000 --- a/sudoers/package-map.jinja +++ /dev/null @@ -1,19 +0,0 @@ -{% set package_table = { - 'Debian': {'sudo': 'sudo'}, - 'Ubuntu': {'sudo': 'sudo'}, - 'CentOS': {'sudo': 'sudo'}, - 'Fedora': {'sudo': 'sudo'}, - 'RedHat': {'sudo': 'sudo'}, - 'Amazon': {'sudo': 'sudo'}, - 'Gentoo': {'sudo': 'app-admin/sudo'}, - 'Mint': {'sudo': 'sudo'}, - 'FreeBSD': {'sudo': 'sudo', - 'config-path': '/usr/local/etc', - 'group': 'wheel'} -} %} - -{% if 'package_table' in pillar %} - {% set pkgs = pillar['package_table'] %} -{% elif grains['os'] in package_table %} - {% set pkgs = package_table[grains['os']] %} -{% endif %}