Ansible role for setting up a Rookeries instance.
Go to file
Dorian 52efed7d59 Add support for CouchDB installation and setup. 2015-08-22 13:49:25 -04:00
defaults Add support for CouchDB installation and setup. 2015-08-22 13:49:25 -04:00
handlers Initial migration to setup ansible role from provisioning steps from Rookeries. 2015-02-27 08:56:41 -05:00
meta Fix virtualenv symlink for symlink deployment setup in role. 2015-07-21 07:37:18 -04:00
tasks Add support for CouchDB installation and setup. 2015-08-22 13:49:25 -04:00
templates/dev_supervisor Add role variables to meta content itself for more flexibility. 2015-03-09 16:02:32 -04:00
vars Add new symlink based deployment setup for Rookeries. 2015-07-17 08:23:27 -04:00
.gitignore Add a gitignore to ignore known metadata files. 2015-07-05 13:51:19 -04:00
README.md Add support for CouchDB installation and setup. 2015-08-22 13:49:25 -04:00

README.md

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.
      • host:
        • The hostname of the CouchDB database server.
        • Default: localhost
      • port:
        • The port of the CouchDB database server.
        • Default: 5984
  • rookeries_app_name:
    • Configures the unique name of the rookeries app.
    • Default: rookeries
  • rookeries_app_hostname:
  • 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

License

AGPL v3

Author Information

Dorian Pula

This role is a spin-off of the technology developed for the [Rookeries project] (http://rookeries.org/)

Repositories