Skip to content

Commit c33e0d9

Browse files
committed
Add e2e tests to Web Browsable API
It's very important to provide a safe way to change the Web Browsable API in the next tasks. See also: #378, #377, #376, #374, #373, and #370
1 parent 541315d commit c33e0d9

26 files changed

+465
-94
lines changed

.docker/certs/Cenobit_Root_CA.pem

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIFFzCCA3+gAwIBAgIQOWWFM0qvic8JSw9z/XMW+zANBgkqhkiG9w0BAQsFADCB
3+
ozEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMTwwOgYDVQQLDDNueWNo
4+
b2xhc0BkcmVhbWVyLmxvY2FsIChOeWNob2xhcyBPbGl2ZWlyYSBPbGl2ZWlyYSkx
5+
QzBBBgNVBAMMOm1rY2VydCBueWNob2xhc0BkcmVhbWVyLmxvY2FsIChOeWNob2xh
6+
cyBPbGl2ZWlyYSBPbGl2ZWlyYSkwHhcNMjEwNjE3MTMwMjQ1WhcNMzEwNjE3MTMw
7+
MjQ1WjCBozEeMBwGA1UEChMVbWtjZXJ0IGRldmVsb3BtZW50IENBMTwwOgYDVQQL
8+
DDNueWNob2xhc0BkcmVhbWVyLmxvY2FsIChOeWNob2xhcyBPbGl2ZWlyYSBPbGl2
9+
ZWlyYSkxQzBBBgNVBAMMOm1rY2VydCBueWNob2xhc0BkcmVhbWVyLmxvY2FsIChO
10+
eWNob2xhcyBPbGl2ZWlyYSBPbGl2ZWlyYSkwggGiMA0GCSqGSIb3DQEBAQUAA4IB
11+
jwAwggGKAoIBgQC/VgcpUwHdpe05ivn12+a0q71JaCcbhrSJYXFa3zXTKjymOYS8
12+
88iEL9X671Dwl+i9phP8bkq1E9HNgFglm9IYbZ6cfdrfc8CH2L+XnZdL5glnHZdz
13+
zTmA1iroWBTw70Y1eMUWjALK4Ib0A7qTHu5kM1gtGojYc1j1Yp4cBm6JdA/mk/Mh
14+
/iWj+voSOeHrjYBbwUioXzVshCQsUgdc4SeH3IGp1WzvJeVI9Te+cFitssvAtI4C
15+
IZboi/wlutjq66jhJp6JUOToXkJ/4kBrh1iTfYOWnQBP3gFG7PqAoiVc5uo+PQ/w
16+
Yx2BilSdc0XfsLhepI1Xg1kp67pd+xf+Jw9mNdqHCYn17ldR2TXo1u8MVmEzt9qs
17+
H7lKFh32RWOsvhFwlIIFdRGj5K6Hg16H3fZot6lpOO5yVyslettlItVWGW+bPEas
18+
hFTX4quDscIJkRXA1yO4i+ZcsP6hWiX3KVbWVHzPd8hLOzQ3H8qvduZUROIej4b9
19+
pFoNdePFVkORs+ECAwEAAaNFMEMwDgYDVR0PAQH/BAQDAgIEMBIGA1UdEwEB/wQI
20+
MAYBAf8CAQAwHQYDVR0OBBYEFIliX3yj0TrwRJ78zRyNCAev611aMA0GCSqGSIb3
21+
DQEBCwUAA4IBgQC3y+3/58Z3SZ3myaJWhrkJGdzFGVC4IHnYopptCZIJDXnt4dnX
22+
nvTcoUZ9YVojFkhWVFo/XXecr/PJY/lgqOaPbw1t2Ah5pVgmAR8SD8FVH7vRmFWk
23+
arlf0GXGonwTg/hhv+Fdt6HcjN+bg8XjRbCIJWGmuevnxoZru9HAcATRrhNRmsQ2
24+
xSUg/jU3k5is7yl/UFXVnElejD9wXMWFNkdpXCV2H81CQAwpSW0mTrq31FUpnHPX
25+
qqVa77OQo2HFQdNwEnqPlBqR9wOGuSn2LrRCm1V+rAF8UhPybU3BesoKk+lWv7wc
26+
0e37Er3sxTzBkdnWQy3/8JSrqyUzn+xlWQ3KkM9rrC28VGQkTx83Dp7ln0ad9vNd
27+
qK0i7xDv4iX7lbeJ38/qAwB5Lfnaw5SNhmVkv+CZKYHPnleixPUrlhP3w7KhVz4r
28+
nAEz1HYZ3pi/xqeWln0D+UfehUc42pcGIW1Ia+CxRut8DM1Mu1KJoSxh9dsk1n7I
29+
cowv7zPb0KBbtJM=
30+
-----END CERTIFICATE-----

.docker/nginx/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# nginx
2+
3+
### Creating the SSL Certificate
4+
5+
```
6+
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ssl/nginx-ssl.key -out ssl/nginx-ssl.crt
7+
$ openssl dhparam -out ssl/ssl-dhparam.pem 4096
8+
```
9+
10+
### Creating Root CA and Domain Certifications
11+
12+
See [here](https://github.com/FiloSottile/mkcert#installation) how to install mkcert.
13+
```
14+
$ mkcert -install
15+
$ mkcert -key-file ssl/flask-jsonrpc.cenobit.es.key -cert-file ssl/flask-jsonrpc.cenobit.es.crt *.flask-jsonrpc.cenobit.es
16+
$ cp -rf "$(mkcert -CAROOT)/rootCA.pem" ../certs/
17+
```
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
server {
2+
listen 443 ssl;
3+
listen [::]:443 ssl;
4+
5+
ssl_certificate /etc/nginx/ssl/flask-jsonrpc.cenobit.es.crt;
6+
ssl_certificate_key /etc/nginx/ssl/flask-jsonrpc.cenobit.es.key;
7+
8+
include ssl/ssl-params.conf;
9+
10+
server_name app.flask-jsonrpc.cenobit.es;
11+
12+
location / {
13+
proxy_pass http://app:5000/;
14+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
15+
proxy_set_header X-Forwarded-Proto $scheme;
16+
proxy_set_header X-Forwarded-Host $host;
17+
proxy_set_header X-Forwarded-Prefix /;
18+
}
19+
}
20+
21+
server {
22+
listen 80;
23+
listen [::]:80;
24+
25+
server_name app.flask-jsonrpc.cenobit.es;
26+
27+
return 302 https://$server_name$request_uri;
28+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
server {
2+
listen 443 ssl;
3+
listen [::]:443 ssl;
4+
5+
ssl_certificate /etc/nginx/ssl/flask-jsonrpc.cenobit.es.crt;
6+
ssl_certificate_key /etc/nginx/ssl/flask-jsonrpc.cenobit.es.key;
7+
8+
include ssl/ssl-params.conf;
9+
10+
server_name async-app.flask-jsonrpc.cenobit.es;
11+
12+
location / {
13+
proxy_pass http://async_app:5000/;
14+
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
15+
proxy_set_header X-Forwarded-Proto $scheme;
16+
proxy_set_header X-Forwarded-Host $host;
17+
proxy_set_header X-Forwarded-Prefix /;
18+
}
19+
}
20+
21+
server {
22+
listen 80;
23+
listen [::]:80;
24+
25+
server_name async-app.flask-jsonrpc.cenobit.es;
26+
27+
return 302 https://$server_name$request_uri;
28+
}

.docker/nginx/nginx.conf

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
events {
2+
worker_connections 1024;
3+
}
4+
5+
http {
6+
server {
7+
listen 80;
8+
listen [::]:80;
9+
10+
server_name 127.0.0.1;
11+
12+
root /opt/test-static/public;
13+
index index.html;
14+
}
15+
16+
include /etc/nginx/conf.d/*.conf;
17+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIEjjCCAvagAwIBAgIRAJdntdMRAvSoHdaDsHUxPPkwDQYJKoZIhvcNAQELBQAw
3+
gaMxHjAcBgNVBAoTFW1rY2VydCBkZXZlbG9wbWVudCBDQTE8MDoGA1UECwwzbnlj
4+
aG9sYXNAZHJlYW1lci5sb2NhbCAoTnljaG9sYXMgT2xpdmVpcmEgT2xpdmVpcmEp
5+
MUMwQQYDVQQDDDpta2NlcnQgbnljaG9sYXNAZHJlYW1lci5sb2NhbCAoTnljaG9s
6+
YXMgT2xpdmVpcmEgT2xpdmVpcmEpMB4XDTIzMDMyOTExMTAxOFoXDTI1MDYyOTEx
7+
MTAxOFowcDEnMCUGA1UEChMebWtjZXJ0IGRldmVsb3BtZW50IGNlcnRpZmljYXRl
8+
MUUwQwYDVQQLDDxueWNob2xhc0BCUjM2MDAwMk1CUDE2SU40LmxvY2FsIChOeWNo
9+
b2xhcyBPbGl2ZWlyYSBPbGl2ZWlyYSkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
10+
ggEKAoIBAQDAzjlsHOl7sq9GpCdeNcP9NYKfjBm6SZQviJ/xDJTFQEsQuJ9t85oW
11+
SsLI0SgAXO+o2XndrgjCE+u5CEiRzHnTAb/OHQH4Sp3JizbXnDcRZHOp1ZJPb9Xl
12+
ZiQ7tGFFkm5Dah1Vh5eV1wTfQejfiA4XoN5DY67HkAy1+TRQ7TTXu1C7cG5DMEfQ
13+
7FJaDNKHwQjPtiEoGCoWH0iRy2Z8P0mu0plx8Yuqo5JKWox9vuFEnndhN7kat4I3
14+
QN6FEnOZSltKx9iUImew8iTWiTgMEYguqWiZqVc2lxE0U7gyQueMFGraPIJT23oS
15+
j5W6eCxfQ93NKFwF4AmqCm/Hmh344TIjAgMBAAGjbzBtMA4GA1UdDwEB/wQEAwIF
16+
oDATBgNVHSUEDDAKBggrBgEFBQcDATAfBgNVHSMEGDAWgBSJYl98o9E68ESe/M0c
17+
jQgHr+tdWjAlBgNVHREEHjAcghoqLmZsYXNrLWpzb25ycGMuY2Vub2JpdC5lczAN
18+
BgkqhkiG9w0BAQsFAAOCAYEAJ1b/TDRnPk1y0uRIhLdwjtnIdpoTK5sgii5uKXAN
19+
SDdVM+5MPjqv53AeVw7SbylZtkQD3T3QTXHMhRbRl4cxWLV+H/uqkXuClUyWUK2V
20+
AD66v/rlz6A6f2G/K2+JDLWnwuaVgBDOEOC5b4fFICLJMPmeY1VAz11VoMlCiYSC
21+
uRhKubZYHvkGGGvLy/G23jp042+Z3B/X8ofZG8eBXgW/gOfzRKS63wKzK5u58AZ0
22+
/PzCWb33+KCPfRmwl7a6qCRbN8kiMJGfVYF7teKZ9RZ+LpSb1tCOUjzkEKtxlBkW
23+
HManFwJL8hkhMoYct1UUobzXD4/uUtnCnS/kFHLfj2611dqjPTyE5/KGsSIEONAc
24+
xgZim6dR/B9xT8ug6d7t7VS2VP10vckw6B9m47QOCyEYJZqHZgma3J1sAk6J5pI/
25+
fgoA2cgXCo+ybnqvrCUpf+COHjO1KP8m4OjuiGGBu01AAfqq7EVV1ypudZZZYWdx
26+
4suMPBGRXjprL/iJu1qsnRlu
27+
-----END CERTIFICATE-----
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDAzjlsHOl7sq9G
3+
pCdeNcP9NYKfjBm6SZQviJ/xDJTFQEsQuJ9t85oWSsLI0SgAXO+o2XndrgjCE+u5
4+
CEiRzHnTAb/OHQH4Sp3JizbXnDcRZHOp1ZJPb9XlZiQ7tGFFkm5Dah1Vh5eV1wTf
5+
QejfiA4XoN5DY67HkAy1+TRQ7TTXu1C7cG5DMEfQ7FJaDNKHwQjPtiEoGCoWH0iR
6+
y2Z8P0mu0plx8Yuqo5JKWox9vuFEnndhN7kat4I3QN6FEnOZSltKx9iUImew8iTW
7+
iTgMEYguqWiZqVc2lxE0U7gyQueMFGraPIJT23oSj5W6eCxfQ93NKFwF4AmqCm/H
8+
mh344TIjAgMBAAECggEAPpbzxyf/l7ti8QC7EvdLP3jOhbK6a2IVa/TjTyIxbXM4
9+
qx30C4KII/JzFzPm029YEa0/xXoIt9A1tqR8wm/poFkyBdwe1paKcHH0BLxemBPP
10+
BHQjggwhGM42tvcQmMA3cUUSbsCMsgTSPROtYFtPj9YWMTQ7+ebGaZCTri3C+MDy
11+
uSJwB+muzvBXl+OFP3ltfdc+wRvOde4BtSrtmuY25Y8EYU7ZVqkMZ4YNKTWsvptK
12+
r+nmkxxTapoCRLs0N2did0QhKgaKDv7A8Shg+LEX3NURjyfsRWFkzTn4F470S9GY
13+
eXVTPM5kVSbaFv4SLDDTaonzYTY4D0mfJ01PYRZ78QKBgQDSg8/pzviw7xnkpomX
14+
/RQ44o9RLy8MAvbDdhmCJrTV6OKAf6+PY412KvVdqXjqCImLE7+N/7o54zm1Dr1s
15+
52qBEw835EfFbxgjWgvizYVjinNvcF0kBHlhMNAvAVElwh7mSVCj+hW3/tOIwEiD
16+
fy8FELig6/PrEkCKyXguzoRrCwKBgQDqdtulJKWiNapaQNZyU4g7i6DLd74hDNXb
17+
uArzPrdyGnVBGKC/sqr66r7tmH7uGSyBBt2EAR6t9YEhB8GQRY8c+vvmAbGBHLhm
18+
DvAsZ1/RvFNaWS7MaDU4wpxwr5P8gArQAwH6Blc/C1VY0pJpZgszcp9JLw6UFo8h
19+
7aE/BeeESQKBgAzx6hEYlxZaPZ9f1kowV9P/qox1eFEmxYHTe1ITiz80KOl58JPC
20+
rWo8zgXKbBMIH10cA8V5mjwBCwVlOKS/vj7dqyvmr7smT7esy9pQhQlP9DVAFZon
21+
ZEdjtwmM7S6DN1811u2ebUN5OgzItizP31ZSZugOWlt0Ld/a77cBIAdtAoGAS+fY
22+
6hj4KpCXKwrsoiya4TQuBVEp04dVQQHPQbqfJyibp0xy1jzgj8UptL/279xkhQ0U
23+
7+Rw6z6c5HWfW7a5Q1eZ73fC4JrMs/XIGYgKBFuk3I4c0X43JL4UaYLeNRO67Gbc
24+
3/Xnjvh7U/sv/UFVBP3pxYafgJ/hDMnitwWRU0kCgYBm8HzY5Qk7C5kIS4Z8Luym
25+
DDWpBZMviet/PW4lY8kGEBQf0ImtOC24HisncyWOUFnueNeGVXuMu0gXSMT891Z9
26+
MoboHEBEhBhhlzQN79RCZIrFS0n3Xt86oeOIzZyJJjCyenKEgjy92WjRpRSBNCyC
27+
VxdcxQ1rL411Gba/sr+sEw==
28+
-----END PRIVATE KEY-----

.docker/nginx/ssl/nginx-ssl.crt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDwDCCAqgCCQCoAmvkcyQMdjANBgkqhkiG9w0BAQsFADCBoTELMAkGA1UEBhMC
3+
QlIxFTATBgNVBAgMDFPDg8KjbyBQYXVsbzEVMBMGA1UEBwwMU8ODwqNvIFBhdWxv
4+
MSMwIQYDVQQKDBpDZW5vYml0IFRlY2hub2xvZ2llcywgSW5jLjEMMAoGA1UECwwD
5+
UiZEMRMwEQYDVQQDDApjZW5vYml0LmVzMRwwGgYJKoZIhvcNAQkBFg1oaUBjZW5v
6+
Yml0LmVzMB4XDTIzMDMyOTExMzMyOVoXDTI0MDMyODExMzMyOVowgaExCzAJBgNV
7+
BAYTAkJSMRUwEwYDVQQIDAxTw4PCo28gUGF1bG8xFTATBgNVBAcMDFPDg8KjbyBQ
8+
YXVsbzEjMCEGA1UECgwaQ2Vub2JpdCBUZWNobm9sb2dpZXMsIEluYy4xDDAKBgNV
9+
BAsMA1ImRDETMBEGA1UEAwwKY2Vub2JpdC5lczEcMBoGCSqGSIb3DQEJARYNaGlA
10+
Y2Vub2JpdC5lczCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbjCXNz
11+
FEDs86vNCtXZqUjoyEGOHw2ei0kcUAFmdp2LEpE1cWyKHu5xHQZPZed+5UzyoKKu
12+
M/6L8oY5wlAZgeZc+yia3q0BL4XftVA90sjG9UGEIv4hXsuYJwiq8nGnXUdpYxKA
13+
ZhuLTyp3l7M67/Q/RzgZ/1j8itm97iaDuL1mF4bRArFXj/KZw5yloDLMPo7dEr1y
14+
JFLzxXC2rPbFOA9bEazym+/sQL1V1VBTc65HENeGcNUSBM1N62XnP9d+lUIJAe4N
15+
pBetAyMQ0RHWkfJoDD8Jh+J6UlY4/0WEgcaLZsxDSyALHFkbzx1R1uMBaGfSWD8B
16+
EoB/zGmiLBHu278CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAj+5Qwfxz02vnPon7
17+
2MzjmFE/GVbXf/NKjCP95cXnoJAJ0XiGjkZxeQu6K3+W8NSEdfiQJoe+3sRGlcsn
18+
pKzOpwi1Ce9hQq3bBzNTF2lgk+opznT6VWCotBeTwczOENkk66hvr18eXSvOuTAs
19+
yFSHJnjU86Eu0c4pyWyY5vyFrvdvt5OamlNSThL4K3mniIdPLYNyKHqPy9Y7UKiE
20+
XtmaIFiqvhxqpBVBDmKGXlxIpi/8uFRfAgiT6aNZqStUesmCpFWM2L1Z50t+KcZK
21+
LPce6Xj7r2BsGzODrTNPNAlk1F5J4cGBUmGcY1F/bT3cV3dtoOejALi3shumwEyI
22+
14/yWQ==
23+
-----END CERTIFICATE-----

.docker/nginx/ssl/nginx-ssl.key

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDG4wlzcxRA7POr
3+
zQrV2alI6MhBjh8NnotJHFABZnadixKRNXFsih7ucR0GT2XnfuVM8qCirjP+i/KG
4+
OcJQGYHmXPsomt6tAS+F37VQPdLIxvVBhCL+IV7LmCcIqvJxp11HaWMSgGYbi08q
5+
d5ezOu/0P0c4Gf9Y/IrZve4mg7i9ZheG0QKxV4/ymcOcpaAyzD6O3RK9ciRS88Vw
6+
tqz2xTgPWxGs8pvv7EC9VdVQU3OuRxDXhnDVEgTNTetl5z/XfpVCCQHuDaQXrQMj
7+
ENER1pHyaAw/CYfielJWOP9FhIHGi2bMQ0sgCxxZG88dUdbjAWhn0lg/ARKAf8xp
8+
oiwR7tu/AgMBAAECggEAXF759rrN/1GN4o76p1POQeSLjZbaaVLnUe9qYRwbnxQG
9+
bZaqtUR5FTlHx7R8mcXf7ZsKbEQINgL9gsW0r8sI/9rTc4pqPWO9lKnP5hKwoTt2
10+
kRUzw1/wTRK/nlD3BT48Hnyd3OvxgH11KT4eIMoQxBnXlADPDZ9NRc/mmdC3ro62
11+
+flucLgkF+2Hd9YoT+EWl09a265bXwAWgHR7gHApjVkDA0Svpac9D3d9m5T+y+5S
12+
gKeC0owrpo5p5/Hpj+voyenKG2nkEg+rSXFIx5AEE75NwwBIQ3zxV3az7vZ3Qxcr
13+
7KNIzWy9utbrM7mBuTkCjrC+NKqj4hKzY67t0MjrIQKBgQD9ogrQjCK8BH/HdMQk
14+
HmR2OmVWm7Je/QUZk/nysMVGnB2izsBnvgXUWtcYg7L5I2U/B/XWicd/gpN3CZib
15+
CIaHDhoI8tsNGjhK3nlCy5at8YHSiWyptpuAqYCNhwY6pddZhMKt15yQJn9hUN8y
16+
BffIP1o3xHDpOl6rLxdLKwa2CQKBgQDIvjM1tcujiQbdT67ARaVPYg9B/DpWUmvX
17+
VxXhNNynEkucNxkZYRe0AMKNEaOA17YdYTOexJz51swDCLDu+ViAZxTezCp4NThS
18+
Hvmr1rgY23xszQb/i9uu74zdsBMCB83youXhygrFqXrrxCp4Kedc6PEhUyTsFvVM
19+
cFVolU01hwKBgQDHNEsMKtRpGZuGe2ZF+/zpgsnu8RByXIVx5nAstbvrzlfUdFBX
20+
6r5HYCWKYn3iAXPWwpjKLKKcumC54LaUJWkLj/7QwnVbYBmQbBWPablp2sIdKsRG
21+
s16E+hw2jDNPQsvVyljhEvQrn6DyPQNgFaHcDC3+mPIZrDeIec7wwdVeiQKBgFTg
22+
hsqI6WdmAq8EiADn8bOU5JqjyQ7CnrJYMfoc3ccOZ0XPzh76/IixYZFACf/qNShK
23+
9waEX1MLzQrjW9xPNWplK1/gt3xIFF40lqBfk0t/Uia2seTO/74Br2/0iLTtE9kp
24+
o0VKpi9ZL44MTWCtZxPTslDC1PO16VW+kX480n51AoGBAOnmGW4NQet8RQ+xrU97
25+
j4aDu7kCxAThWEYXeTeXnfayvmQxyLQLLaTasLCFdjg2ZugiGe2xoDOwYrNTKaqz
26+
6ZiFf8NpcEelaBDZKlu6AuqnTSzHgnBNAeCaLd/6sbI8R9FDV2sftl77Wzqa/m0Q
27+
SA498fqP2guqs8L+TLZ0A298
28+
-----END PRIVATE KEY-----

.docker/nginx/ssl/ssl-dhparam.pem

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
-----BEGIN DH PARAMETERS-----
2+
MIICCAKCAgEAl1mU+XPxrdQiHynGOOwwq/ruzp2+nrNslMzl082/thKDrovwDYB0
3+
BCftWYW+NsOLQKqrsty8guBVxR34v8HlEFD/vo1zsVw1eTrB/cohSQKKuxhJB30C
4+
veQaJ0iQa2pxpW6YY3+M3SnrMcGedBWGoq39npgKPNBfCciUtwt1rmuY5R2R6ojS
5+
CpU7FoBso13HMrQtaNx1YOJ1J+7bIUXvdR8/2zTsQ3ZiD3IAKc5n+D61BNBTtY/e
6+
/Ck9Mw9ZOBuHyhXkWMpF/o8dvwM1/yac4NxYbxWIbGMGm8ls2YMALBC88wH56wcg
7+
rjQQpM7d76F0cCYqfLnJml2vQFWrSiwcByU4UKIESWQqeKh2YfaWl82I/i6uR9Vr
8+
yJI7FMvPKNoSkl+lFH2Wax6kVEHAsTgsmn89wXCja7AhoGhfvmPfXtbUOSmfzJvJ
9+
gTScR0NoXJdcfpSCbbob6SQsc1r61nR/8JZy9QWJouOd48vb7Tn0+tqS1qbY7Cmj
10+
20YGBDtyx0LKXTZ1nfD8wdENhRqOddOtSq+X5haENYapxMSTMOFlpFsZ3xz4ByHR
11+
1EmcdML/obbkfPJ5EUzRgLv1OskCCFAbc/OqzN4AIbBTPteChZHqqaK3q51AVlup
12+
0vyJ8MEfCjuZIanWFcYEMBja6utfBDDIZz76ue0pEt0P4kcxc0KGUlsCAQI=
13+
-----END DH PARAMETERS-----

.docker/nginx/ssl/ssl-params.conf

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
ssl_protocols TLSv1.2;
2+
ssl_prefer_server_ciphers on;
3+
ssl_dhparam /etc/nginx/ssl/ssl-dhparam.pem;
4+
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
5+
ssl_ecdh_curve secp384r1;
6+
ssl_session_timeout 10m;
7+
ssl_session_cache shared:SSL:10m;
8+
ssl_session_tickets off;
9+
ssl_stapling on;
10+
ssl_stapling_verify on;
11+
resolver 1.1.1.1 1.1.2.2 valid=300s;
12+
resolver_timeout 5s;

Dockerfile.it

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ RUN apk add --no-cache --update --virtual .build-deps \
55
linux-headers \
66
ca-certificates \
77
python3-dev \
8+
git \
89
&& rm -rf /var/cache/* \
910
&& mkdir /var/cache/apk \
1011
&& ln -sf /lib/ld-musl-x86_64.so.1 /usr/bin/ldd \
@@ -14,23 +15,38 @@ WORKDIR /svc
1415

1516
COPY requirements/test.txt /svc/
1617
RUN pip install pip setuptools wheel --upgrade \
17-
&& pip wheel --wheel-dir=/svc/wheels -r test.txt
18+
&& pip wheel --wheel-dir=/svc/wheels -r test.txt \
19+
poetry-core>=1.0.0
1820

1921
FROM python:3.10-alpine
2022

2123
ENV PYTHONUNBUFFERED=1 \
2224
DEBUG=0 \
25+
PYTEST_CACHE_DIR=".pytest_cache" \
2326
SITE_DOMAIN="app" \
24-
SITE_PORT=5000
27+
SITE_PORT=5000 \
28+
WEB_URL="http://app:5000" \
29+
API_URL="http://app:5000/api" \
30+
BROWSABLE_API_URL="http://app:5000/api/browse"
2531

2632
RUN apk add --no-cache --update \
33+
git \
34+
chromium \
35+
chromium-chromedriver \
36+
ca-certificates \
37+
openssl \
2738
&& rm -rf /var/cache/* \
2839
&& mkdir /var/cache/apk \
2940
&& ln -sf /lib/ld-musl-x86_64.so.1 /usr/bin/ldd \
3041
&& ln -s /lib /lib64 \
3142
&& ln -snf /usr/share/zoneinfo/$TZ /etc/localtime \
3243
&& echo $TZ > /etc/timezone
3344

45+
ADD .docker/certs/Cenobit_Root_CA.pem /usr/local/share/ca-certificates/Cenobit_Root_CA.pem
46+
RUN openssl x509 -inform PEM -in /usr/local/share/ca-certificates/Cenobit_Root_CA.pem -out /usr/local/share/ca-certificates/Cenobit_Root_CA.crt \
47+
&& chmod 644 /usr/local/share/ca-certificates/Cenobit_Root_CA.crt \
48+
&& update-ca-certificates
49+
3450
WORKDIR /svc
3551

3652
COPY --from=builder /svc /svc
@@ -52,6 +68,8 @@ RUN pip install pip setuptools wheel --upgrade \
5268
--no-create-home \
5369
-s /bin/false \
5470
flask_user \
71+
&& mkdir -p /app/test-results \
72+
&& mkdir -p /app/.pytest_cache/screenshots \
5573
&& chown flask_user:flask_user -R /app
5674

5775
USER flask_user

Dockerfile.local

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ RUN pip install pip setuptools wheel --upgrade \
2626
FROM python:3.10-alpine
2727

2828
ENV PYTHONUNBUFFERED=1 \
29-
DEBUG=0
29+
DEBUG=0 \
30+
FLASK_SERVER_NAME="app:5000"
3031

3132
RUN apk add --no-cache --update \
3233
&& rm -rf /var/cache/* \

Dockerfile.py310.test

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,17 @@ COPY requirements/ /code/requirements/
1111
RUN set -ex \
1212
&& apk add --no-cache --virtual .build-deps \
1313
gcc \
14+
g++ \
15+
cmake \
16+
rust \
17+
cargo \
1418
musl-dev \
1519
python3-dev \
16-
&& pip install pip setuptools wheel --upgrade \
20+
git \
21+
&& pip install pip setuptools --upgrade \
1722
&& pip install -r requirements/base.txt \
1823
&& pip install -r requirements/test.txt \
24+
poetry-core>=1.0.0 \
1925
&& pip install -r requirements/ci.txt \
2026
&& apk del .build-deps \
2127
&& addgroup -S kuchulu \

Dockerfile.py37.test

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,14 @@ COPY requirements/ /code/requirements/
1111
RUN set -ex \
1212
&& apk add --no-cache --virtual .build-deps \
1313
gcc \
14+
g++ \
1415
musl-dev \
1516
python3-dev \
17+
git \
1618
&& pip install pip setuptools wheel --upgrade \
1719
&& pip install -r requirements/base.txt \
1820
&& pip install -r requirements/test.txt \
21+
poetry-core>=1.0.0 \
1922
&& pip install -r requirements/ci.txt \
2023
&& apk del .build-deps \
2124
&& addgroup -S kuchulu \

Dockerfile.py38.test

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@ RUN set -ex \
1313
gcc \
1414
musl-dev \
1515
python3-dev \
16+
git \
1617
&& pip install pip setuptools wheel --upgrade \
1718
&& pip install -r requirements/base.txt \
1819
&& pip install -r requirements/test.txt \
20+
poetry-core>=1.0.0 \
1921
&& pip install -r requirements/ci.txt \
2022
&& apk del .build-deps \
2123
&& addgroup -S kuchulu \

Dockerfile.py39.test

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,11 @@ RUN set -ex \
1313
gcc \
1414
musl-dev \
1515
python3-dev \
16+
git \
1617
&& pip install pip setuptools wheel --upgrade \
1718
&& pip install -r requirements/base.txt \
1819
&& pip install -r requirements/test.txt \
20+
poetry-core>=1.0.0 \
1921
&& pip install -r requirements/ci.txt \
2022
&& apk del .build-deps \
2123
&& addgroup -S kuchulu \

0 commit comments

Comments
 (0)