author | Arthur Lutz <arthur.lutz@logilab.fr> |
Fri, 31 Jan 2020 17:24:45 +0100 | |
branch | 3.27 |
changeset 12864 | 96af8cdcdc7d |
parent 12862 | 87b00a0cc64d |
permissions | -rw-r--r-- |
12862
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
1 |
.. -*- coding: utf-8 -*- |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
2 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
3 |
Deploy a *CubicWeb* application |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
4 |
=============================== |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
5 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
6 |
Deployment with uwsgi |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
7 |
--------------------- |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
8 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
9 |
`uWSGI <https://uwsgi-docs.readthedocs.io/>`_ is often used to deploy CubicWeb |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
10 |
applications. |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
11 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
12 |
Short version is install `uwsgi`: |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
13 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
14 |
.. sourcecode:: console |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
15 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
16 |
apt install uwsgi |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
17 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
18 |
Deploy a configuration file for your application |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
19 |
`/etc/uwsgi/apps-enabled/example.ini`: |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
20 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
21 |
.. sourcecode:: ini |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
22 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
23 |
[uwsgi] |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
24 |
master = true |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
25 |
http = 0.0.0.0:8080 |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
26 |
env = CW_INSTANCE=example |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
27 |
wsgi-file = /etc/cubicweb.d/example/wsgiapp.py |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
28 |
processes = 8 |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
29 |
threads = 1 |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
30 |
plugins = http,python3 |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
31 |
auto-procname = true |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
32 |
lazy-apps = true |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
33 |
log-master = true |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
34 |
# disable uwsgi request logging |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
35 |
disable-logging = true |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
36 |
stats = 127.0.0.1:1717 |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
37 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
38 |
The `wsgiapp.py` file looks like this: |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
39 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
40 |
.. sourcecode:: python |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
41 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
42 |
import os |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
43 |
from cubicweb.pyramid import wsgi_application_from_cwconfig |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
44 |
from cubicweb.cwconfig import CubicWebConfiguration as cwcfg |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
45 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
46 |
appid = os.environ['CW_INSTANCE'] # instance name |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
47 |
cwconfig = cwcfg.config_for(appid) |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
48 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
49 |
cwconfig.log_format = ('{0} pid:{1} (%(name)s) %(levelname)s: %(message)s' |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
50 |
.format(appid, os.getpid())) |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
51 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
52 |
application = wsgi_application_from_cwconfig(cwconfig) |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
53 |
repo = application.application.registry['cubicweb.repository'] |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
54 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
55 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
56 |
Deployment with SaltStack |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
57 |
------------------------- |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
58 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
59 |
To deploy with SaltStack one can refer themselves to the |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
60 |
`cubicweb-formula <https://hg.logilab.org/master/salt/cubicweb-formula/>`_. |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
61 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
62 |
Deployment with Kubernetes |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
63 |
-------------------------- |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
64 |
|
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
65 |
To deploy in a Kubernetes cluster, you can take inspiration from the |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
66 |
instructions included in |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
67 |
`the fresh cube <https://hg.logilab.org/master/cubes/fresh/file/tip/README.rst#l20>`_ |
87b00a0cc64d
[doc/book/admin] initial version of deploy cubicweb page in documentation
Arthur Lutz <arthur.lutz@logilab.fr>
parents:
diff
changeset
|
68 |
and the `deployment yaml files <https://hg.logilab.org/master/cubes/fresh/file/tip/deploy>`_. |