Version 2.0.0
Into the Future
Version 2.0.0 is a major rewrite of the old role code. The revamp allows us to better represent the data, as well as allows us to align with the ahuffman.scan_sudoers role. This allows for migration of running configurations to new systems, as well as quicker time to deployment by automatic generation of the sudoers_files variable off of an existing running configuration.
Changes
- Variables redesigned to be more declarative for each sudoers file
- Each file has a
pathkey which defines where the file gets deployed VS. creating include files off of an alias name
- Each file has a
- Unnecessary variables dropped
- Several variables were dropped since the new data structures are more flexible and declarative, many were no longer required, or made no sense in the new scheme
- All variables were slightly renamed to prevent users coming from versions 1.0.x to purposefully break in case they were deploying the role from Galaxy without a tag or version specified in their automation
- Allows users a chance to evaluate and adopt version 2.0.0+ in the future without breaking configurations
- Data structure of sudoers file specifications redesigned
- Jinja2 Templates were able to be reduced to a single file
- Each item in the
sudoers_filesvariable will define how this template is implemented - Allows for more freedom in what you want in each included file as well as the default
/etc/sudoersfile
- Each item in the
- Documentation rewritten and reformatted for all changes
- New playbook examples added
- Example of migration of a running sudoers configuration added
- How to build the required data format from existing running configuration added with ahuffman.scan_sudoers role
- Backup style changed to
fetchto Ansible Control Node VS. backup of files on remote file-systems (prevents accidental inclusion of old files in included directories)- This comes with a configurable
sudoers_backup_pathvariable to define the path where remote backups are pulled to prior to changes of the running configurations.
- This comes with a configurable
- Default
sudoers_filesdefinition aligned with a RHEL7.6 default/etc/sudoersconfiguration - Configurable
visudobinary path for validation of sudoers configurations. Default set to/usr/sbin/visudowhich should work for most Operating System flavors - Better representation of
sudoers_filesvia new data structure of the/etc/sudoersand related included files. - Ansible 2.8.x best-practices and syntax have been adopted