Ansible Rookeries ================= An Ansible role that acts as a companion to the Rookeries project. The goal of this role is to make deployment of Rookeries simple. Ideally Rookeries even as a Python WSGI app with this role, should be easier to setup than Wordpress. This role is a work-in-progress as Rookeries itself is heavily under development. Requirements ------------ - aptitude or python-apt (required by apt tasks) - python > 2.5 (required by ini_file tasks) - Ansible >= 1.8.0 This role is designed to work against a modern Ubuntu system. (Tested on Ubuntu 13.10 and 14.04) It should theoretically work on older versions of Ubuntu or Debian based systems. Example Playbook ---------------- The simplest way to include the role in your playbook is to base it off the below configuration. The crucial part is to configure the rookeries_app_config and the app_nginx_hostname (inherited from the nginx-uwsgi-supervisor role). - hosts: servers sudo: yes vars: my_rookeries_app_config: rookeries_environment_name: ... ... roles: - role: ansible-rookeries rookeries_app_config: "{{ vagrant_rookeries_app_config }}" rookeries_db: "{{ rookeries_db_setup }}" rookeries_environ_type: prod rookeries_package_path: "{{ rookeries_package }}" rookeries_app_hostname: rookeries.org *TODO: Add in section for description of symlink enabled deployments.* Role Variables -------------- *TODO: A description of newer role variables for version number and app name* - rookeries_db: - This configures database soecific inforaation - keys: - db_name: - The name of the database to store info in. - username: - The database username for the above specified database. - password: - The database username for the above specified database. - setup_db: - Flag whether or not to setup the MySQL database directly on the host. - Default: true - host: - Flag whether or not to setup the MySQL database directly on the host. - Default: localhost - port: - The port of which MySQL database directly on the host. - Default: 3306 - rookeries_app_name: - Configures the unique name of the rookeries app. - Default: rookeries - rookeries_app_hostname: - Configures the hostname of site (https://my.rookeries_site.net) serving the rookeries app. - Default: localhost - rookeries_environ_type: - The mode of the setup. Setting to "dev" enables the use of a SMTP fake server to help with development. - Default: dev - rookeries_app_config: - Application specific configuration for running rookeries This role depends on the nginx_uwsgi_supervisor role, and hence reuses the variables provided by that role. See the [Ansible Galaxy role page] (https://galaxy.ansible.com/list#/roles/2637) for details. Dependencies ------------ - nginx_uwsgi_supervisor - Setup common NGINX, UWSGI and Supervisor infrastructure. - Repository: https://bitbucket.org/dorianpula/ansible-nginx-uwsgi-supervisor - Ansible Galaxy: https://galaxy.ansible.com/list#/roles/2637 License ------- AGPL v3 Author Information ------------------ Dorian Pula - twitter: @dorianpula - email: dorian.pula at amber-penguin.software.ca - www: http://amber-penguin-software.ca This role is a spin-off of the technology developed for the [Rookeries project] (http://rookeries.org/) Repositories ------------ - Main: https://bitbucket.org/dorianpula/ansible-rookeries