From 9aefce55a7cada454b98f52860cc7a4af32314e6 Mon Sep 17 00:00:00 2001 From: hogenj Date: Wed, 4 Mar 2015 16:50:43 -0500 Subject: [PATCH] Moving logic and defaults to map.jinja --- sudoers/init.sls | 2 +- sudoers/map.jinja | 34 ++++++++++++++------ sudoers/templates/etc/sudoers.jinja | 49 +++++++---------------------- 3 files changed, 36 insertions(+), 49 deletions(-) diff --git a/sudoers/init.sls b/sudoers/init.sls index 88a8e07..049e40e 100644 --- a/sudoers/init.sls +++ b/sudoers/init.sls @@ -10,7 +10,7 @@ sudo: - group: {{ sudoers.get('lookup:group', 'root') }} - mode: 440 - template: jinja - - source: salt://sudoers/templates/etc/sudoers + - source: salt://sudoers/templates/etc/sudoers.jinja - context: included: False - require: diff --git a/sudoers/map.jinja b/sudoers/map.jinja index 8ea5f95..d872f9f 100644 --- a/sudoers/map.jinja +++ b/sudoers/map.jinja @@ -1,16 +1,30 @@ {% set sudoers = salt['grains.filter_by']({ - - 'Debian': { 'lookup': {'pkg': 'sudo'}}, - 'Ubuntu': { 'lookup': {'pkg': 'sudo'}}, - 'CentOS': { 'lookup':{'pkg': 'sudo'}}, - 'Fedora': { 'lookup':{'pkg': 'sudo'}}, - 'RedHat': { 'lookup':{'pkg': 'sudo'}}, - 'Amazon': { 'lookup':{'pkg': 'sudo'}}, + 'defaults': { + 'lookup': { + 'pkg': 'sudo', + }, + 'included': False, + 'includedir': None, + }, + 'Debian': { + 'lookup': { + 'pkg': 'sudo', + }, + 'defaults': { + 'generic': [ + 'env_reset', + 'mail_badpass', + 'secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"', + ], + }, + 'users': {'root': ['ALL=(ALL:ALL) ALL']}, + 'groups': {'sudo': ['ALL=(ALL:ALL) ALL']}, + 'includedir': None, + }, 'Gentoo': { 'lookup':{'pkg': 'app-admin/sudo'}}, - 'Mint': { 'lookup':{'pkg': 'sudo'}}, - 'Arch': { 'lookup':{'pkg': 'sudo'}}, 'FreeBSD': { 'lookup':{'pkg': 'sudo', 'config-path': '/usr/local/etc', 'group': 'wheel'}, }, -}, merge=salt['pillar.get']('sudoers')) %} +}, grain='os_family', merge=salt['pillar.get']('sudoers'), default='defaults') %} + diff --git a/sudoers/templates/etc/sudoers.jinja b/sudoers/templates/etc/sudoers.jinja index affc316..25c6e8c 100644 --- a/sudoers/templates/etc/sudoers.jinja +++ b/sudoers/templates/etc/sudoers.jinja @@ -1,45 +1,18 @@ -{%- if (not included) %} - {%- set sudoers = pillar.get('sudoers', {}) %} - {%- if grains['os_family'] == 'Debian' %} - {%- set defaults = sudoers.get('defaults', {'generic': [ - 'env_reset', - 'mail_badpass', - 'secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"' - ]}) %} - {%- set generic_defaults = defaults.get('generic', []) %} - {%- set user_list_defaults = defaults.get('user_list', {}) %} - {%- set host_list_defaults = defaults.get('host_list', {}) %} - {%- set command_list_defaults = defaults.get('command_list', {}) %} - {%- set runas_list_defaults = defaults.get('runas_list', {}) %} - {%- set users = sudoers.get('users', {'root': ['ALL=(ALL:ALL) ALL']}) %} - {%- set groups = sudoers.get('groups', {'sudo': ['ALL=(ALL:ALL) ALL']}) %} - {%- else %} - {%- set defaults = sudoers.get('defaults', {}) %} - {%- set generic_defaults = defaults.get('generic', []) %} - {%- set user_list_defaults = defaults.get('user_list', {}) %} - {%- set host_list_defaults = defaults.get('host_list', {}) %} - {%- set command_list_defaults = defaults.get('command_list', {}) %} - {%- set runas_list_defaults = defaults.get('runas_list', {}) %} - {%- set users = sudoers.get('users', {}) %} - {%- set groups = sudoers.get('groups', {}) %} - {%- endif %} - {%- set includedir = sudoers.get('includedir', '/etc/sudoers.d') -%} -{%- else %} - {%- set defaults = sudoers.get('defaults', {}) %} - {%- set generic_defaults = defaults.get('generic', []) %} - {%- set user_list_defaults = defaults.get('user_list', {}) %} - {%- set host_list_defaults = defaults.get('host_list', {}) %} - {%- set command_list_defaults = defaults.get('command_list', {}) %} - {%- set runas_list_defaults = defaults.get('runas_list', {}) %} - {%- set users = sudoers.get('users', {}) %} - {%- set groups = sudoers.get('groups', {}) %} - {%- set includedir = sudoers.get('includedir', None) %} -{%- endif %} +{%- from "sudoers/map.jinja" import sudoers with context %} +{%- set defaults = sudoers.get('defaults', {}) %} +{%- set generic_defaults = defaults.get('generic', []) %} +{%- set user_list_defaults = defaults.get('user_list', {}) %} +{%- set host_list_defaults = defaults.get('host_list', {}) %} +{%- set command_list_defaults = defaults.get('command_list', {}) %} +{%- set runas_list_defaults = defaults.get('runas_list', {}) %} +{%- set users = sudoers.get('users', {}) %} +{%- set groups = sudoers.get('groups', {}) %} {%- set aliases = sudoers.get('aliases', {}) %} {%- set host_aliases = aliases.get('hosts', {}) %} {%- set user_aliases = aliases.get('users', {}) %} {%- set command_aliases = aliases.get('commands', {}) %} -{%- set runas_aliases = aliases.get('runas', {}) -%} +{%- set runas_aliases = aliases.get('runas', {}) %} +{%- set includedir = sudoers.get('includedir', None) -%} # # This file is managed by salt #