diff --git a/pillar.example b/pillar.example index 17ef6d5..bc7e856 100644 --- a/pillar.example +++ b/pillar.example @@ -1,4 +1,6 @@ sudoers: + # By default the main sudoers file is managed by this formula (False to skip) + manage_main_config: True users: johndoe: - 'ALL=(ALL) ALL' diff --git a/sudoers/included.sls b/sudoers/included.sls index ff121b8..d19ddd0 100644 --- a/sudoers/included.sls +++ b/sudoers/included.sls @@ -23,6 +23,8 @@ sudoers include {{ included_file }}: - context: included: True sudoers: {{ spec|json }} + {% if salt['pillar.get']('sudoers:manage_main_config', True) %} - require: - file: {{ sudoers.get('configpath', '/etc') }}/sudoers + {% endif %} {% endfor %} diff --git a/sudoers/init.sls b/sudoers/init.sls index bbecde9..0a964f0 100644 --- a/sudoers/init.sls +++ b/sudoers/init.sls @@ -4,6 +4,8 @@ sudo: pkg.installed: - name: {{ sudoers.pkg }} +{% if salt['pillar.get']('sudoers:manage_main_config', True) %} + {{ sudoers.get('configpath', '/etc') }}/sudoers: file.managed: - user: root @@ -16,3 +18,12 @@ sudo: included: False - require: - pkg: sudo + +{% else %} + +{{ sudoers.get('configpath', '/etc') }}/sudoers: + test.show_notification: + - name: Skipping management of main sudoers file + - text: Pillar manage_main_config is False + +{% endif %}