20tab / uwsgiit_console

web application that use uwsgi.it api
MIT License
7 stars 1 forks source link

Build Status

uwsgiit_console

A django app to simplify the use of uWSGI.it api with a few extras.

Real-time notification system for alarms!

You can take a look at the metrics of your containers, domains or all of the metrics of your domains and containers with the same tag!

alt tag

INSTALLATION

Installation

Use the following command:

    pip install uwsgiit-console

You should install this uwsgi plugin too if you want to get colored gifs for real-time alarms.

Configuration

Open settings.py and add select2 and console to your INSTALLED_APPS:

INSTALLED_APPS = {
    ...,
    'select2',
    'console',
    ...
}

Add 'console.template_context.context_processors.console_context' to TEMPLATE_CONTEXT_PROCESSORS:

TEMPLATE_CONTEXT_PROCESSORS = (
    ...,
    'console.template_context.context_processors.console_context',
    ...
)

In the end you can set a few variables:

CONSOLE_TITLE = 'Whatever You Want'  #Default 'uWSGI.it Console'
CONSOLE_SUBTITLE = 'Whatever You Want'  #Default ''
DEFAULT_API_URL = 'https://whatever.you.want/'  #Default 'https://api.uwsgi.it/api/'
urlpatterns = patterns('',
    ... ,
    (r'whatever/you/want', include('console.urls')),
    ...
)

Run collectstatic command or map static directory.

In order to make it work you have to add one UwsgiItApi instance in the database containing the url you put in DEFAULT_API_URL.

If you installed uwsgi-gif you have to add those lines to your vassals:

[uwsgi]
plugin = gif
route = ^/foo_(\d+)_(\d+)_(\d+)\.gif$ gif:width=80,height=80,red=$1,green=$2,blue=$3

TEST

To launch test you should install tox (pip install tox) and you need to add a few variable into console/tests/test_settings.py:

    TEST_USER = 'USER_EXAMPLE'
    TEST_PASSWORD = 'PASSWORD_EXAMPLE'
    TEST_CONTAINER = '12345'
    TEST_DOMAIN = '123'
    TEST_TAG = 'TAG_EXAMPLE'

Now you can launch the tests with::

    ./run_tests

Now, since this project relies on third party API... you have to be patience, normally it takes around 1 minute.