File and folder structure

A role in Provisioner is simply an Ansible playbook, along with some documentation.

Most modules would have a structure similar to this:

├── doc
│   └── roles
│       └── foobar.md
└── provision_profiles
    ├── roles
    │   ├── foobar
    │   │   ├── files
    │   │   │   └── some-file.sh
    │   │   └── tasks
    │   │       └── main.yml
    ├── foobar.yml
    └── foobar_install_notes.tpl

The file/folders inside role, as well as foobar.yml should be self explanatory for anyone familiar with Ansible.

Beyond these files, we have two Provisioner specific files:

  • doc/roles/foobar.md: This file includes generic instruction and a description of the role.
  • provision_proviles/foobar_install_notes.tpl: This is the post-installation notes that will be parsed and returned by the API. These is a template that can include parameters, such as credentials. This file must be named the same as the role, but with _install_notes.tpl appended to it.