changeset 3497:73e04040d577

docker: update following name changes: `backend_e2e` now print properly backend logs
author Goffi <goffi@goffi.org>
date Fri, 16 Apr 2021 18:32:16 +0200
parents c018c510a562
children d78b5eae912a
files docker/backend-dev-e2e/Dockerfile docker/backend-dev-e2e/certificates/README docker/backend-dev-e2e/certificates/minica-key.pem docker/backend-dev-e2e/certificates/minica.pem docker/backend-dev-e2e/certificates/server1.test/cert.pem docker/backend-dev-e2e/certificates/server1.test/key.pem docker/backend-dev-e2e/libervia.conf docker/backend-dev-e2e/scripts/entrypoint.sh docker/backend-dev/Dockerfile docker/backend-dev/libervia.conf docker/backend-dev/scripts/entrypoint.sh docker/backend/Dockerfile docker/backend/sat.conf docker/backend/scripts/entrypoint.sh docker/backend_e2e/Dockerfile docker/backend_e2e/certificates/README docker/backend_e2e/certificates/minica-key.pem docker/backend_e2e/certificates/minica.pem docker/backend_e2e/certificates/server1.test/cert.pem docker/backend_e2e/certificates/server1.test/key.pem docker/backend_e2e/sat.conf docker/docker-compose-e2e.yml docker/docker-compose.yml docker/docker-compose_e2e.yml docker/libervia-web-dev-e2e/Dockerfile docker/libervia-web-dev-e2e/certificates/README docker/libervia-web-dev-e2e/certificates/minica-key.pem docker/libervia-web-dev-e2e/certificates/minica.pem docker/libervia-web-dev-e2e/certificates/server1.test/cert.pem docker/libervia-web-dev-e2e/certificates/server1.test/key.pem docker/libervia-web-dev-e2e/libervia.conf docker/libervia-web-dev/Dockerfile docker/libervia/Dockerfile docker/libervia_e2e/Dockerfile docker/libervia_e2e/certificates/README docker/libervia_e2e/certificates/minica-key.pem docker/libervia_e2e/certificates/minica.pem docker/libervia_e2e/certificates/server1.test/cert.pem docker/libervia_e2e/certificates/server1.test/key.pem docker/libervia_e2e/sat.conf docker/prosody-e2e/Dockerfile docker/prosody-e2e/certificates/README docker/prosody-e2e/certificates/server1.test/cert.pem docker/prosody-e2e/certificates/server1.test/key.pem docker/prosody-e2e/entrypoint.sh docker/prosody-e2e/prosody.cfg.lua docker/prosody_e2e/Dockerfile docker/prosody_e2e/certificates/README docker/prosody_e2e/certificates/server1.test/cert.pem docker/prosody_e2e/certificates/server1.test/key.pem docker/prosody_e2e/entrypoint.sh docker/prosody_e2e/prosody.cfg.lua docker/pubsub/Dockerfile docker/pubsub/entrypoint.sh
diffstat 54 files changed, 711 insertions(+), 704 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev-e2e/Dockerfile	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,70 @@
+FROM libervia/backend:dev
+
+LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
+
+USER root
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+RUN mkdir -m 777 /reports && \
+    apt-get install -y --no-install-recommends \
+    # firefox is needed to test Libervia via selenium
+    firefox-esr \
+    # VNC/X11 server for visual mode + window manager
+    # using openbox as it allows to resize easily when doing manual debugging/tests
+    # and it adapts correctly when doing driver.set_window_size
+    tigervnc-standalone-server openbox \
+    # useful for remote debugging
+    telnet net-tools \
+    # needed to make Firefox trust system certificates
+    # cf. https://askubuntu.com/a/1036637
+    p11-kit && \
+    ln -fs /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/firefox-esr/libnssckbi.so
+
+# we install pre-generated certificates so we can do tests with valid TLS
+COPY --chown=root:root certificates/minica.pem /usr/local/share/ca-certificates/minica.crt
+COPY --chown=root:tls-cert certificates/server1.test/cert.pem /usr/share/libervia/certificates/server1.test.pem
+COPY --chown=root:tls-cert certificates/server1.test/key.pem /usr/share/libervia/certificates/server1.test-key.pem
+RUN update-ca-certificates
+
+COPY --chown=root:root libervia.conf /etc/libervia.conf
+COPY --chown=libervia:libervia scripts/entrypoint.sh /home/libervia/entrypoint_e2e.sh
+
+RUN \
+    # we install webdriver (needed to control Firefox from Selenium)
+    # note: this is not absolutely necessary as long as we use helium because it includes
+    # is own webdriver
+    python -c 'from urllib.request import urlretrieve;\
+    urlretrieve(\
+    "https://github.com/mozilla/geckodriver/releases/download/v0.28.0"\
+    "/geckodriver-v0.28.0-linux64.tar.gz", "/usr/local/bin/geckodriver.tar.gz")' && \
+    cd /usr/local/bin && tar zxf geckodriver.tar.gz && rm -f geckodriver.tar.gz
+
+WORKDIR /home/libervia
+USER libervia
+
+RUN \
+    # pytest and its plugins
+    pip install pytest pytest-timeout pytest-dependency \
+    # needed to test jp
+    sh \
+    # needed to test libervia
+    helium \
+    # needed to check sent emails
+    aiosmtpd \
+    # useful for debugging
+    pudb
+
+RUN ./entrypoint.sh \
+    # we create the file sharing component which will autoconnect when backend is started
+    jp profile create file_sharing -j files.server1.test -p "" --xmpp-password test_e2e -C file_sharing -A && \
+    libervia-backend stop
+
+ENV LIBERVIA_TEST_REPORT_DIR=/reports
+ENV DISPLAY=:0
+USER root
+RUN apt-get install -y openbox
+USER libervia
+EXPOSE 5900
+
+ENTRYPOINT ["/home/libervia/entrypoint_e2e.sh"]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev-e2e/certificates/README	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,12 @@
+Those certificates are used to activate TLS for end-2-end testing (to be as
+close as possible as production environment), they are used in other containers
+needing TLS certificates (notably Prosody).
+
+To generate them, minica has been used. Minica can be found at https://github.com/jsha/minica.
+
+The following commands have been used:
+
+$ minica --domains "server1.test,*.server1.test,server2.test,server3.test,libervia-backend.test,libervia-web.test"
+$ chmod 0644 minica.pem server1.test/cert.pem && chmod 0640 server1.test/key.pem
+
+Note that certificates are valid for 2 years and 30 days, so they must be renewed after this delay.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev-e2e/certificates/minica-key.pem	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAvO1Mq06trCFWhsFzX9nBV+2/jJLJ0ishn5VkbeWkayXf609t
+5Lg6cQealXMvAjPYK9Kuy4patmJ0iMT53/x6rmfbhbcp40Licuc7RGrpcNgbllAA
+uIcosisIsfNzvOLkTA2+nxj7F7jkOKmvtoNU8zc5PKEObsrVd04CuhH4/WPwG4yT
+Lfkpuq5Db3B5JRzghCWDgi1U9aTvCcHOjDbraBwJZSsYBN9RY+KFVHEDQSQaWAkj
+UoimwRSmV+G65/+vjIkkEIKNmzQ+FaK5kYNFUjVz1gWiq8SAwL1p4B5pFJ35ze6c
+WDko5OxccMs0k8NQJ8GxIvf5PmApr9lvIuUuCQIDAQABAoIBABLTCiqfgkp+X+K5
+b8eDKPKb69QT5CwexBDkj8crdICAm5kUpvx9JsWQXmS5v1tW0xk6utPpCzTVBouC
+JOueepLaIlNmdrQAPBP62jrs9CmcPtNxUUERpopqI0mn2kZdzSWO0QmFMa+haowC
+zFFBMLuzKu7RlWCQsUhb64WiuM52dOeQLzSCCzQK0+6a7Ox3uSwSCab+Q+LLbJDi
+XKKnYlQR0oX1jl82GOxn36wpXKmOqSfqrrPMP4tvD1l97M+POJ8jbWBCn5aiWdqN
+pWGgNpzzvsSEdnzDoKf+H/L7B9joNic+csch5KKF7WR6t1/MOj9hR9zf9bJKHRmC
+eSnihIkCgYEA3yShCC1X8ljhIRf7t26oVTdmt/WFT676afq6gQJUVsOANq/QVsHB
+gbDDltQSxQnNVOIt+wAIvz349KbSvPQ22+CpADQjuAdXumXctJOI38OydVW+0vPn
+nkdearUEOayuxC9Ztsia9gF/udFWNZmYVi2PP5cNYPsxDS77g9EgNUsCgYEA2L7l
+AUrBD6BKbhr4a81TKB9g37z1X8uD49dSq9KldnpDRybinzQLOTdc3tGOvrCVT/vI
+PLB5B8AByfnta/pek+mAdoOxFuuF7v2m0OE37+ZkbR+haTETeplouLcZcnJcO4V3
+unQSGA6Gv4oMK85akWW2RqbRKxwQ8s4xeZ1d2XsCgYAw848kBRZ7AsZ4hRNiXTMu
+ZpXxGzpgjak/oJJThNhNpFu3I4CX16+ErOtrZiCr+weBbJDbtFk24vh/ay1l6Ek0
+mSdZ9RY0499586ikMI1hUUQP+3x+OKWCEnQDAqznnhtEzIJo178u4otLj0HTRlul
+5B69u3xi3xgWpUzl0PW42wKBgQCnOE/x+TyN07rYy9IRSa34bI0O0Pf2Wkt9Aujz
+S2cAyz8Qq/13mm12TTJHbiHVGON5e+V2fShDRG2c6Ee2YMmLEEFeLif4aOlCA0wq
+JzhCy9t7HUYopAZFNgpHSGxHkdd6zHQc0+QJz1tCdz0ApwnU10YTqCwEOHkS+uXM
+0A5R9QKBgQCT2AgHJBHb6gksum1ipSc9v13x+P59hrbJ8sGxRZvQGfB7igXDxkBV
+t0/nKltzyZFFNdTSUOHRLrygjTxpu93XWtpA36N7R8SbfGqMsRJeTfdV4vAZtR2x
+EG0OyJaB/EfwlhXdAfF11jPoI6NQmBAeAoyWEbcitmuR6fxrqYWOZQ==
+-----END RSA PRIVATE KEY-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev-e2e/certificates/minica.pem	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDSzCCAjOgAwIBAgIIYcWiSXEWKycwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
+AxMVbWluaWNhIHJvb3QgY2EgNjFjNWEyMCAXDTIwMTExOTE3MTAwMFoYDzIxMjAx
+MTE5MTcxMDAwWjAgMR4wHAYDVQQDExVtaW5pY2Egcm9vdCBjYSA2MWM1YTIwggEi
+MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC87UyrTq2sIVaGwXNf2cFX7b+M
+ksnSKyGflWRt5aRrJd/rT23kuDpxB5qVcy8CM9gr0q7Lilq2YnSIxPnf/HquZ9uF
+tynjQuJy5ztEaulw2BuWUAC4hyiyKwix83O84uRMDb6fGPsXuOQ4qa+2g1TzNzk8
+oQ5uytV3TgK6Efj9Y/AbjJMt+Sm6rkNvcHklHOCEJYOCLVT1pO8Jwc6MNutoHAll
+KxgE31Fj4oVUcQNBJBpYCSNSiKbBFKZX4brn/6+MiSQQgo2bND4VormRg0VSNXPW
+BaKrxIDAvWngHmkUnfnN7pxYOSjk7FxwyzSTw1AnwbEi9/k+YCmv2W8i5S4JAgMB
+AAGjgYYwgYMwDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
+BgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBRQfEdSX8zI0mvb
+VoU7AsYtFA5W8zAfBgNVHSMEGDAWgBRQfEdSX8zI0mvbVoU7AsYtFA5W8zANBgkq
+hkiG9w0BAQsFAAOCAQEAA6LLnPz043imkMXaeXgAtsKk2JYdpGAZeCeHolzOFpMQ
+AQgq+3PkVbcpopbXtXxuiTTAjgVIoMnn6tKQbcSeDP6ydOJhjrDfUN8qx03peYw0
+HOqCvGwqssR7ew6MhyVPSyJOdz74NrSoZdxn7bz369A+R6BG7QyKyl6OlW4x+tuI
+htLQ9vWOxVRBORuEFQ/F3hxwDJY1aT5oCEYzOy7pvOrAh+gnoAb++isi/uwxSufX
+GQs1jejANCi+Rkxe918woDH4mosr9ypRapWPJU0flyxlQUQyAInu4oyDYP3Peits
+D1Y5DkLN/dxIxg1drlNgIGDOCxbV85iDKVPnQ5fmeA==
+-----END CERTIFICATE-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev-e2e/certificates/server1.test/cert.pem	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDijCCAnKgAwIBAgIITwyWOI+1bQ8wDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
+AxMVbWluaWNhIHJvb3QgY2EgNjFjNWEyMB4XDTIxMDQxNDE2MjA0NFoXDTIzMDUx
+NDE2MjA0NFowFzEVMBMGA1UEAxMMc2VydmVyMS50ZXN0MIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAtXAh2Mn5eIFLI5v1Zz8+BRsPKfjn1RBBs+ZVVysJ
+ez4DOOXcouWjOqcMPhWK/lN3NNm3SOWJQRJEZjHaU197YioX1cr1KP1pfAWlm03t
+MZpf/XoeoKpV+6svM2m6emNh6Y812ATin2DIigm2b4UrHiP8Seppd84dReGdpaD9
+7zCZBKv5fHCwcY+irjsV+1vRapLDvDMIL/6Vk8Fw3m9UlIhdZNudTKgxo8lYbhuo
+QsyhG0ydALgp+eeNKnZZdBCpdFOtZztbrS0DifQvkKxbv7+V3IAQ+4lLAfLoFNuV
+H5cukfuJbR9UjyqvBH16yCE2VNvL+dDZXYmh/q3yTF0MgQIDAQABo4HQMIHNMA4G
+A1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYD
+VR0TAQH/BAIwADAfBgNVHSMEGDAWgBRQfEdSX8zI0mvbVoU7AsYtFA5W8zBtBgNV
+HREEZjBkggxzZXJ2ZXIxLnRlc3SCDiouc2VydmVyMS50ZXN0ggxzZXJ2ZXIyLnRl
+c3SCDHNlcnZlcjMudGVzdIIVbGliZXJ2aWEtYmFja2VuZC50ZXN0ghFsaWJlcnZp
+YS13ZWIudGVzdDANBgkqhkiG9w0BAQsFAAOCAQEAetIuuZd7O0G8ssueqddVfedM
+syL4NZp/I6AWy9qiUcKf9lhGtLE3AblL5fhHanty94B4EyW5+8fjSrSSSRbUYkFH
+dbS41ptzuPGtU9S7OFp7C1TAZHeAgCdvJ4ZnD2YFNQXJ89bp+ZEi4Znu1avqckJP
+gMAd695gZaobZzehwAG00Xd9ELVku3Cnu4gsxMbgvcRFqq4Bplk/YYtDtd9FG2Qr
+mSBuUGwGikr9C4xEUw69uIq1SK98qaOBEwUgKYb/Rvh03OP5F2u36zdH8J3W/Mjv
+OGYo4RCLZFG0CntYLFTWOAoYRs7C7dlgwXRNgaNaRiseiPDka1DAaf6BQ8riMw==
+-----END CERTIFICATE-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev-e2e/certificates/server1.test/key.pem	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAtXAh2Mn5eIFLI5v1Zz8+BRsPKfjn1RBBs+ZVVysJez4DOOXc
+ouWjOqcMPhWK/lN3NNm3SOWJQRJEZjHaU197YioX1cr1KP1pfAWlm03tMZpf/Xoe
+oKpV+6svM2m6emNh6Y812ATin2DIigm2b4UrHiP8Seppd84dReGdpaD97zCZBKv5
+fHCwcY+irjsV+1vRapLDvDMIL/6Vk8Fw3m9UlIhdZNudTKgxo8lYbhuoQsyhG0yd
+ALgp+eeNKnZZdBCpdFOtZztbrS0DifQvkKxbv7+V3IAQ+4lLAfLoFNuVH5cukfuJ
+bR9UjyqvBH16yCE2VNvL+dDZXYmh/q3yTF0MgQIDAQABAoIBAFCxZSxAb6Yrgpp8
+s0DO/KtSpITbQWgeCcqTxyK0bkwUgWRdvqnoDZd5UdWOyTlhL6QerAhMpaV+FVOK
+Gnp3/azj4aPg1vX69l4FOOkAWFx2NvjJxjNYblM2iBCKljf2WUaBvcWsLooJhkb2
+GOAyTsHh6UOKcIuq7JP2yqEuH6GvsD9z5B82d/uWtCMlf4PA26R6GGrEaJ4ARY0y
+ePthWmYOJdZi2CLf5RTfd3Y89EKkYbyj+/bmGTFrPThJwBcqjiTV+/Mu3rE7RG/i
+hkZWZi7Q319w/i83In0vHReSb/DOiwjYp+ChPjvKdv0DjL4RyfX5vSkZDDC+LKI8
+5fwEgy0CgYEA51LSAd2DGtYieeQc9jGiUtXzbxvTObGP01NcCX7iS04EF1czj/Ur
+Zrqwsc7yKkdJWaAn12JOolPOZtjEeU4Q3/Oyen9LdxsfPNzpHKqlcOJ/xVWZ/ikY
+WLn5nwpD8HLkx+WZj7TzbBqcs9UiKRkW7bUC3A7KDeBH/nMBDjWwJjcCgYEAyMr/
+AlpRf7OgYnOgEFYcHbNNzp2b7p5lK+8eDrEiRW+U3aT00f8+ZeqF6wSe0hn3gs94
+6IzRtrr0SBObi7My5t6duz56a6K3NE4JhI+3/P2YyQy/2lhYUkA7CG1YMJzvkVaM
+bSuY9bMptzVpjL6Sn3kyHoW/R9d9i3n0ipBDhwcCgYEA2bLy2ziJwv7VkVsh+nx5
+pHWf1Ogd4IT/s0UXMASOmYpBhWnWp9t2zgZSdfQpqapPGJ8F/8iP8mrmq5nDRdo3
+PVyOkoQsFFqdCl1osUbTzioLTz6hXzVzqUTU7Fzv1WF7d7jXzQvhrtJYuVGTBZSM
+JIeeulTcyTRS7N90ldfm//8CgYEAl1ia+jUFtRG51Dt+7JFbQ+/At/oIbMWrUIA9
+0akmQdwnAyGw/xA7AirRoiGrbIXyEAE+C1sJP4iPVDyjQ5tgxLALh/VB5RuSp7Qi
+bG6/qcuke/ZGLdflSqnrVSDGFm5UDOKFmkwAUUIoMVXrJxEGB3ockvERCp+cm6Li
+9gZjP8UCgYATWrDUb3+LOVHIVuYcrd9CDfO7OHT1yxmnef2hBYYs8MQ2ewVBTWkq
+jzTPuUCub6T72uVpefOciBByqbgUUUnXgfX8nTT2BEBGjoubf3/77RvsEnrEGEI/
+XncILicM1dwQXqR5fWDcpWRhehIzlzF70iZ3Ws1QC63gv4Z6VGifMQ==
+-----END RSA PRIVATE KEY-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev-e2e/libervia.conf	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,10 @@
+[DEFAULT]
+xmpp_domain = server1.test
+email_server = libervia-backend.test
+email_port = 8025
+email_admins_list = admin@server1.test
+
+[component file_sharing]
+tls_certificate = /usr/share/libervia/certificates/server1.test.pem
+tls_private_key = /usr/share/libervia/certificates/server1.test-key.pem
+http_upload_public_facing_url = https://libervia-backend.test:8888
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev-e2e/scripts/entrypoint.sh	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+eval $(dbus-launch --sh-syntax)
+
+nohup /usr/bin/Xtigervnc -geometry 1024x768 -desktop "Libervia e2e test" -rfbport 5900 -SecurityTypes None :0 &
+nohup openbox &
+exec libervia-backend fg
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev/Dockerfile	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,51 @@
+FROM debian:buster-slim
+
+LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+RUN apt-get update && apt-get upgrade -y && \
+    apt-get install -y --no-install-recommends locales python3-dev python3-venv python3-wheel mercurial libxml2-dev libxslt-dev libcairo2-dev libjpeg-dev libgirepository1.0-dev libdbus-1-dev libdbus-glib-1-dev dbus-x11 cmake && \
+    \
+    # will be used to put many SàT specific data
+    mkdir -p /usr/share/libervia/certificates && \
+    addgroup tls-cert --gid 9999 && \
+    chown :tls-cert /usr/share/libervia/certificates && \
+    chmod 2770 /usr/share/libervia/certificates && \
+    # it's better to have a dedicated user
+    useradd -m libervia && adduser libervia tls-cert && \
+    # we'll put all source there to have an easy mount point
+    mkdir /src && chown libervia:libervia /src && \
+    \
+    # we need UTF-8 locale
+    sed -i "s/# en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen && locale-gen && \
+    \
+    # we need a TCP socket for D-Bus
+    sed -i "s&<listen>unix:tmpdir=/tmp</listen>&\0\n  <listen>tcp:host=localhost,bind=*,port=55555,family=ipv4</listen>\n  <auth>ANONYMOUS</auth>\n  <allow_anonymous/>&" /usr/share/dbus-1/session.conf
+
+ENV LC_ALL en_US.UTF-8
+
+WORKDIR /home/libervia
+USER libervia
+
+RUN python3 -m venv libervia_env && libervia_env/bin/pip install -U pip wheel && cd /src && \
+    # We install thoses packages in editable mode, so we can replace them easily with volumes.
+    # We need to move *.egg-info (generated by pip) out of src dirs, otherwise mounting
+    # local repos without it them cause troubles
+    hg clone https://repos.goffi.org/urwid-satext && ~/libervia_env/bin/pip install -e urwid-satext && \
+    mv urwid-satext/urwid_satext.egg-info ~/libervia_env/lib/python3.*/site-packages && \
+    hg clone https://repos.goffi.org/sat_tmp && ~/libervia_env/bin/pip install -e sat_tmp && \
+    mv sat_tmp/sat_tmp.egg-info ~/libervia_env/lib/python3.*/site-packages && \
+    hg clone https://repos.goffi.org/sat_templates && ~/libervia_env/bin/pip install -e sat_templates && \
+    mv sat_templates/sat_templates.egg-info ~/libervia_env/lib/python3.*/site-packages && \
+    hg clone https://repos.goffi.org/sat_media && \
+    hg clone https://repos.goffi.org/sat && ~/libervia_env/bin/pip install -e 'sat[SVG]' && \
+    mv sat/sat.egg-info ~/libervia_env/lib/python3.*/site-packages
+
+ENV DBUS_SESSION_BUS_ADDRESS=tcp:host=backend,port=55555,family=ipv4
+ENV PATH=/home/libervia/libervia_env/bin:$PATH
+
+COPY --chown=root:root libervia.conf /etc/_libervia.conf
+COPY --chown=libervia:libervia scripts/entrypoint.sh /home/libervia/
+
+ENTRYPOINT ["/home/libervia/entrypoint.sh"]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev/libervia.conf	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,6 @@
+[DEFAULT]
+media_dir = /src/sat_media
+
+[cli]
+# FIXME: default "auto" value cause trouble
+background = dark
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/backend-dev/scripts/entrypoint.sh	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+eval $(dbus-launch --sh-syntax)
+
+# default, backend is launched in foreground
+if [ $# -eq 0 ]
+then
+	exec libervia-backend fg
+fi
+
+# backend is launched with an explicit subcommand
+if [ $1 = fg -o $1 = bg -o $1 = debug -o $1 = stop -o $1 = status ]
+then
+	exec libervia-backend "$@"
+fi
+
+# a whole command is specified
+libervia-backend bg
+exec "$@"
--- a/docker/backend/Dockerfile	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-FROM debian:buster-slim
-
-LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
-
-ARG DEBIAN_FRONTEND=noninteractive
-
-RUN apt-get update && apt-get upgrade -y && \
-    apt-get install -y --no-install-recommends locales python3-dev python3-venv python3-wheel mercurial libxml2-dev libxslt-dev libcairo2-dev libjpeg-dev libgirepository1.0-dev libdbus-1-dev libdbus-glib-1-dev dbus-x11 cmake && \
-    \
-    # will be used to put many SàT specific data
-    mkdir -p /usr/share/sat/certificates && \
-    addgroup tls-cert --gid 9999 && \
-    chown :tls-cert /usr/share/sat/certificates && \
-    chmod 2770 /usr/share/sat/certificates && \
-    # it's better to have a dedicated user
-    useradd -m sat && adduser sat tls-cert && \
-    # we'll put all source there to have an easy mount point
-    mkdir /src && chown sat:sat /src && \
-    \
-    # we need UTF-8 locale
-    sed -i "s/# en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen && locale-gen && \
-    \
-    # we need a TCP socket for D-Bus
-    sed -i "s&<listen>unix:tmpdir=/tmp</listen>&\0\n  <listen>tcp:host=localhost,bind=*,port=55555,family=ipv4</listen>\n  <auth>ANONYMOUS</auth>\n  <allow_anonymous/>&" /usr/share/dbus-1/session.conf
-
-ENV LC_ALL en_US.UTF-8
-
-WORKDIR /home/sat
-USER sat
-
-RUN python3 -m venv sat_env && sat_env/bin/pip install wheel && cd /src && \
-    # We install thoses packages in editable mode, so we can replace them easily with volumes.
-    # We need to move *.egg-info (generated by pip) out of src dirs, otherwise mounting
-    # local repos without it them cause troubles
-    hg clone https://repos.goffi.org/urwid-satext && ~/sat_env/bin/pip install -e urwid-satext && \
-    mv urwid-satext/urwid_satext.egg-info ~/sat_env/lib/python3.*/site-packages && \
-    hg clone https://repos.goffi.org/sat_tmp && ~/sat_env/bin/pip install -e sat_tmp && \
-    mv sat_tmp/sat_tmp.egg-info ~/sat_env/lib/python3.*/site-packages && \
-    hg clone https://repos.goffi.org/sat_templates && ~/sat_env/bin/pip install -e sat_templates && \
-    mv sat_templates/sat_templates.egg-info ~/sat_env/lib/python3.*/site-packages && \
-    hg clone https://repos.goffi.org/sat_media && \
-    hg clone https://repos.goffi.org/sat && ~/sat_env/bin/pip install -e 'sat[SVG]' && \
-    mv sat/sat.egg-info ~/sat_env/lib/python3.*/site-packages
-
-ENV DBUS_SESSION_BUS_ADDRESS=tcp:host=sat,port=55555,family=ipv4
-ENV PATH=/home/sat/sat_env/bin:$PATH
-
-COPY --chown=root:root sat.conf /etc/_sat.conf
-COPY --chown=sat:sat scripts/entrypoint.sh /home/sat/
-
-ENTRYPOINT ["/home/sat/entrypoint.sh"]
--- a/docker/backend/sat.conf	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-[DEFAULT]
-media_dir = /src/sat_media
-
-[jp]
-# FIXME: default "auto" value cause trouble
-background = dark
--- a/docker/backend/scripts/entrypoint.sh	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-eval $(dbus-launch --sh-syntax)
-
-# default, backend is launched in foreground
-if [ $# -eq 0 ]
-then
-	exec sat fg
-fi
-
-# backend is launched with an explicit subcommand
-if [ $1 = fg -o $1 = bg -o $1 = debug -o $1 = stop -o $1 = status ]
-then
-	exec sat "$@"
-fi
-
-# a whole command is specified
-sat bg
-exec "$@"
--- a/docker/backend_e2e/Dockerfile	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-FROM salutatoi/sat
-
-LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
-
-USER root
-
-ARG DEBIAN_FRONTEND=noninteractive
-
-RUN mkdir -m 777 /reports && \
-    apt-get install -y --no-install-recommends \
-    # firefox is needed to test Libervia via selenium
-    firefox-esr \
-    # VNC/X11 server for visual mode + window manager
-    # using openbox as it allows to resize easily when doing manual debugging/tests
-    # and it adapts correctly when doing driver.set_window_size
-    tigervnc-standalone-server openbox \
-    # useful for remote debugging
-    telnet net-tools \
-    # needed to make Firefox trust system certificates
-    # cf. https://askubuntu.com/a/1036637
-    p11-kit && \
-    ln -fs /usr/lib/x86_64-linux-gnu/pkcs11/p11-kit-trust.so /usr/lib/firefox-esr/libnssckbi.so
-
-# we install pre-generated certificates so we can do tests with valid TLS
-COPY --chown=root:root certificates/minica.pem /usr/local/share/ca-certificates/minica.crt
-COPY --chown=root:tls-cert certificates/server1.test/cert.pem /usr/share/sat/certificates/server1.test.pem
-COPY --chown=root:tls-cert certificates/server1.test/key.pem /usr/share/sat/certificates/server1.test-key.pem
-RUN update-ca-certificates
-
-COPY --chown=root:root sat.conf /etc/sat.conf
-
-RUN \
-    # we install webdriver (needed to control Firefox from Selenium)
-    # note: this is not absolutely necessary as long as we use helium because it includes
-    # is own webdriver
-    python -c 'from urllib.request import urlretrieve;\
-    urlretrieve(\
-    "https://github.com/mozilla/geckodriver/releases/download/v0.28.0"\
-    "/geckodriver-v0.28.0-linux64.tar.gz", "/usr/local/bin/geckodriver.tar.gz")' && \
-    cd /usr/local/bin && tar zxf geckodriver.tar.gz && rm -f geckodriver.tar.gz
-
-WORKDIR /home/sat
-USER sat
-
-RUN \
-    # pytest and its plugins
-    pip install pytest pytest-timeout pytest-dependency \
-    # needed to test jp
-    sh \
-    # needed to test libervia
-    helium \
-    # needed to check sent emails
-    aiosmtpd \
-    # useful for debugging
-    pudb
-
-RUN ./entrypoint.sh \
-    # we create the file sharing component which will autoconnect when backend is started
-    jp profile create file_sharing -j files.server1.test -p "" --xmpp-password test_e2e -C file_sharing -A && \
-    sat stop
-
-ENV SAT_TEST_REPORT_DIR=/reports
-ENV DISPLAY=:0
-USER root
-RUN apt-get install -y openbox
-USER sat
-CMD /usr/bin/Xtigervnc -geometry 1024x768 -desktop "SàT e2e test" -rfbport 5900 -SecurityTypes None :0 & sleep 1 && openbox
-EXPOSE 5900
--- a/docker/backend_e2e/certificates/README	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-Those certificates are used to activate TLS for end-2-end testing (to be as
-close as possible as production environment), they are used in other containers
-needing TLS certificates (notably Prosody).
-
-To generate them, minica has been used. Minica can be found at https://github.com/jsha/minica.
-
-The following commands have been used:
-
-$ minica --domains "server1.test,*.server1.test,server2.test,server3.test,sat.test,libervia,libervia.test"
-$ chmod 0644 minica.pem server1.test/cert.pem && chmod 0640 server1.test/key.pem
-
-Note that certificates are valid for 2 years and 30 days, so they must be renewed after this delay.
--- a/docker/backend_e2e/certificates/minica-key.pem	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAvO1Mq06trCFWhsFzX9nBV+2/jJLJ0ishn5VkbeWkayXf609t
-5Lg6cQealXMvAjPYK9Kuy4patmJ0iMT53/x6rmfbhbcp40Licuc7RGrpcNgbllAA
-uIcosisIsfNzvOLkTA2+nxj7F7jkOKmvtoNU8zc5PKEObsrVd04CuhH4/WPwG4yT
-Lfkpuq5Db3B5JRzghCWDgi1U9aTvCcHOjDbraBwJZSsYBN9RY+KFVHEDQSQaWAkj
-UoimwRSmV+G65/+vjIkkEIKNmzQ+FaK5kYNFUjVz1gWiq8SAwL1p4B5pFJ35ze6c
-WDko5OxccMs0k8NQJ8GxIvf5PmApr9lvIuUuCQIDAQABAoIBABLTCiqfgkp+X+K5
-b8eDKPKb69QT5CwexBDkj8crdICAm5kUpvx9JsWQXmS5v1tW0xk6utPpCzTVBouC
-JOueepLaIlNmdrQAPBP62jrs9CmcPtNxUUERpopqI0mn2kZdzSWO0QmFMa+haowC
-zFFBMLuzKu7RlWCQsUhb64WiuM52dOeQLzSCCzQK0+6a7Ox3uSwSCab+Q+LLbJDi
-XKKnYlQR0oX1jl82GOxn36wpXKmOqSfqrrPMP4tvD1l97M+POJ8jbWBCn5aiWdqN
-pWGgNpzzvsSEdnzDoKf+H/L7B9joNic+csch5KKF7WR6t1/MOj9hR9zf9bJKHRmC
-eSnihIkCgYEA3yShCC1X8ljhIRf7t26oVTdmt/WFT676afq6gQJUVsOANq/QVsHB
-gbDDltQSxQnNVOIt+wAIvz349KbSvPQ22+CpADQjuAdXumXctJOI38OydVW+0vPn
-nkdearUEOayuxC9Ztsia9gF/udFWNZmYVi2PP5cNYPsxDS77g9EgNUsCgYEA2L7l
-AUrBD6BKbhr4a81TKB9g37z1X8uD49dSq9KldnpDRybinzQLOTdc3tGOvrCVT/vI
-PLB5B8AByfnta/pek+mAdoOxFuuF7v2m0OE37+ZkbR+haTETeplouLcZcnJcO4V3
-unQSGA6Gv4oMK85akWW2RqbRKxwQ8s4xeZ1d2XsCgYAw848kBRZ7AsZ4hRNiXTMu
-ZpXxGzpgjak/oJJThNhNpFu3I4CX16+ErOtrZiCr+weBbJDbtFk24vh/ay1l6Ek0
-mSdZ9RY0499586ikMI1hUUQP+3x+OKWCEnQDAqznnhtEzIJo178u4otLj0HTRlul
-5B69u3xi3xgWpUzl0PW42wKBgQCnOE/x+TyN07rYy9IRSa34bI0O0Pf2Wkt9Aujz
-S2cAyz8Qq/13mm12TTJHbiHVGON5e+V2fShDRG2c6Ee2YMmLEEFeLif4aOlCA0wq
-JzhCy9t7HUYopAZFNgpHSGxHkdd6zHQc0+QJz1tCdz0ApwnU10YTqCwEOHkS+uXM
-0A5R9QKBgQCT2AgHJBHb6gksum1ipSc9v13x+P59hrbJ8sGxRZvQGfB7igXDxkBV
-t0/nKltzyZFFNdTSUOHRLrygjTxpu93XWtpA36N7R8SbfGqMsRJeTfdV4vAZtR2x
-EG0OyJaB/EfwlhXdAfF11jPoI6NQmBAeAoyWEbcitmuR6fxrqYWOZQ==
------END RSA PRIVATE KEY-----
--- a/docker/backend_e2e/certificates/minica.pem	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDSzCCAjOgAwIBAgIIYcWiSXEWKycwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
-AxMVbWluaWNhIHJvb3QgY2EgNjFjNWEyMCAXDTIwMTExOTE3MTAwMFoYDzIxMjAx
-MTE5MTcxMDAwWjAgMR4wHAYDVQQDExVtaW5pY2Egcm9vdCBjYSA2MWM1YTIwggEi
-MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC87UyrTq2sIVaGwXNf2cFX7b+M
-ksnSKyGflWRt5aRrJd/rT23kuDpxB5qVcy8CM9gr0q7Lilq2YnSIxPnf/HquZ9uF
-tynjQuJy5ztEaulw2BuWUAC4hyiyKwix83O84uRMDb6fGPsXuOQ4qa+2g1TzNzk8
-oQ5uytV3TgK6Efj9Y/AbjJMt+Sm6rkNvcHklHOCEJYOCLVT1pO8Jwc6MNutoHAll
-KxgE31Fj4oVUcQNBJBpYCSNSiKbBFKZX4brn/6+MiSQQgo2bND4VormRg0VSNXPW
-BaKrxIDAvWngHmkUnfnN7pxYOSjk7FxwyzSTw1AnwbEi9/k+YCmv2W8i5S4JAgMB
-AAGjgYYwgYMwDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
-BgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBRQfEdSX8zI0mvb
-VoU7AsYtFA5W8zAfBgNVHSMEGDAWgBRQfEdSX8zI0mvbVoU7AsYtFA5W8zANBgkq
-hkiG9w0BAQsFAAOCAQEAA6LLnPz043imkMXaeXgAtsKk2JYdpGAZeCeHolzOFpMQ
-AQgq+3PkVbcpopbXtXxuiTTAjgVIoMnn6tKQbcSeDP6ydOJhjrDfUN8qx03peYw0
-HOqCvGwqssR7ew6MhyVPSyJOdz74NrSoZdxn7bz369A+R6BG7QyKyl6OlW4x+tuI
-htLQ9vWOxVRBORuEFQ/F3hxwDJY1aT5oCEYzOy7pvOrAh+gnoAb++isi/uwxSufX
-GQs1jejANCi+Rkxe918woDH4mosr9ypRapWPJU0flyxlQUQyAInu4oyDYP3Peits
-D1Y5DkLN/dxIxg1drlNgIGDOCxbV85iDKVPnQ5fmeA==
------END CERTIFICATE-----
--- a/docker/backend_e2e/certificates/server1.test/cert.pem	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDgzCCAmugAwIBAgIIZiX7tomjsm8wDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
-AxMVbWluaWNhIHJvb3QgY2EgNjFjNWEyMB4XDTIwMTExOTE3MTAwMFoXDTIyMTIx
-OTE3MTAwMFowFzEVMBMGA1UEAxMMc2VydmVyMS50ZXN0MIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEAqO9edKoh9DZfVeb8n0iCJ375QqVVHuS3AI22VTRL
-sa6lYYjjlcag4GeJScZNnQzdBHLRfsZBVKIYbPPuB4+p7w5V56n61kPd7oWTEfe8
-UYvgQOcEo7u7EDMIgFkgtMLJBMUBLPdBwNjeQdFk+yg+pUls7LXXzZXZsrupLfvP
-YP81xZiD9BHk6/D0ia4oaQ873VAZwuFviqO+7asn46AyR94n3MlABG7iyKoSs/rO
-Yh13cFEEvbIE/nHTr+rbeswHUtZwKhqQ83iuAphTUlNliAiGHKPxLjojYjGGq7ES
-6BUs4REeyavaYFzyh3JUyicBYqLvMPy449PVkCTF//XRAQIDAQABo4HJMIHGMA4G
-A1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYD
-VR0TAQH/BAIwADAfBgNVHSMEGDAWgBRQfEdSX8zI0mvbVoU7AsYtFA5W8zBmBgNV
-HREEXzBdggxzZXJ2ZXIxLnRlc3SCDiouc2VydmVyMS50ZXN0ggxzZXJ2ZXIyLnRl
-c3SCDHNlcnZlcjMudGVzdIIIc2F0LnRlc3SCCGxpYmVydmlhgg1saWJlcnZpYS50
-ZXN0MA0GCSqGSIb3DQEBCwUAA4IBAQCGar+WGZZVouJHCTcI5NEIqE7+j8ooLAQA
-r57rYnjOQEVp0hCM4gGUoolp0iq7GC6Ep8hptRwSlvm4P6nR4MrXoqE+La/qrygO
-1aue4td+4HUFLyPkjMRwOA5Mzg0reGcOI+Ptc47zyIgij+HmUROu/D/Xdoat0LGN
-rzqmaTYhZ7Ifh2XtcZPfkFmYh/JEF7qgspNatOmka2XSLwzzRDTERN8Z04rB2NfA
-n2xoadafPDu9ZnIrWNi+MVvvNwtppWZ1TXHaYEWW2dx2nXdCbsIJaUwaKDAfyppk
-+SHxauKPbpvx8m38nKw7cC54miMR1PHyIspK8Fpc84tMCDU/vCfL
------END CERTIFICATE-----
--- a/docker/backend_e2e/certificates/server1.test/key.pem	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAqO9edKoh9DZfVeb8n0iCJ375QqVVHuS3AI22VTRLsa6lYYjj
-lcag4GeJScZNnQzdBHLRfsZBVKIYbPPuB4+p7w5V56n61kPd7oWTEfe8UYvgQOcE
-o7u7EDMIgFkgtMLJBMUBLPdBwNjeQdFk+yg+pUls7LXXzZXZsrupLfvPYP81xZiD
-9BHk6/D0ia4oaQ873VAZwuFviqO+7asn46AyR94n3MlABG7iyKoSs/rOYh13cFEE
-vbIE/nHTr+rbeswHUtZwKhqQ83iuAphTUlNliAiGHKPxLjojYjGGq7ES6BUs4REe
-yavaYFzyh3JUyicBYqLvMPy449PVkCTF//XRAQIDAQABAoIBAFt8PdfKJtcc9uYL
-UDVmS+3dqlj4Ni+jxqMLG3nq9y8DGFbIjg8XYRoFl+iW9oMdaze0glU4Qjr2CWo/
-c2Eu4OUwCz+I4ulUGYTJW4r4cUhsCoa7VNzilnxAVtNC8R5S+g+WLHvQbxBjoYFd
-R2VoNvzF1bIfC/4ur5VGYWkgm/63dTdDd2dJoQp30cypL5lL6v+T3FxkcTEYYuu2
-Q05mwXZ/zekzwQqPKX0/M/UxlqeItlM7rsIp7+baAdoXEzxzadGkFdUgE+jh5fwG
-gdWiTJLSToZrlfpTthkZ3IegDhHHBlRHR8BQq0MypR/j6eM/iONQnvuODx6eaTqQ
-Lf/h1UECgYEAxVbiqgDNp3z/D9bwJfYWneLrdJ6Bm8NJiJLEG8nlCZW+34wRRyNR
-Jlwk6aPzT3ibf6OPaAvCnH0ENBGUyxe/Ri2IeWPF5nmbESq6TqheKJdmFIPQPTCS
-KoLWYjbLpTN22Pi8S/OgwbVxyZ09bLjGrjhsHw6GnbZvzPt3T3pvMQkCgYEA2yb4
-oBpeV4A085qt79mq4SK6093f/D9d7yWNmtBlJM5cCurZukvYzNSsGjjwIjVjBlla
-mhec+fsXmFUjYefRDLs6vNZuVkrSwC5E9uwDuG89W15BfaIyQjHpAyLFWM2eTivD
-Hmr4F8gJ3Rgac1KfdcnxyBOJgwFDsOuSIOT8NjkCgYEAs5RwqlIW1B8MoWZwnasH
-Q+C3ciW4Pn4FkbI1ojAlLIbH7viw1HLQKz9ZHADlruFLaGj4XK+vBudBhvyk0fin
-SH6xHf5snmL1eTbP2jqfjQLRk0OsobJsoSD1ZOUGhyyBL8uS1u860GyEwvtDZYf0
-zaBszApU+HqH3RrNpVb+jrkCgYEAv5COTi0egHAyWSrBlmJ3q3qXQzG0ZCPj8XKr
-GEPH1eeIr4ZgsicwqMPSeM2CovR1zgv3VbEEZ8Oj+WWamy9vHijfjEgIhOe8137a
-i9j825BpWt/GcZKBSjmkjDgtt5VtJrm8Qm+Q1ADpFlnGbT4w416WOaVSU7CcQh95
-ScW/7YkCgYEAgA3NJVTGwP7KDqN4VTiJV+8w5q7YiucrZV/eyY0D3jynsPyp5kl2
-gZn1yuGFOjR36JuzzuIdJVNFRn/0z4GDO91Ogba111VLld4LynzR36bDSO/odJqM
-ef61ZT4IUHQ+uB3CqFQHAWHT9RmQIylyjKcibIDWcmq2P0Bsq03A4kM=
------END RSA PRIVATE KEY-----
--- a/docker/backend_e2e/sat.conf	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-[DEFAULT]
-xmpp_domain = server1.test
-email_server = sat.test
-email_port = 8025
-email_admins_list = admin@server1.test
-
-[component file_sharing]
-tls_certificate = /usr/share/sat/certificates/server1.test.pem
-tls_private_key = /usr/share/sat/certificates/server1.test-key.pem
-http_upload_public_facing_url = https://sat.test:8888
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/docker-compose-e2e.yml	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,74 @@
+version: "3.6"
+services:
+
+  prosody:
+    image: libervia/prosody:e2e
+    build: prosody-e2e
+    depends_on:
+      # we need to depend on backend to get IP address of the container for conf
+      - backend
+    tmpfs: /var/lib/prosody
+    tmpfs: /var/log/prosody
+    networks:
+      default:
+        aliases:
+          - server1.test
+          - server2.test
+          - server3.test
+
+  db:
+    image: postgres
+    environment:
+      POSTGRES_PASSWORD: test_e2e
+      POSTGRES_DB: pubsub
+    tmpfs: /var/lib/postgresql/data
+
+  pubsub:
+    build: pubsub
+    image: libervia/pubsub
+    depends_on:
+      - db
+      - prosody
+    environment:
+      PGHOST: db
+      PGUSER: postgres
+      PGPASSWORD: test_e2e
+      LIBERVIA_PUBSUB_RHOST: server1.test
+      LIBERVIA_PUBSUB_JID: pubsub.server1.test
+      LIBERVIA_PUBSUB_XMPP_PWD: test_e2e
+
+  backend:
+    image: libervia/backend:dev-e2e
+    build: backend-dev-e2e
+    environment:
+      LIBERVIA_TEST_ENV_E2E: "1"
+      LIBERVIA_TEST_ENV_E2E_WEB: "1"
+    volumes:
+      - libervia_data:/home/libervia/.local/share/libervia
+    ports:
+      # VNC server for Libervia e2e tests visual mode
+      - 5900
+    networks:
+      default:
+        aliases:
+          - libervia-backend.test
+
+  web:
+    image: libervia/web:dev-e2e
+    build: libervia-web-dev-e2e
+    depends_on:
+      - backend
+    environment:
+      LIBERVIA_PASSPHRASE: test_e2e
+    volumes:
+      - libervia_data:/home/libervia/.local/share/libervia
+    ports:
+        - "8080"
+        - "8443"
+    networks:
+      default:
+        aliases:
+          - libervia-web.test
+
+volumes:
+  libervia_data:
--- a/docker/docker-compose.yml	Wed Apr 14 15:54:26 2021 +0200
+++ b/docker/docker-compose.yml	Fri Apr 16 18:32:16 2021 +0200
@@ -1,12 +1,12 @@
 version: "3.6"
 services:
 
-  sat:
-    image: salutatoi/sat
-    build: backend
+  backend:
+    image: libervia/backend:dev
+    build: backend-dev
 
-  libervia:
-    image: salutatoi/libervia
-    build: libervia
+  web:
+    image: libervia/web:dev
+    build: libervia-web-dev
     depends_on:
-      - sat
+      - backend
--- a/docker/docker-compose_e2e.yml	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-version: "3.6"
-services:
-
-  prosody:
-    build: prosody_e2e
-    image: salutatoi/prosody_e2e
-    depends_on:
-      # we need to depend on sat to get IP address of the container for conf
-      - sat
-    tmpfs: /var/lib/prosody
-    tmpfs: /var/log/prosody
-    networks:
-      default:
-        aliases:
-          - server1.test
-          - server2.test
-          - server3.test
-
-  db:
-    image: postgres
-    environment:
-      POSTGRES_PASSWORD: test_e2e
-      POSTGRES_DB: pubsub
-    tmpfs: /var/lib/postgresql/data
-
-  pubsub:
-    build: pubsub
-    image: salutatoi/sat_pubsub
-    depends_on:
-      - db
-      - prosody
-    environment:
-      PGHOST: db
-      PGUSER: postgres
-      PGPASSWORD: test_e2e
-      SAT_PUBSUB_RHOST: server1.test
-      SAT_PUBSUB_JID: pubsub.server1.test
-      SAT_PUBSUB_XMPP_PWD: test_e2e
-
-  sat:
-    build: backend_e2e
-    image: salutatoi/sat_e2e
-    environment:
-      SAT_TEST_ENV_E2E: "1"
-      SAT_TEST_ENV_E2E_LIBERVIA: "1"
-    volumes:
-      - sat_data:/home/sat/.local/share/sat
-    ports:
-      # VNC server for Libervia e2e tests visual mode
-      - 5900
-    networks:
-      default:
-        aliases:
-          - sat.test
-
-  libervia:
-    image: salutatoi/libervia_e2e
-    build: libervia_e2e
-    depends_on:
-      - sat
-    environment:
-      LIBERVIA_PASSPHRASE: test_e2e
-    volumes:
-      - sat_data:/home/sat/.local/share/sat
-    ports:
-        - "8080"
-        - "8443"
-    networks:
-      default:
-        aliases:
-          - libervia.test
-
-volumes:
-  sat_data:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/libervia-web-dev-e2e/Dockerfile	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,19 @@
+FROM libervia/web:dev
+
+LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+USER root
+
+# we install pre-generated certificates so we can do tests with valid TLS
+# those certificates are the same as in libervia/backend-dev-e2e
+COPY --chown=root:root certificates/minica.pem /usr/local/share/ca-certificates/minica.crt
+COPY --chown=root:tls-cert certificates/server1.test/cert.pem /usr/share/libervia/certificates/server1.test.pem
+COPY --chown=root:tls-cert certificates/server1.test/key.pem /usr/share/libervia/certificates/server1.test-key.pem
+RUN update-ca-certificates
+
+COPY --chown=root:root libervia.conf /etc/libervia.conf
+
+WORKDIR /home/libervia
+USER libervia
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/libervia-web-dev-e2e/certificates/README	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,2 @@
+this certificates are used to enable TLS during tests. Those must be the same as in
+backend_e2e (they are generated there)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/libervia-web-dev-e2e/certificates/minica-key.pem	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAvO1Mq06trCFWhsFzX9nBV+2/jJLJ0ishn5VkbeWkayXf609t
+5Lg6cQealXMvAjPYK9Kuy4patmJ0iMT53/x6rmfbhbcp40Licuc7RGrpcNgbllAA
+uIcosisIsfNzvOLkTA2+nxj7F7jkOKmvtoNU8zc5PKEObsrVd04CuhH4/WPwG4yT
+Lfkpuq5Db3B5JRzghCWDgi1U9aTvCcHOjDbraBwJZSsYBN9RY+KFVHEDQSQaWAkj
+UoimwRSmV+G65/+vjIkkEIKNmzQ+FaK5kYNFUjVz1gWiq8SAwL1p4B5pFJ35ze6c
+WDko5OxccMs0k8NQJ8GxIvf5PmApr9lvIuUuCQIDAQABAoIBABLTCiqfgkp+X+K5
+b8eDKPKb69QT5CwexBDkj8crdICAm5kUpvx9JsWQXmS5v1tW0xk6utPpCzTVBouC
+JOueepLaIlNmdrQAPBP62jrs9CmcPtNxUUERpopqI0mn2kZdzSWO0QmFMa+haowC
+zFFBMLuzKu7RlWCQsUhb64WiuM52dOeQLzSCCzQK0+6a7Ox3uSwSCab+Q+LLbJDi
+XKKnYlQR0oX1jl82GOxn36wpXKmOqSfqrrPMP4tvD1l97M+POJ8jbWBCn5aiWdqN
+pWGgNpzzvsSEdnzDoKf+H/L7B9joNic+csch5KKF7WR6t1/MOj9hR9zf9bJKHRmC
+eSnihIkCgYEA3yShCC1X8ljhIRf7t26oVTdmt/WFT676afq6gQJUVsOANq/QVsHB
+gbDDltQSxQnNVOIt+wAIvz349KbSvPQ22+CpADQjuAdXumXctJOI38OydVW+0vPn
+nkdearUEOayuxC9Ztsia9gF/udFWNZmYVi2PP5cNYPsxDS77g9EgNUsCgYEA2L7l
+AUrBD6BKbhr4a81TKB9g37z1X8uD49dSq9KldnpDRybinzQLOTdc3tGOvrCVT/vI
+PLB5B8AByfnta/pek+mAdoOxFuuF7v2m0OE37+ZkbR+haTETeplouLcZcnJcO4V3
+unQSGA6Gv4oMK85akWW2RqbRKxwQ8s4xeZ1d2XsCgYAw848kBRZ7AsZ4hRNiXTMu
+ZpXxGzpgjak/oJJThNhNpFu3I4CX16+ErOtrZiCr+weBbJDbtFk24vh/ay1l6Ek0
+mSdZ9RY0499586ikMI1hUUQP+3x+OKWCEnQDAqznnhtEzIJo178u4otLj0HTRlul
+5B69u3xi3xgWpUzl0PW42wKBgQCnOE/x+TyN07rYy9IRSa34bI0O0Pf2Wkt9Aujz
+S2cAyz8Qq/13mm12TTJHbiHVGON5e+V2fShDRG2c6Ee2YMmLEEFeLif4aOlCA0wq
+JzhCy9t7HUYopAZFNgpHSGxHkdd6zHQc0+QJz1tCdz0ApwnU10YTqCwEOHkS+uXM
+0A5R9QKBgQCT2AgHJBHb6gksum1ipSc9v13x+P59hrbJ8sGxRZvQGfB7igXDxkBV
+t0/nKltzyZFFNdTSUOHRLrygjTxpu93XWtpA36N7R8SbfGqMsRJeTfdV4vAZtR2x
+EG0OyJaB/EfwlhXdAfF11jPoI6NQmBAeAoyWEbcitmuR6fxrqYWOZQ==
+-----END RSA PRIVATE KEY-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/libervia-web-dev-e2e/certificates/minica.pem	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDSzCCAjOgAwIBAgIIYcWiSXEWKycwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
+AxMVbWluaWNhIHJvb3QgY2EgNjFjNWEyMCAXDTIwMTExOTE3MTAwMFoYDzIxMjAx
+MTE5MTcxMDAwWjAgMR4wHAYDVQQDExVtaW5pY2Egcm9vdCBjYSA2MWM1YTIwggEi
+MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC87UyrTq2sIVaGwXNf2cFX7b+M
+ksnSKyGflWRt5aRrJd/rT23kuDpxB5qVcy8CM9gr0q7Lilq2YnSIxPnf/HquZ9uF
+tynjQuJy5ztEaulw2BuWUAC4hyiyKwix83O84uRMDb6fGPsXuOQ4qa+2g1TzNzk8
+oQ5uytV3TgK6Efj9Y/AbjJMt+Sm6rkNvcHklHOCEJYOCLVT1pO8Jwc6MNutoHAll
+KxgE31Fj4oVUcQNBJBpYCSNSiKbBFKZX4brn/6+MiSQQgo2bND4VormRg0VSNXPW
+BaKrxIDAvWngHmkUnfnN7pxYOSjk7FxwyzSTw1AnwbEi9/k+YCmv2W8i5S4JAgMB
+AAGjgYYwgYMwDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
+BgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBRQfEdSX8zI0mvb
+VoU7AsYtFA5W8zAfBgNVHSMEGDAWgBRQfEdSX8zI0mvbVoU7AsYtFA5W8zANBgkq
+hkiG9w0BAQsFAAOCAQEAA6LLnPz043imkMXaeXgAtsKk2JYdpGAZeCeHolzOFpMQ
+AQgq+3PkVbcpopbXtXxuiTTAjgVIoMnn6tKQbcSeDP6ydOJhjrDfUN8qx03peYw0
+HOqCvGwqssR7ew6MhyVPSyJOdz74NrSoZdxn7bz369A+R6BG7QyKyl6OlW4x+tuI
+htLQ9vWOxVRBORuEFQ/F3hxwDJY1aT5oCEYzOy7pvOrAh+gnoAb++isi/uwxSufX
+GQs1jejANCi+Rkxe918woDH4mosr9ypRapWPJU0flyxlQUQyAInu4oyDYP3Peits
+D1Y5DkLN/dxIxg1drlNgIGDOCxbV85iDKVPnQ5fmeA==
+-----END CERTIFICATE-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/libervia-web-dev-e2e/certificates/server1.test/cert.pem	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDijCCAnKgAwIBAgIITwyWOI+1bQ8wDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
+AxMVbWluaWNhIHJvb3QgY2EgNjFjNWEyMB4XDTIxMDQxNDE2MjA0NFoXDTIzMDUx
+NDE2MjA0NFowFzEVMBMGA1UEAxMMc2VydmVyMS50ZXN0MIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAtXAh2Mn5eIFLI5v1Zz8+BRsPKfjn1RBBs+ZVVysJ
+ez4DOOXcouWjOqcMPhWK/lN3NNm3SOWJQRJEZjHaU197YioX1cr1KP1pfAWlm03t
+MZpf/XoeoKpV+6svM2m6emNh6Y812ATin2DIigm2b4UrHiP8Seppd84dReGdpaD9
+7zCZBKv5fHCwcY+irjsV+1vRapLDvDMIL/6Vk8Fw3m9UlIhdZNudTKgxo8lYbhuo
+QsyhG0ydALgp+eeNKnZZdBCpdFOtZztbrS0DifQvkKxbv7+V3IAQ+4lLAfLoFNuV
+H5cukfuJbR9UjyqvBH16yCE2VNvL+dDZXYmh/q3yTF0MgQIDAQABo4HQMIHNMA4G
+A1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYD
+VR0TAQH/BAIwADAfBgNVHSMEGDAWgBRQfEdSX8zI0mvbVoU7AsYtFA5W8zBtBgNV
+HREEZjBkggxzZXJ2ZXIxLnRlc3SCDiouc2VydmVyMS50ZXN0ggxzZXJ2ZXIyLnRl
+c3SCDHNlcnZlcjMudGVzdIIVbGliZXJ2aWEtYmFja2VuZC50ZXN0ghFsaWJlcnZp
+YS13ZWIudGVzdDANBgkqhkiG9w0BAQsFAAOCAQEAetIuuZd7O0G8ssueqddVfedM
+syL4NZp/I6AWy9qiUcKf9lhGtLE3AblL5fhHanty94B4EyW5+8fjSrSSSRbUYkFH
+dbS41ptzuPGtU9S7OFp7C1TAZHeAgCdvJ4ZnD2YFNQXJ89bp+ZEi4Znu1avqckJP
+gMAd695gZaobZzehwAG00Xd9ELVku3Cnu4gsxMbgvcRFqq4Bplk/YYtDtd9FG2Qr
+mSBuUGwGikr9C4xEUw69uIq1SK98qaOBEwUgKYb/Rvh03OP5F2u36zdH8J3W/Mjv
+OGYo4RCLZFG0CntYLFTWOAoYRs7C7dlgwXRNgaNaRiseiPDka1DAaf6BQ8riMw==
+-----END CERTIFICATE-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/libervia-web-dev-e2e/certificates/server1.test/key.pem	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAtXAh2Mn5eIFLI5v1Zz8+BRsPKfjn1RBBs+ZVVysJez4DOOXc
+ouWjOqcMPhWK/lN3NNm3SOWJQRJEZjHaU197YioX1cr1KP1pfAWlm03tMZpf/Xoe
+oKpV+6svM2m6emNh6Y812ATin2DIigm2b4UrHiP8Seppd84dReGdpaD97zCZBKv5
+fHCwcY+irjsV+1vRapLDvDMIL/6Vk8Fw3m9UlIhdZNudTKgxo8lYbhuoQsyhG0yd
+ALgp+eeNKnZZdBCpdFOtZztbrS0DifQvkKxbv7+V3IAQ+4lLAfLoFNuVH5cukfuJ
+bR9UjyqvBH16yCE2VNvL+dDZXYmh/q3yTF0MgQIDAQABAoIBAFCxZSxAb6Yrgpp8
+s0DO/KtSpITbQWgeCcqTxyK0bkwUgWRdvqnoDZd5UdWOyTlhL6QerAhMpaV+FVOK
+Gnp3/azj4aPg1vX69l4FOOkAWFx2NvjJxjNYblM2iBCKljf2WUaBvcWsLooJhkb2
+GOAyTsHh6UOKcIuq7JP2yqEuH6GvsD9z5B82d/uWtCMlf4PA26R6GGrEaJ4ARY0y
+ePthWmYOJdZi2CLf5RTfd3Y89EKkYbyj+/bmGTFrPThJwBcqjiTV+/Mu3rE7RG/i
+hkZWZi7Q319w/i83In0vHReSb/DOiwjYp+ChPjvKdv0DjL4RyfX5vSkZDDC+LKI8
+5fwEgy0CgYEA51LSAd2DGtYieeQc9jGiUtXzbxvTObGP01NcCX7iS04EF1czj/Ur
+Zrqwsc7yKkdJWaAn12JOolPOZtjEeU4Q3/Oyen9LdxsfPNzpHKqlcOJ/xVWZ/ikY
+WLn5nwpD8HLkx+WZj7TzbBqcs9UiKRkW7bUC3A7KDeBH/nMBDjWwJjcCgYEAyMr/
+AlpRf7OgYnOgEFYcHbNNzp2b7p5lK+8eDrEiRW+U3aT00f8+ZeqF6wSe0hn3gs94
+6IzRtrr0SBObi7My5t6duz56a6K3NE4JhI+3/P2YyQy/2lhYUkA7CG1YMJzvkVaM
+bSuY9bMptzVpjL6Sn3kyHoW/R9d9i3n0ipBDhwcCgYEA2bLy2ziJwv7VkVsh+nx5
+pHWf1Ogd4IT/s0UXMASOmYpBhWnWp9t2zgZSdfQpqapPGJ8F/8iP8mrmq5nDRdo3
+PVyOkoQsFFqdCl1osUbTzioLTz6hXzVzqUTU7Fzv1WF7d7jXzQvhrtJYuVGTBZSM
+JIeeulTcyTRS7N90ldfm//8CgYEAl1ia+jUFtRG51Dt+7JFbQ+/At/oIbMWrUIA9
+0akmQdwnAyGw/xA7AirRoiGrbIXyEAE+C1sJP4iPVDyjQ5tgxLALh/VB5RuSp7Qi
+bG6/qcuke/ZGLdflSqnrVSDGFm5UDOKFmkwAUUIoMVXrJxEGB3ockvERCp+cm6Li
+9gZjP8UCgYATWrDUb3+LOVHIVuYcrd9CDfO7OHT1yxmnef2hBYYs8MQ2ewVBTWkq
+jzTPuUCub6T72uVpefOciBByqbgUUUnXgfX8nTT2BEBGjoubf3/77RvsEnrEGEI/
+XncILicM1dwQXqR5fWDcpWRhehIzlzF70iZ3Ws1QC63gv4Z6VGifMQ==
+-----END RSA PRIVATE KEY-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/libervia-web-dev-e2e/libervia.conf	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,3 @@
+[web]
+tls_certificate = /usr/share/libervia/certificates/server1.test.pem
+tls_private_key = /usr/share/libervia/certificates/server1.test-key.pem
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/libervia-web-dev/Dockerfile	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,25 @@
+FROM libervia/backend:dev
+
+LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+USER root
+
+RUN apt-get install -y --no-install-recommends yarnpkg
+WORKDIR /home/libervia
+USER libervia
+RUN cd /src && hg clone https://repos.goffi.org/libervia && \
+    ~/libervia_env/bin/pip install -e libervia && \
+    mv libervia/libervia.egg-info ~/libervia_env/lib/python3.*/site-packages
+
+RUN ./entrypoint.sh \
+    # we build here to avoid re-downloading node modules or other browser
+    # dependencies on each run
+    libervia-web fg -- --build-only && \
+    libervia-backend stop
+
+EXPOSE 8080 8443
+
+ENTRYPOINT ["libervia-web"]
+CMD ["fg"]
--- a/docker/libervia/Dockerfile	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-FROM salutatoi/sat
-
-LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
-
-ARG DEBIAN_FRONTEND=noninteractive
-
-USER root
-
-RUN apt-get install -y --no-install-recommends yarnpkg
-WORKDIR /home/sat
-USER sat
-RUN cd /src && hg clone https://repos.goffi.org/libervia && \
-    ~/sat_env/bin/pip install -e libervia && \
-    mv libervia/libervia.egg-info ~/sat_env/lib/python3.*/site-packages
-
-RUN ./entrypoint.sh \
-    # we build here to avoid re-downloading node modules or other browser
-    # dependencies on each run
-    libervia fg -- --build-only && \
-    sat stop
-
-EXPOSE 8080 8443
-
-ENTRYPOINT ["libervia"]
-CMD ["fg"]
--- a/docker/libervia_e2e/Dockerfile	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-FROM salutatoi/libervia
-
-LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
-
-ARG DEBIAN_FRONTEND=noninteractive
-
-USER root
-
-# we install pre-generated certificates so we can do tests with valid TLS
-# those certificates are the same as in salutatoi/backend_e2e
-COPY --chown=root:root certificates/minica.pem /usr/local/share/ca-certificates/minica.crt
-COPY --chown=root:tls-cert certificates/server1.test/cert.pem /usr/share/sat/certificates/server1.test.pem
-COPY --chown=root:tls-cert certificates/server1.test/key.pem /usr/share/sat/certificates/server1.test-key.pem
-RUN update-ca-certificates
-
-COPY --chown=root:root sat.conf /etc/sat.conf
-
-WORKDIR /home/sat
-USER sat
--- a/docker/libervia_e2e/certificates/README	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-this certificates are used to enable TLS during tests. Those must be the same as in
-backend_e2e (they are generated there)
--- a/docker/libervia_e2e/certificates/minica-key.pem	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAvO1Mq06trCFWhsFzX9nBV+2/jJLJ0ishn5VkbeWkayXf609t
-5Lg6cQealXMvAjPYK9Kuy4patmJ0iMT53/x6rmfbhbcp40Licuc7RGrpcNgbllAA
-uIcosisIsfNzvOLkTA2+nxj7F7jkOKmvtoNU8zc5PKEObsrVd04CuhH4/WPwG4yT
-Lfkpuq5Db3B5JRzghCWDgi1U9aTvCcHOjDbraBwJZSsYBN9RY+KFVHEDQSQaWAkj
-UoimwRSmV+G65/+vjIkkEIKNmzQ+FaK5kYNFUjVz1gWiq8SAwL1p4B5pFJ35ze6c
-WDko5OxccMs0k8NQJ8GxIvf5PmApr9lvIuUuCQIDAQABAoIBABLTCiqfgkp+X+K5
-b8eDKPKb69QT5CwexBDkj8crdICAm5kUpvx9JsWQXmS5v1tW0xk6utPpCzTVBouC
-JOueepLaIlNmdrQAPBP62jrs9CmcPtNxUUERpopqI0mn2kZdzSWO0QmFMa+haowC
-zFFBMLuzKu7RlWCQsUhb64WiuM52dOeQLzSCCzQK0+6a7Ox3uSwSCab+Q+LLbJDi
-XKKnYlQR0oX1jl82GOxn36wpXKmOqSfqrrPMP4tvD1l97M+POJ8jbWBCn5aiWdqN
-pWGgNpzzvsSEdnzDoKf+H/L7B9joNic+csch5KKF7WR6t1/MOj9hR9zf9bJKHRmC
-eSnihIkCgYEA3yShCC1X8ljhIRf7t26oVTdmt/WFT676afq6gQJUVsOANq/QVsHB
-gbDDltQSxQnNVOIt+wAIvz349KbSvPQ22+CpADQjuAdXumXctJOI38OydVW+0vPn
-nkdearUEOayuxC9Ztsia9gF/udFWNZmYVi2PP5cNYPsxDS77g9EgNUsCgYEA2L7l
-AUrBD6BKbhr4a81TKB9g37z1X8uD49dSq9KldnpDRybinzQLOTdc3tGOvrCVT/vI
-PLB5B8AByfnta/pek+mAdoOxFuuF7v2m0OE37+ZkbR+haTETeplouLcZcnJcO4V3
-unQSGA6Gv4oMK85akWW2RqbRKxwQ8s4xeZ1d2XsCgYAw848kBRZ7AsZ4hRNiXTMu
-ZpXxGzpgjak/oJJThNhNpFu3I4CX16+ErOtrZiCr+weBbJDbtFk24vh/ay1l6Ek0
-mSdZ9RY0499586ikMI1hUUQP+3x+OKWCEnQDAqznnhtEzIJo178u4otLj0HTRlul
-5B69u3xi3xgWpUzl0PW42wKBgQCnOE/x+TyN07rYy9IRSa34bI0O0Pf2Wkt9Aujz
-S2cAyz8Qq/13mm12TTJHbiHVGON5e+V2fShDRG2c6Ee2YMmLEEFeLif4aOlCA0wq
-JzhCy9t7HUYopAZFNgpHSGxHkdd6zHQc0+QJz1tCdz0ApwnU10YTqCwEOHkS+uXM
-0A5R9QKBgQCT2AgHJBHb6gksum1ipSc9v13x+P59hrbJ8sGxRZvQGfB7igXDxkBV
-t0/nKltzyZFFNdTSUOHRLrygjTxpu93XWtpA36N7R8SbfGqMsRJeTfdV4vAZtR2x
-EG0OyJaB/EfwlhXdAfF11jPoI6NQmBAeAoyWEbcitmuR6fxrqYWOZQ==
------END RSA PRIVATE KEY-----
--- a/docker/libervia_e2e/certificates/minica.pem	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDSzCCAjOgAwIBAgIIYcWiSXEWKycwDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
-AxMVbWluaWNhIHJvb3QgY2EgNjFjNWEyMCAXDTIwMTExOTE3MTAwMFoYDzIxMjAx
-MTE5MTcxMDAwWjAgMR4wHAYDVQQDExVtaW5pY2Egcm9vdCBjYSA2MWM1YTIwggEi
-MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC87UyrTq2sIVaGwXNf2cFX7b+M
-ksnSKyGflWRt5aRrJd/rT23kuDpxB5qVcy8CM9gr0q7Lilq2YnSIxPnf/HquZ9uF
-tynjQuJy5ztEaulw2BuWUAC4hyiyKwix83O84uRMDb6fGPsXuOQ4qa+2g1TzNzk8
-oQ5uytV3TgK6Efj9Y/AbjJMt+Sm6rkNvcHklHOCEJYOCLVT1pO8Jwc6MNutoHAll
-KxgE31Fj4oVUcQNBJBpYCSNSiKbBFKZX4brn/6+MiSQQgo2bND4VormRg0VSNXPW
-BaKrxIDAvWngHmkUnfnN7pxYOSjk7FxwyzSTw1AnwbEi9/k+YCmv2W8i5S4JAgMB
-AAGjgYYwgYMwDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggr
-BgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBRQfEdSX8zI0mvb
-VoU7AsYtFA5W8zAfBgNVHSMEGDAWgBRQfEdSX8zI0mvbVoU7AsYtFA5W8zANBgkq
-hkiG9w0BAQsFAAOCAQEAA6LLnPz043imkMXaeXgAtsKk2JYdpGAZeCeHolzOFpMQ
-AQgq+3PkVbcpopbXtXxuiTTAjgVIoMnn6tKQbcSeDP6ydOJhjrDfUN8qx03peYw0
-HOqCvGwqssR7ew6MhyVPSyJOdz74NrSoZdxn7bz369A+R6BG7QyKyl6OlW4x+tuI
-htLQ9vWOxVRBORuEFQ/F3hxwDJY1aT5oCEYzOy7pvOrAh+gnoAb++isi/uwxSufX
-GQs1jejANCi+Rkxe918woDH4mosr9ypRapWPJU0flyxlQUQyAInu4oyDYP3Peits
-D1Y5DkLN/dxIxg1drlNgIGDOCxbV85iDKVPnQ5fmeA==
------END CERTIFICATE-----
--- a/docker/libervia_e2e/certificates/server1.test/cert.pem	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDgzCCAmugAwIBAgIIZiX7tomjsm8wDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
-AxMVbWluaWNhIHJvb3QgY2EgNjFjNWEyMB4XDTIwMTExOTE3MTAwMFoXDTIyMTIx
-OTE3MTAwMFowFzEVMBMGA1UEAxMMc2VydmVyMS50ZXN0MIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEAqO9edKoh9DZfVeb8n0iCJ375QqVVHuS3AI22VTRL
-sa6lYYjjlcag4GeJScZNnQzdBHLRfsZBVKIYbPPuB4+p7w5V56n61kPd7oWTEfe8
-UYvgQOcEo7u7EDMIgFkgtMLJBMUBLPdBwNjeQdFk+yg+pUls7LXXzZXZsrupLfvP
-YP81xZiD9BHk6/D0ia4oaQ873VAZwuFviqO+7asn46AyR94n3MlABG7iyKoSs/rO
-Yh13cFEEvbIE/nHTr+rbeswHUtZwKhqQ83iuAphTUlNliAiGHKPxLjojYjGGq7ES
-6BUs4REeyavaYFzyh3JUyicBYqLvMPy449PVkCTF//XRAQIDAQABo4HJMIHGMA4G
-A1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYD
-VR0TAQH/BAIwADAfBgNVHSMEGDAWgBRQfEdSX8zI0mvbVoU7AsYtFA5W8zBmBgNV
-HREEXzBdggxzZXJ2ZXIxLnRlc3SCDiouc2VydmVyMS50ZXN0ggxzZXJ2ZXIyLnRl
-c3SCDHNlcnZlcjMudGVzdIIIc2F0LnRlc3SCCGxpYmVydmlhgg1saWJlcnZpYS50
-ZXN0MA0GCSqGSIb3DQEBCwUAA4IBAQCGar+WGZZVouJHCTcI5NEIqE7+j8ooLAQA
-r57rYnjOQEVp0hCM4gGUoolp0iq7GC6Ep8hptRwSlvm4P6nR4MrXoqE+La/qrygO
-1aue4td+4HUFLyPkjMRwOA5Mzg0reGcOI+Ptc47zyIgij+HmUROu/D/Xdoat0LGN
-rzqmaTYhZ7Ifh2XtcZPfkFmYh/JEF7qgspNatOmka2XSLwzzRDTERN8Z04rB2NfA
-n2xoadafPDu9ZnIrWNi+MVvvNwtppWZ1TXHaYEWW2dx2nXdCbsIJaUwaKDAfyppk
-+SHxauKPbpvx8m38nKw7cC54miMR1PHyIspK8Fpc84tMCDU/vCfL
------END CERTIFICATE-----
--- a/docker/libervia_e2e/certificates/server1.test/key.pem	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAqO9edKoh9DZfVeb8n0iCJ375QqVVHuS3AI22VTRLsa6lYYjj
-lcag4GeJScZNnQzdBHLRfsZBVKIYbPPuB4+p7w5V56n61kPd7oWTEfe8UYvgQOcE
-o7u7EDMIgFkgtMLJBMUBLPdBwNjeQdFk+yg+pUls7LXXzZXZsrupLfvPYP81xZiD
-9BHk6/D0ia4oaQ873VAZwuFviqO+7asn46AyR94n3MlABG7iyKoSs/rOYh13cFEE
-vbIE/nHTr+rbeswHUtZwKhqQ83iuAphTUlNliAiGHKPxLjojYjGGq7ES6BUs4REe
-yavaYFzyh3JUyicBYqLvMPy449PVkCTF//XRAQIDAQABAoIBAFt8PdfKJtcc9uYL
-UDVmS+3dqlj4Ni+jxqMLG3nq9y8DGFbIjg8XYRoFl+iW9oMdaze0glU4Qjr2CWo/
-c2Eu4OUwCz+I4ulUGYTJW4r4cUhsCoa7VNzilnxAVtNC8R5S+g+WLHvQbxBjoYFd
-R2VoNvzF1bIfC/4ur5VGYWkgm/63dTdDd2dJoQp30cypL5lL6v+T3FxkcTEYYuu2
-Q05mwXZ/zekzwQqPKX0/M/UxlqeItlM7rsIp7+baAdoXEzxzadGkFdUgE+jh5fwG
-gdWiTJLSToZrlfpTthkZ3IegDhHHBlRHR8BQq0MypR/j6eM/iONQnvuODx6eaTqQ
-Lf/h1UECgYEAxVbiqgDNp3z/D9bwJfYWneLrdJ6Bm8NJiJLEG8nlCZW+34wRRyNR
-Jlwk6aPzT3ibf6OPaAvCnH0ENBGUyxe/Ri2IeWPF5nmbESq6TqheKJdmFIPQPTCS
-KoLWYjbLpTN22Pi8S/OgwbVxyZ09bLjGrjhsHw6GnbZvzPt3T3pvMQkCgYEA2yb4
-oBpeV4A085qt79mq4SK6093f/D9d7yWNmtBlJM5cCurZukvYzNSsGjjwIjVjBlla
-mhec+fsXmFUjYefRDLs6vNZuVkrSwC5E9uwDuG89W15BfaIyQjHpAyLFWM2eTivD
-Hmr4F8gJ3Rgac1KfdcnxyBOJgwFDsOuSIOT8NjkCgYEAs5RwqlIW1B8MoWZwnasH
-Q+C3ciW4Pn4FkbI1ojAlLIbH7viw1HLQKz9ZHADlruFLaGj4XK+vBudBhvyk0fin
-SH6xHf5snmL1eTbP2jqfjQLRk0OsobJsoSD1ZOUGhyyBL8uS1u860GyEwvtDZYf0
-zaBszApU+HqH3RrNpVb+jrkCgYEAv5COTi0egHAyWSrBlmJ3q3qXQzG0ZCPj8XKr
-GEPH1eeIr4ZgsicwqMPSeM2CovR1zgv3VbEEZ8Oj+WWamy9vHijfjEgIhOe8137a
-i9j825BpWt/GcZKBSjmkjDgtt5VtJrm8Qm+Q1ADpFlnGbT4w416WOaVSU7CcQh95
-ScW/7YkCgYEAgA3NJVTGwP7KDqN4VTiJV+8w5q7YiucrZV/eyY0D3jynsPyp5kl2
-gZn1yuGFOjR36JuzzuIdJVNFRn/0z4GDO91Ogba111VLld4LynzR36bDSO/odJqM
-ef61ZT4IUHQ+uB3CqFQHAWHT9RmQIylyjKcibIDWcmq2P0Bsq03A4kM=
------END RSA PRIVATE KEY-----
--- a/docker/libervia_e2e/sat.conf	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-[libervia]
-tls_certificate = /usr/share/sat/certificates/server1.test.pem
-tls_private_key = /usr/share/sat/certificates/server1.test-key.pem
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/prosody-e2e/Dockerfile	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,22 @@
+FROM prosody/prosody
+
+LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
+
+ARG DEBIAN_FRONTEND=noninteractive
+
+# we synchronize tls-cert group with the one in libervia-web/libervia-backend
+RUN addgroup tls-cert --gid 9999 && adduser prosody tls-cert && \
+    # we want third party modules
+    apt-get update && apt-get install -y --no-install-recommends mercurial && \
+    mkdir -p /usr/local/share/prosody && \
+    hg clone https://hg.prosody.im/prosody-modules /usr/local/share/prosody/modules && \
+    chown -R prosody:prosody /usr/local/share/prosody
+
+COPY --chown=root:prosody prosody.cfg.lua /etc/prosody/prosody.cfg.lua
+COPY --chown=root:tls-cert certificates/server1.test/cert.pem /usr/share/libervia/certificates/server1.test.pem
+COPY --chown=root:tls-cert certificates/server1.test/key.pem /usr/share/libervia/certificates/server1.test-key.pem
+
+# we add exec to handle properly signals, this is missing upstream
+# FIXME: to be removed when new images are generated with
+#        https://github.com/prosody/prosody-docker/pull/65
+RUN sed -i "s/^runuser -u prosody/exec \0/" /entrypoint.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/prosody-e2e/certificates/README	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,2 @@
+this certificates are used to enable TLS during tests. Those must be the same as in
+backend_e2e (they are generated there)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/prosody-e2e/certificates/server1.test/cert.pem	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDijCCAnKgAwIBAgIITwyWOI+1bQ8wDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
+AxMVbWluaWNhIHJvb3QgY2EgNjFjNWEyMB4XDTIxMDQxNDE2MjA0NFoXDTIzMDUx
+NDE2MjA0NFowFzEVMBMGA1UEAxMMc2VydmVyMS50ZXN0MIIBIjANBgkqhkiG9w0B
+AQEFAAOCAQ8AMIIBCgKCAQEAtXAh2Mn5eIFLI5v1Zz8+BRsPKfjn1RBBs+ZVVysJ
+ez4DOOXcouWjOqcMPhWK/lN3NNm3SOWJQRJEZjHaU197YioX1cr1KP1pfAWlm03t
+MZpf/XoeoKpV+6svM2m6emNh6Y812ATin2DIigm2b4UrHiP8Seppd84dReGdpaD9
+7zCZBKv5fHCwcY+irjsV+1vRapLDvDMIL/6Vk8Fw3m9UlIhdZNudTKgxo8lYbhuo
+QsyhG0ydALgp+eeNKnZZdBCpdFOtZztbrS0DifQvkKxbv7+V3IAQ+4lLAfLoFNuV
+H5cukfuJbR9UjyqvBH16yCE2VNvL+dDZXYmh/q3yTF0MgQIDAQABo4HQMIHNMA4G
+A1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYD
+VR0TAQH/BAIwADAfBgNVHSMEGDAWgBRQfEdSX8zI0mvbVoU7AsYtFA5W8zBtBgNV
+HREEZjBkggxzZXJ2ZXIxLnRlc3SCDiouc2VydmVyMS50ZXN0ggxzZXJ2ZXIyLnRl
+c3SCDHNlcnZlcjMudGVzdIIVbGliZXJ2aWEtYmFja2VuZC50ZXN0ghFsaWJlcnZp
+YS13ZWIudGVzdDANBgkqhkiG9w0BAQsFAAOCAQEAetIuuZd7O0G8ssueqddVfedM
+syL4NZp/I6AWy9qiUcKf9lhGtLE3AblL5fhHanty94B4EyW5+8fjSrSSSRbUYkFH
+dbS41ptzuPGtU9S7OFp7C1TAZHeAgCdvJ4ZnD2YFNQXJ89bp+ZEi4Znu1avqckJP
+gMAd695gZaobZzehwAG00Xd9ELVku3Cnu4gsxMbgvcRFqq4Bplk/YYtDtd9FG2Qr
+mSBuUGwGikr9C4xEUw69uIq1SK98qaOBEwUgKYb/Rvh03OP5F2u36zdH8J3W/Mjv
+OGYo4RCLZFG0CntYLFTWOAoYRs7C7dlgwXRNgaNaRiseiPDka1DAaf6BQ8riMw==
+-----END CERTIFICATE-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/prosody-e2e/certificates/server1.test/key.pem	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAtXAh2Mn5eIFLI5v1Zz8+BRsPKfjn1RBBs+ZVVysJez4DOOXc
+ouWjOqcMPhWK/lN3NNm3SOWJQRJEZjHaU197YioX1cr1KP1pfAWlm03tMZpf/Xoe
+oKpV+6svM2m6emNh6Y812ATin2DIigm2b4UrHiP8Seppd84dReGdpaD97zCZBKv5
+fHCwcY+irjsV+1vRapLDvDMIL/6Vk8Fw3m9UlIhdZNudTKgxo8lYbhuoQsyhG0yd
+ALgp+eeNKnZZdBCpdFOtZztbrS0DifQvkKxbv7+V3IAQ+4lLAfLoFNuVH5cukfuJ
+bR9UjyqvBH16yCE2VNvL+dDZXYmh/q3yTF0MgQIDAQABAoIBAFCxZSxAb6Yrgpp8
+s0DO/KtSpITbQWgeCcqTxyK0bkwUgWRdvqnoDZd5UdWOyTlhL6QerAhMpaV+FVOK
+Gnp3/azj4aPg1vX69l4FOOkAWFx2NvjJxjNYblM2iBCKljf2WUaBvcWsLooJhkb2
+GOAyTsHh6UOKcIuq7JP2yqEuH6GvsD9z5B82d/uWtCMlf4PA26R6GGrEaJ4ARY0y
+ePthWmYOJdZi2CLf5RTfd3Y89EKkYbyj+/bmGTFrPThJwBcqjiTV+/Mu3rE7RG/i
+hkZWZi7Q319w/i83In0vHReSb/DOiwjYp+ChPjvKdv0DjL4RyfX5vSkZDDC+LKI8
+5fwEgy0CgYEA51LSAd2DGtYieeQc9jGiUtXzbxvTObGP01NcCX7iS04EF1czj/Ur
+Zrqwsc7yKkdJWaAn12JOolPOZtjEeU4Q3/Oyen9LdxsfPNzpHKqlcOJ/xVWZ/ikY
+WLn5nwpD8HLkx+WZj7TzbBqcs9UiKRkW7bUC3A7KDeBH/nMBDjWwJjcCgYEAyMr/
+AlpRf7OgYnOgEFYcHbNNzp2b7p5lK+8eDrEiRW+U3aT00f8+ZeqF6wSe0hn3gs94
+6IzRtrr0SBObi7My5t6duz56a6K3NE4JhI+3/P2YyQy/2lhYUkA7CG1YMJzvkVaM
+bSuY9bMptzVpjL6Sn3kyHoW/R9d9i3n0ipBDhwcCgYEA2bLy2ziJwv7VkVsh+nx5
+pHWf1Ogd4IT/s0UXMASOmYpBhWnWp9t2zgZSdfQpqapPGJ8F/8iP8mrmq5nDRdo3
+PVyOkoQsFFqdCl1osUbTzioLTz6hXzVzqUTU7Fzv1WF7d7jXzQvhrtJYuVGTBZSM
+JIeeulTcyTRS7N90ldfm//8CgYEAl1ia+jUFtRG51Dt+7JFbQ+/At/oIbMWrUIA9
+0akmQdwnAyGw/xA7AirRoiGrbIXyEAE+C1sJP4iPVDyjQ5tgxLALh/VB5RuSp7Qi
+bG6/qcuke/ZGLdflSqnrVSDGFm5UDOKFmkwAUUIoMVXrJxEGB3ockvERCp+cm6Li
+9gZjP8UCgYATWrDUb3+LOVHIVuYcrd9CDfO7OHT1yxmnef2hBYYs8MQ2ewVBTWkq
+jzTPuUCub6T72uVpefOciBByqbgUUUnXgfX8nTT2BEBGjoubf3/77RvsEnrEGEI/
+XncILicM1dwQXqR5fWDcpWRhehIzlzF70iZ3Ws1QC63gv4Z6VGifMQ==
+-----END RSA PRIVATE KEY-----
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/prosody-e2e/entrypoint.sh	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,15 @@
+#!/bin/bash
+set -e
+
+usermod -u "$(stat -c %u /var/lib/prosody/.)" prosody
+
+if [[ "$1" != "prosody" ]]; then
+    exec prosodyctl "$@"
+    exit 0;
+fi
+
+if [ "$LOCAL" -a  "$PASSWORD" -a "$DOMAIN" ] ; then
+    prosodyctl register "$LOCAL" "$DOMAIN" "$PASSWORD"
+fi
+
+exec runuser -u prosody -- "$@"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/docker/prosody-e2e/prosody.cfg.lua	Fri Apr 16 18:32:16 2021 +0200
@@ -0,0 +1,116 @@
+-- Prosody XMPP Server Configuration
+-- Adapted for SàT e2e tests
+
+local socket = require "socket"
+
+daemonize = false;
+admins = { }
+
+plugin_paths = { "/usr/local/share/prosody/modules" }
+
+modules_enabled = {
+	"admin_adhoc";
+	"blocklist";
+	"carbons";
+	"csi";
+	"csi_simple";
+	"delegation";
+	"dialback";
+	"disco";
+	"mam";
+	"pep";
+	"ping";
+	"private";
+	"privilege";
+	"register";
+	"roster";
+	"saslauth";
+	"smacks";
+	"time";
+	"tls";
+	"uptime";
+	"vcard4";
+	"vcard_legacy";
+	"version";
+	"ipcheck";
+}
+
+modules_disabled = {
+}
+
+allow_registration = true
+registration_whitelist = { socket.dns.toip("backend") }
+whitelist_registration_only = true
+
+c2s_require_encryption = true
+s2s_require_encryption = true
+s2s_secure_auth = false
+
+pidfile = "/var/run/prosody/prosody.pid"
+
+authentication = "internal_hashed"
+
+archive_expires_after = "1d"
+
+log = {
+    {levels = {min = "info"}, to = "console"};
+}
+
+certificates = "certs"
+
+ssl = {
+	key = "/usr/share/libervia/certificates/server1.test-key.pem";
+	certificate = "/usr/share/libervia/certificates/server1.test.pem";
+}
+
+component_interface = "*"
+
+VirtualHost "server1.test"
+	privileged_entities = {
+		["pubsub.server1.test"] = {
+			roster = "get";
+            message = "outgoing";
+			presence = "roster";
+		},
+	}
+
+	delegations = {
+		["urn:xmpp:mam:2"] = {
+			filtering = {"node"};
+			jid = "pubsub.server1.test";
+		},
+		["http://jabber.org/protocol/pubsub"] = {
+			jid = "pubsub.server1.test";
+		},
+		["http://jabber.org/protocol/pubsub#owner"] = {
+			jid = "pubsub.server1.test";
+		},
+		["https://salut-a-toi/protocol/schema:0"] = {
+			jid = "pubsub.server1.test";
+		},
+		["http://jabber.org/protocol/disco#items:*"] = {
+			jid = "pubsub.server1.test";
+		},
+		["https://salut-a-toi.org/spec/pubsub_admin:0"] = {
+			jid = "pubsub.server1.test";
+		},
+	}
+
+VirtualHost "server2.test"
+
+VirtualHost "server3.test"
+
+-- Component "muc.server1.test" "muc"
+-- 	modules_enabled = {
+-- 		"muc_mam";
+-- 		"vcard";
+-- 	}
+
+Component "pubsub.server1.test"
+	component_secret = "test_e2e"
+	modules_enabled = {"privilege", "delegation"}
+
+Component "proxy.server1.test" "proxy65"
+
+Component "files.server1.test"
+	component_secret = "test_e2e"
--- a/docker/prosody_e2e/Dockerfile	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-FROM prosody/prosody
-
-LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
-
-ARG DEBIAN_FRONTEND=noninteractive
-
-# we synchronize tls-cert group with the one in salutatoi/sat
-RUN addgroup tls-cert --gid 9999 && adduser prosody tls-cert && \
-    # we want third party modules
-    apt-get update && apt-get install -y --no-install-recommends mercurial && \
-    mkdir -p /usr/local/share/prosody && \
-    hg clone https://hg.prosody.im/prosody-modules /usr/local/share/prosody/modules && \
-    chown -R prosody:prosody /usr/local/share/prosody
-
-COPY --chown=root:prosody prosody.cfg.lua /etc/prosody/prosody.cfg.lua
-COPY --chown=root:tls-cert certificates/server1.test/cert.pem /usr/share/sat/certificates/server1.test.pem
-COPY --chown=root:tls-cert certificates/server1.test/key.pem /usr/share/sat/certificates/server1.test-key.pem
-
-# we add exec to handle properly signals, this is missing upstream
-# FIXME: to be removed when new images are generated with
-#        https://github.com/prosody/prosody-docker/pull/65
-RUN sed -i "s/^runuser -u prosody/exec \0/" /entrypoint.sh
--- a/docker/prosody_e2e/certificates/README	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-this certificates are used to enable TLS during tests. Those must be the same as in
-backend_e2e (they are generated there)
--- a/docker/prosody_e2e/certificates/server1.test/cert.pem	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIDgzCCAmugAwIBAgIIZiX7tomjsm8wDQYJKoZIhvcNAQELBQAwIDEeMBwGA1UE
-AxMVbWluaWNhIHJvb3QgY2EgNjFjNWEyMB4XDTIwMTExOTE3MTAwMFoXDTIyMTIx
-OTE3MTAwMFowFzEVMBMGA1UEAxMMc2VydmVyMS50ZXN0MIIBIjANBgkqhkiG9w0B
-AQEFAAOCAQ8AMIIBCgKCAQEAqO9edKoh9DZfVeb8n0iCJ375QqVVHuS3AI22VTRL
-sa6lYYjjlcag4GeJScZNnQzdBHLRfsZBVKIYbPPuB4+p7w5V56n61kPd7oWTEfe8
-UYvgQOcEo7u7EDMIgFkgtMLJBMUBLPdBwNjeQdFk+yg+pUls7LXXzZXZsrupLfvP
-YP81xZiD9BHk6/D0ia4oaQ873VAZwuFviqO+7asn46AyR94n3MlABG7iyKoSs/rO
-Yh13cFEEvbIE/nHTr+rbeswHUtZwKhqQ83iuAphTUlNliAiGHKPxLjojYjGGq7ES
-6BUs4REeyavaYFzyh3JUyicBYqLvMPy449PVkCTF//XRAQIDAQABo4HJMIHGMA4G
-A1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDAYD
-VR0TAQH/BAIwADAfBgNVHSMEGDAWgBRQfEdSX8zI0mvbVoU7AsYtFA5W8zBmBgNV
-HREEXzBdggxzZXJ2ZXIxLnRlc3SCDiouc2VydmVyMS50ZXN0ggxzZXJ2ZXIyLnRl
-c3SCDHNlcnZlcjMudGVzdIIIc2F0LnRlc3SCCGxpYmVydmlhgg1saWJlcnZpYS50
-ZXN0MA0GCSqGSIb3DQEBCwUAA4IBAQCGar+WGZZVouJHCTcI5NEIqE7+j8ooLAQA
-r57rYnjOQEVp0hCM4gGUoolp0iq7GC6Ep8hptRwSlvm4P6nR4MrXoqE+La/qrygO
-1aue4td+4HUFLyPkjMRwOA5Mzg0reGcOI+Ptc47zyIgij+HmUROu/D/Xdoat0LGN
-rzqmaTYhZ7Ifh2XtcZPfkFmYh/JEF7qgspNatOmka2XSLwzzRDTERN8Z04rB2NfA
-n2xoadafPDu9ZnIrWNi+MVvvNwtppWZ1TXHaYEWW2dx2nXdCbsIJaUwaKDAfyppk
-+SHxauKPbpvx8m38nKw7cC54miMR1PHyIspK8Fpc84tMCDU/vCfL
------END CERTIFICATE-----
--- a/docker/prosody_e2e/certificates/server1.test/key.pem	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAqO9edKoh9DZfVeb8n0iCJ375QqVVHuS3AI22VTRLsa6lYYjj
-lcag4GeJScZNnQzdBHLRfsZBVKIYbPPuB4+p7w5V56n61kPd7oWTEfe8UYvgQOcE
-o7u7EDMIgFkgtMLJBMUBLPdBwNjeQdFk+yg+pUls7LXXzZXZsrupLfvPYP81xZiD
-9BHk6/D0ia4oaQ873VAZwuFviqO+7asn46AyR94n3MlABG7iyKoSs/rOYh13cFEE
-vbIE/nHTr+rbeswHUtZwKhqQ83iuAphTUlNliAiGHKPxLjojYjGGq7ES6BUs4REe
-yavaYFzyh3JUyicBYqLvMPy449PVkCTF//XRAQIDAQABAoIBAFt8PdfKJtcc9uYL
-UDVmS+3dqlj4Ni+jxqMLG3nq9y8DGFbIjg8XYRoFl+iW9oMdaze0glU4Qjr2CWo/
-c2Eu4OUwCz+I4ulUGYTJW4r4cUhsCoa7VNzilnxAVtNC8R5S+g+WLHvQbxBjoYFd
-R2VoNvzF1bIfC/4ur5VGYWkgm/63dTdDd2dJoQp30cypL5lL6v+T3FxkcTEYYuu2
-Q05mwXZ/zekzwQqPKX0/M/UxlqeItlM7rsIp7+baAdoXEzxzadGkFdUgE+jh5fwG
-gdWiTJLSToZrlfpTthkZ3IegDhHHBlRHR8BQq0MypR/j6eM/iONQnvuODx6eaTqQ
-Lf/h1UECgYEAxVbiqgDNp3z/D9bwJfYWneLrdJ6Bm8NJiJLEG8nlCZW+34wRRyNR
-Jlwk6aPzT3ibf6OPaAvCnH0ENBGUyxe/Ri2IeWPF5nmbESq6TqheKJdmFIPQPTCS
-KoLWYjbLpTN22Pi8S/OgwbVxyZ09bLjGrjhsHw6GnbZvzPt3T3pvMQkCgYEA2yb4
-oBpeV4A085qt79mq4SK6093f/D9d7yWNmtBlJM5cCurZukvYzNSsGjjwIjVjBlla
-mhec+fsXmFUjYefRDLs6vNZuVkrSwC5E9uwDuG89W15BfaIyQjHpAyLFWM2eTivD
-Hmr4F8gJ3Rgac1KfdcnxyBOJgwFDsOuSIOT8NjkCgYEAs5RwqlIW1B8MoWZwnasH
-Q+C3ciW4Pn4FkbI1ojAlLIbH7viw1HLQKz9ZHADlruFLaGj4XK+vBudBhvyk0fin
-SH6xHf5snmL1eTbP2jqfjQLRk0OsobJsoSD1ZOUGhyyBL8uS1u860GyEwvtDZYf0
-zaBszApU+HqH3RrNpVb+jrkCgYEAv5COTi0egHAyWSrBlmJ3q3qXQzG0ZCPj8XKr
-GEPH1eeIr4ZgsicwqMPSeM2CovR1zgv3VbEEZ8Oj+WWamy9vHijfjEgIhOe8137a
-i9j825BpWt/GcZKBSjmkjDgtt5VtJrm8Qm+Q1ADpFlnGbT4w416WOaVSU7CcQh95
-ScW/7YkCgYEAgA3NJVTGwP7KDqN4VTiJV+8w5q7YiucrZV/eyY0D3jynsPyp5kl2
-gZn1yuGFOjR36JuzzuIdJVNFRn/0z4GDO91Ogba111VLld4LynzR36bDSO/odJqM
-ef61ZT4IUHQ+uB3CqFQHAWHT9RmQIylyjKcibIDWcmq2P0Bsq03A4kM=
------END RSA PRIVATE KEY-----
--- a/docker/prosody_e2e/entrypoint.sh	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-#!/bin/bash
-set -e
-
-usermod -u "$(stat -c %u /var/lib/prosody/.)" prosody
-
-if [[ "$1" != "prosody" ]]; then
-    exec prosodyctl "$@"
-    exit 0;
-fi
-
-if [ "$LOCAL" -a  "$PASSWORD" -a "$DOMAIN" ] ; then
-    prosodyctl register "$LOCAL" "$DOMAIN" "$PASSWORD"
-fi
-
-exec runuser -u prosody -- "$@"
--- a/docker/prosody_e2e/prosody.cfg.lua	Wed Apr 14 15:54:26 2021 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
--- Prosody XMPP Server Configuration
--- Adapted for SàT e2e tests
-
-local socket = require "socket"
-
-daemonize = false;
-admins = { }
-
-plugin_paths = { "/usr/local/share/prosody/modules" }
-
-modules_enabled = {
-	"admin_adhoc";
-	"blocklist";
-	"carbons";
-	"csi";
-	"csi_simple";
-	"delegation";
-	"dialback";
-	"disco";
-	"mam";
-	"pep";
-	"ping";
-	"private";
-	"privilege";
-	"register";
-	"roster";
-	"saslauth";
-	"smacks";
-	"time";
-	"tls";
-	"uptime";
-	"vcard4";
-	"vcard_legacy";
-	"version";
-	"ipcheck";
-}
-
-modules_disabled = {
-}
-
-allow_registration = true
-registration_whitelist = { socket.dns.toip("sat") }
-whitelist_registration_only = true
-
-c2s_require_encryption = true
-s2s_require_encryption = true
-s2s_secure_auth = false
-
-pidfile = "/var/run/prosody/prosody.pid"
-
-authentication = "internal_hashed"
-
-archive_expires_after = "1d"
-
-log = {
-    {levels = {min = "info"}, to = "console"};
-}
-
-certificates = "certs"
-
-ssl = {
-	key = "/usr/share/sat/certificates/server1.test-key.pem";
-	certificate = "/usr/share/sat/certificates/server1.test.pem";
-}
-
-component_interface = "*"
-
-VirtualHost "server1.test"
-	privileged_entities = {
-		["pubsub.server1.test"] = {
-			roster = "get";
-            message = "outgoing";
-			presence = "roster";
-		},
-	}
-
-	delegations = {
-		["urn:xmpp:mam:2"] = {
-			filtering = {"node"};
-			jid = "pubsub.server1.test";
-		},
-		["http://jabber.org/protocol/pubsub"] = {
-			jid = "pubsub.server1.test";
-		},
-		["http://jabber.org/protocol/pubsub#owner"] = {
-			jid = "pubsub.server1.test";
-		},
-		["https://salut-a-toi/protocol/schema:0"] = {
-			jid = "pubsub.server1.test";
-		},
-		["http://jabber.org/protocol/disco#items:*"] = {
-			jid = "pubsub.server1.test";
-		},
-		["https://salut-a-toi.org/spec/pubsub_admin:0"] = {
-			jid = "pubsub.server1.test";
-		},
-	}
-
-VirtualHost "server2.test"
-
-VirtualHost "server3.test"
-
--- Component "muc.server1.test" "muc"
--- 	modules_enabled = {
--- 		"muc_mam";
--- 		"vcard";
--- 	}
-
-Component "pubsub.server1.test"
-	component_secret = "test_e2e"
-	modules_enabled = {"privilege", "delegation"}
-
-Component "proxy.server1.test" "proxy65"
-
-Component "files.server1.test"
-	component_secret = "test_e2e"
--- a/docker/pubsub/Dockerfile	Wed Apr 14 15:54:26 2021 +0200
+++ b/docker/pubsub/Dockerfile	Fri Apr 16 18:32:16 2021 +0200
@@ -4,8 +4,6 @@
 
 ARG DEBIAN_FRONTEND=noninteractive
 
-RUN \
-
 RUN apt-get update && apt-get upgrade -y && \
     apt-get install -y --no-install-recommends locales python3-dev python3-venv python3-wheel mercurial libpq-dev gcc gnupg && \
     # we install postgresql repository to have latest version
@@ -14,23 +12,23 @@
     # now we can install the client
     apt-get install -y --no-install-recommends postgresql-client && \
     # it's better to have a dedicated user
-    useradd -m sat && \
-    mkdir /src && chown sat:sat /src && \
+    useradd -m libervia && \
+    mkdir /src && chown libervia:libervia /src && \
     # we need UTF-8 locale
     sed -i "s/# en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen && locale-gen
 
 ENV LC_ALL en_US.UTF-8
 
-WORKDIR /home/sat
-COPY entrypoint.sh /home/sat
-RUN chown sat:sat /home/sat/entrypoint.sh && chmod 0555 /home/sat/entrypoint.sh
+WORKDIR /home/libervia
+COPY entrypoint.sh /home/libervia
+RUN chown libervia:libervia /home/libervia/entrypoint.sh && chmod 0555 /home/libervia/entrypoint.sh
 
-USER sat
-RUN python3 -m venv sat_env && sat_env/bin/pip install wheel && cd /src && \
+USER libervia
+RUN python3 -m venv libervia_env && libervia_env/bin/pip install -U pip wheel && cd /src && \
     # we install thoses packages in editable mode, so we can replace them easily with volumes
-    hg clone https://repos.goffi.org/sat_tmp && ~/sat_env/bin/pip install -e sat_tmp && \
-    mv sat_tmp/sat_tmp.egg-info ~/sat_env/lib/python3.*/site-packages && \
-    hg clone https://repos.goffi.org/sat_pubsub && ~/sat_env/bin/pip install -e sat_pubsub && \
-    mv sat_pubsub/sat_pubsub.egg-info ~/sat_env/lib/python3.*/site-packages
+    hg clone https://repos.goffi.org/sat_tmp && ~/libervia_env/bin/pip install -e sat_tmp && \
+    mv sat_tmp/sat_tmp.egg-info ~/libervia_env/lib/python3.*/site-packages && \
+    hg clone https://repos.goffi.org/sat_pubsub && ~/libervia_env/bin/pip install -e sat_pubsub && \
+    mv sat_pubsub/sat_pubsub.egg-info ~/libervia_env/lib/python3.*/site-packages
 
-ENTRYPOINT ["/home/sat/entrypoint.sh"]
+ENTRYPOINT ["/home/libervia/entrypoint.sh"]
--- a/docker/pubsub/entrypoint.sh	Wed Apr 14 15:54:26 2021 +0200
+++ b/docker/pubsub/entrypoint.sh	Fri Apr 16 18:32:16 2021 +0200
@@ -26,4 +26,4 @@
 
 cd $ori_dir
 
-exec /home/sat/sat_env/bin/twistd -n sat-pubsub "$@"
+exec /home/libervia/libervia_env/bin/twistd -n libervia-pubsub "$@"