77 lines
2.4 KiB
Plaintext
77 lines
2.4 KiB
Plaintext
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).
|