From 78b83237169540498425e5d2f445f7b9c1045d9a Mon Sep 17 00:00:00 2001 From: Niels Abspoel Date: Thu, 1 Jan 2015 23:14:56 +0100 Subject: [PATCH 1/2] updated pillar lookup with map.jinja --- sudoers/included.sls | 6 +++--- sudoers/init.sls | 8 ++++---- sudoers/{package-map.jinja => map.jinja} | 12 +++--------- 3 files changed, 10 insertions(+), 16 deletions(-) rename sudoers/{package-map.jinja => map.jinja} (58%) 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..030eabc 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.pkgs|json }} -{{ 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/package-map.jinja b/sudoers/map.jinja similarity index 58% rename from sudoers/package-map.jinja rename to sudoers/map.jinja index 0961d07..e1859da 100644 --- a/sudoers/package-map.jinja +++ b/sudoers/map.jinja @@ -1,4 +1,4 @@ -{% set package_table = { +{% set sudoers = salt['grains.filter_by'])({ 'Debian': {'sudo': 'sudo'}, 'Ubuntu': {'sudo': 'sudo'}, 'CentOS': {'sudo': 'sudo'}, @@ -9,11 +9,5 @@ '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 %} + 'group': 'wheel'}, +}, merge=salt['pillar.get']('sudoers:lookup')) %} From c2265a81f600fde73cab1ee17abf76f1ae567341 Mon Sep 17 00:00:00 2001 From: Niels Abspoel Date: Thu, 1 Jan 2015 23:19:47 +0100 Subject: [PATCH 2/2] Added archlinux support and improved lookup table --- sudoers/init.sls | 2 +- sudoers/map.jinja | 21 +++++++++++---------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/sudoers/init.sls b/sudoers/init.sls index 030eabc..922fdf7 100644 --- a/sudoers/init.sls +++ b/sudoers/init.sls @@ -2,7 +2,7 @@ sudo: pkg.installed: - - name: {{ sudoers.pkgs|json }} + - name: {{ sudoers.pkg }} {{ sudoers.get('config-path', '/etc') }}/sudoers: file.managed: diff --git a/sudoers/map.jinja b/sudoers/map.jinja index e1859da..e0052c3 100644 --- a/sudoers/map.jinja +++ b/sudoers/map.jinja @@ -1,13 +1,14 @@ -{% set sudoers = salt['grains.filter_by'])({ - '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', +{% 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')) %}