Portail d’administration
Go to file
Frédéric Péters b3367de2b9 doc: add a README file with basic installation and configuration info (#5845) 2014-11-14 15:50:52 +01:00
hobo agent: do not check wcs timestamps, this is done by the agent (#5940) 2014-11-14 15:50:52 +01:00
.gitignore ignore compiled po file 2014-03-24 20:08:38 +01:00
COPYING initial commit with copying 2014-03-24 18:41:39 +01:00
MANIFEST.in setup and manifest added 2014-04-27 18:30:41 +02:00
README doc: add a README file with basic installation and configuration info (#5845) 2014-11-14 15:50:52 +01:00
config_example.py settings: use new method to manage settings 2014-10-23 10:23:59 +02:00
manage.py settings: use new method to manage settings 2014-10-23 10:23:59 +02:00
requirements.txt Rename allauth_a2 to allauth_authentic2 (fixes #5380) 2014-09-08 11:47:29 +02:00
setup.py setup.py: rename project to hobo 2014-07-07 17:19:18 +02:00

README

Hobo
====

Administration portal to configure and deploy applications.

Installation
------------

Dependencies can be installed with pip,

 $ pip install -r requirements.txt

It's then required to get the database configured (./manage.py syncdb); by
default it will create a db.sqlite3 file.

Hobo can then be run like typical django applications (./manage.py runserver),
it will communicate to deployment agents using Celery and expects a running 
RabbitMQ server running on localhost.

The agent in charge of deploying application can then be run on the application
servers, for example: (--broker=... can be omitted if running on same host).

  celery --broker=amqp://guest@localhost// -A hobo.agent worker -l info

Just like the django application itself, the celery process will use settings
from the file declared in the DJANGO_CONFIG_FILE environment variable.


Configuration
-------------

It's possible to limit agents to particular applications, or particular
hostnames, using the AGENT_HOST_PATTERNS configuration variable.

The format is a dictionary with applications as keys and a list of hostnames as
value. The hostnames can be prefixed by an exclamation mark to exclude them.

  AGENT_HOST_PATTERNS = {
     'wcs': ['*.example.net', '!  *.dev.example.net'],
  }

Will limit wcs deployments to *.example.net hostnames, while excluding
*.dev.example.net.

Some applications may support deployments templates, they can be specified in
the configuration with the SERVICE_TEMPLATES variable.

  SERVICE_TEMPLATES = {
        'wcs': [('export-auquo-light.wcs', u'Au quotidien light'),
                ('export-auquo.wcs', u'Au quotidien'),
                ('export-demo.wcs', u'Démo au quotidien')
                ],
  }


Usage
-----

Go to environment settings, pick a service, fill its name and URL, and watch it
being deployed.  Successfully deployed services will add a link to their
administration pages on the homepage.


Agents
------

 - w.c.s.

w.c.s. instances will be deployed using "/usr/sbin/wcsctl check-hobos" by
default, this command can be adapted in the AGENT_WCS_COMMAND setting. It
should be run with the same rights as the wcs process (redefine the command
to use sudo if necessary).

Template keys defined in SERVICE_TEMPLATES have to map wcs skeleton sites
(created from settings / export) stored in /var/lib/wcs/skeletons (the exact
directory may vary according to the wcs configuration).