docker: update following name changes:
`backend_e2e` now print properly backend logs
This commit is contained in:
parent
19da80743b
commit
363788de7d
8 changed files with 295 additions and 288 deletions
70
docker/backend-dev-e2e/Dockerfile
Normal file
70
docker/backend-dev-e2e/Dockerfile
Normal file
|
|
@ -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"]
|
||||
12
docker/backend-dev-e2e/certificates/README
Normal file
12
docker/backend-dev-e2e/certificates/README
Normal file
|
|
@ -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.
|
||||
27
docker/backend-dev-e2e/certificates/minica-key.pem
Normal file
27
docker/backend-dev-e2e/certificates/minica-key.pem
Normal file
|
|
@ -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-----
|
||||
20
docker/backend-dev-e2e/certificates/minica.pem
Normal file
20
docker/backend-dev-e2e/certificates/minica.pem
Normal file
|
|
@ -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-----
|
||||
21
docker/backend-dev-e2e/certificates/server1.test/cert.pem
Normal file
21
docker/backend-dev-e2e/certificates/server1.test/cert.pem
Normal file
|
|
@ -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-----
|
||||
27
docker/backend-dev-e2e/certificates/server1.test/key.pem
Normal file
27
docker/backend-dev-e2e/certificates/server1.test/key.pem
Normal file
|
|
@ -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-----
|
||||
10
docker/backend-dev-e2e/libervia.conf
Normal file
10
docker/backend-dev-e2e/libervia.conf
Normal file
|
|
@ -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
|
||||
7
docker/backend-dev-e2e/scripts/entrypoint.sh
Executable file
7
docker/backend-dev-e2e/scripts/entrypoint.sh
Executable file
|
|
@ -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
|
||||
Loading…
Reference in a new issue