Contributor’s Guidelines

  • All YAML files named with ‘.yml’ extension

  • Use spaces around jinja variables. {{ var }} over {{var}}

  • Variables that are internal to the role should be lowercase

  • Keep roles self contained - Roles should avoid including tasks from other roles when possible

  • Plays should do nothing more than include a list of roles except where pre_tasks and post_tasks are required when possible

  • Separators - Use underscores (e.g. my_role my_playbook) not dashes (my-role)

  • Paths - When defining paths, do not include trailing slashes (e.g. my_path: /foo not my_path: /foo/). When concatenating paths, follow the same convention (e.g. {{ my_path }}/bar not {{ my_path }}bar)

  • Indentation - Use 2 spaces for each indent

  • vars/ vs defaults/ - if you have variables that don’t need to change or be overridden by user, put those in vars/ and those that a user would likely override, put those under defaults/ directory.

  • All playbooks/roles should be focused on compatibility with Ansible Tower