root / snf-common / docs / index.rst @ 381a548c
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- |