Statistics
| Branch: | Tag: | Revision:

root / snf-common / docs / index.rst @ 07602322

History | View | Annotate | Download (2.2 kB)

1 e609b1ba Vangelis Koukis
.. _snf-common:
2 e609b1ba Vangelis Koukis
3 e609b1ba Vangelis Koukis
Component snf-common
4 e609b1ba Vangelis Koukis
--------------------
5 e609b1ba Vangelis Koukis
6 e609b1ba Vangelis Koukis
synnefo component :ref:`snf-common <snf-common>` defines a mechanism for
7 e609b1ba Vangelis Koukis
handling configuration settings, shared among all synnefo components. It also
8 e609b1ba Vangelis Koukis
defines default values for a number of common settings.
9 e609b1ba Vangelis Koukis
10 e609b1ba Vangelis Koukis
The final values of synnefo settings result from applying custom admin-defined
11 e609b1ba Vangelis Koukis
modifications to the default values specified by the various components.
12 e609b1ba Vangelis Koukis
:ref:`snf-common <snf-common>` provides a mechanism for discovering default
13 e609b1ba Vangelis Koukis
settings, which it then amends with user-provided configuration to provide the
14 e609b1ba Vangelis Koukis
final ``settings`` object.
15 e609b1ba Vangelis Koukis
16 e609b1ba Vangelis Koukis
Default settings
17 e609b1ba Vangelis Koukis
    Component ``snf-common`` provides a number of defaults in Python module
18 e609b1ba Vangelis Koukis
    ``synnefo.common.settings``. Every other component may extend the
19 e609b1ba Vangelis Koukis
    ``synnefo`` namespace package and provide an ``extend_settings()`` entry
20 e609b1ba Vangelis Koukis
    point in group ``synnefo.settings.FIXME``. The common settings initialization
21 e609b1ba Vangelis Koukis
    code calls all such endpoints one by one, to assemble the defaults.
22 e609b1ba Vangelis Koukis
User settings
23 e609b1ba Vangelis Koukis
    The administrator can modify any setting at will, using ``*.conf`` files
24 e609b1ba Vangelis Koukis
    under ``$SYNNEFO_SETTINGS_DIR``, which defaults to ``/etc/synnefo``.
25 e609b1ba Vangelis Koukis
    Code in `snf-common` executes all ``*.conf`` files in lexicographic
26 e609b1ba Vangelis Koukis
    order, as standard Python code, after assembling the set of defaults.
27 e609b1ba Vangelis Koukis
28 e609b1ba Vangelis Koukis
synnefo settings are usable as Django settings, when in a Django
29 e609b1ba Vangelis Koukis
context, or as a standard Python module when not using Django. This avoids
30 e609b1ba Vangelis Koukis
an unecessary dependendy on Django.
31 e609b1ba Vangelis Koukis
32 e609b1ba Vangelis Koukis
To use synnefo settings with Django, have ``$DJANGO_SETTINGS_MODULE`` point
33 e609b1ba Vangelis Koukis
to the ``synnefo.settings`` module
34 e609b1ba Vangelis Koukis
35 252bb277 Vangelis Koukis
.. code-block:: console
36 e609b1ba Vangelis Koukis
37 252bb277 Vangelis Koukis
    $ export DJANGO_SETTINGS_MODULE=synnefo.settings
38 e609b1ba Vangelis Koukis
39 e609b1ba Vangelis Koukis
then import Django settings as usual:
40 e609b1ba Vangelis Koukis
41 e609b1ba Vangelis Koukis
.. code-block:: python
42 e609b1ba Vangelis Koukis
43 e609b1ba Vangelis Koukis
    from django.conf import settings
44 e609b1ba Vangelis Koukis
45 e609b1ba Vangelis Koukis
When not in a Django context, import the ``synnefo.settings`` module directly:
46 e609b1ba Vangelis Koukis
47 e609b1ba Vangelis Koukis
.. code-block:: python
48 e609b1ba Vangelis Koukis
49 e609b1ba Vangelis Koukis
    from synnefo import settings
50 e609b1ba Vangelis Koukis
51 e609b1ba Vangelis Koukis
In both cases, assembly of default settings and execution of
52 e609b1ba Vangelis Koukis
``$SYNNEFO_SETTINGS_DIR/*.conf`` happens in the same way.
53 9940eacf Kostas Papadimitriou
54 9940eacf Kostas Papadimitriou
Package settings
55 9940eacf Kostas Papadimitriou
----------------
56 9940eacf Kostas Papadimitriou
57 9940eacf Kostas Papadimitriou
Component :ref:`snf-sommon <snf-common>` requires the following
58 9940eacf Kostas Papadimitriou
settings:
59 9940eacf Kostas Papadimitriou
60 9940eacf Kostas Papadimitriou
.. literalinclude:: ../synnefo/settings/default/admins.py
61 9940eacf Kostas Papadimitriou
    :lines: 4-
62 9940eacf Kostas Papadimitriou
.. literalinclude:: ../synnefo/settings/default/logging.py
63 9940eacf Kostas Papadimitriou
    :lines: 4-