Repository overview

Once set-up, it is extremely easy to work on full a development environment, using a virtual machine, a cloud server or a physical system.

Folders list

Folder Description included in git
backup Folder containing dynamic data that can be reused on a re-deployment 🚫
common Common files not related to any role βœ“
config Common configuration files Sample files only
devel Resources for developers βœ“
docs This repository main documentation βœ“
git-hooks Git hooks to install prior any deployment βœ“
LICENSE Lincence file (GPLv3) βœ“
logs log files generated by ansible-lint 🚫
mkdocs.yml mkdocs index βœ“
playbooks List of the main playbooks βœ“
README.md Main readme displayed on GitHub βœ“
roles List of the ansible roles βœ“
sandbox Folder excluded from the repository for playing 🚫
scripts Convenience scripts βœ“

Playbooks list

Playbook Description
install-version.yml Main playbook to install a full version using the roles defined in config/defaults.
check-version.yml Run all the tests using the roles defined for the specific version installed.
make-live.yml Publish the DNS glue records (Using Gandi API), making the system reachable on internet.
install.yml Playbook to install one or more roles individually.
backup.yml Playbook to backup / retrieve the data generated one or more roles on the local system.
check.yml Playbook to check the installation status for one or more roles individually.
restore.yml Playbook to restore previously backup data from one or more roles individually.
uninstall.yml Playbook to uninstall one or more roles individually.

Roles hierarchy

The standard roles are using, partially or fully, the following folders hierarchy:

Folder Description
files non-templated files to be copied on the server
templates templated files to be copied on the server
defaults default variables that can be overridden
doc developer specific advanced documentation, if required
handlers Ansible handlers
tasks Parent task folder
tasks/base Tasks that can be included by other tasks, e.g. facts
tasks/backup Tasks to be executed when backing-up role specific data
tasks/check Tasks to be run when checking the role has been installed
tasks/install Tasks to run on the installation
tasks/restore Tasks to be executed when restoring role specific data
tasks/uninstall Tasks to run when removing a role from the server
vars Constant variables specific to the role

You will see later how to create a simple role, and how to use the playbooks to install, check, backup, restore and uninstall, a selection of roles.