annotate docker/docker-compose-e2e.yml @ 4306:94e0968987cd

plugin XEP-0033: code modernisation, improve delivery, data validation: - Code has been rewritten using Pydantic models and `async` coroutines for data validation and cleaner element parsing/generation. - Delivery has been completely rewritten. It now works even if server doesn't support multicast, and send to local multicast service first. Delivering to local multicast service first is due to bad support of XEP-0033 in server (notably Prosody which has an incomplete implementation), and the current impossibility to detect if a sub-domain service handles fully multicast or only for local domains. This is a workaround to have a good balance between backward compatilibity and use of bandwith, and to make it work with the incoming email gateway implementation (the gateway will only deliver to entities of its own domain). - disco feature checking now uses `async` corountines. `host` implementation still use Deferred return values for compatibility with legacy code. rel 450
author Goffi <goffi@goffi.org>
date Thu, 26 Sep 2024 16:12:01 +0200
parents 87caf6284c55
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
1 version: "3.6"
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
2 services:
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
3
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
4 prosody:
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
5 image: libervia/prosody:e2e
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
6 build: prosody-e2e
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
7 depends_on:
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
8 # we need to depend on backend to get IP address of the container for conf
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
9 - backend
3695
87caf6284c55 docker (prosody): don't use `tmpfs` for `/var/lib/prosody` (it prevents the container to start)
Goffi <goffi@goffi.org>
parents: 3691
diff changeset
10 tmpfs: /var/log/prosody
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
11 networks:
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
12 default:
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
13 aliases:
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
14 - server1.test
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
15 - server2.test
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
16 - server3.test
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
17
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
18 db:
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
19 image: postgres
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
20 environment:
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
21 POSTGRES_PASSWORD: test_e2e
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
22 POSTGRES_DB: pubsub
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
23 tmpfs: /var/lib/postgresql/data
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
24
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
25 pubsub:
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
26 build: pubsub
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
27 image: libervia/pubsub
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
28 depends_on:
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
29 - db
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
30 - prosody
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
31 environment:
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
32 PGHOST: db
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
33 PGUSER: postgres
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
34 PGPASSWORD: test_e2e
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
35 LIBERVIA_PUBSUB_RHOST: server1.test
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
36 LIBERVIA_PUBSUB_JID: pubsub.server1.test
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
37 LIBERVIA_PUBSUB_XMPP_PWD: test_e2e
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
38
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
39 backend:
3641
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3497
diff changeset
40 image: libervia/backend:${DOCKER_LIBERVIA_REV:-dev}-e2e
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3497
diff changeset
41 build:
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3497
diff changeset
42 context: backend-dev-e2e
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3497
diff changeset
43 args:
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3497
diff changeset
44 REVISION: ${DOCKER_LIBERVIA_REV:-}
3387
b3e7e3c49d8f docker (compose): test environment variable + network alias:
Goffi <goffi@goffi.org>
parents: 3381
diff changeset
45 environment:
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
46 LIBERVIA_TEST_ENV_E2E: "1"
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
47 LIBERVIA_TEST_ENV_E2E_WEB: "1"
3432
d9955bb10d15 docker (e2e): use shared volume for SàT's local dir:
Goffi <goffi@goffi.org>
parents: 3429
diff changeset
48 volumes:
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
49 - libervia_data:/home/libervia/.local/share/libervia
3429
d4558f3cbf13 tests, docker(e2e): added e2e tests for Libervia:
Goffi <goffi@goffi.org>
parents: 3423
diff changeset
50 ports:
d4558f3cbf13 tests, docker(e2e): added e2e tests for Libervia:
Goffi <goffi@goffi.org>
parents: 3423
diff changeset
51 # VNC server for Libervia e2e tests visual mode
d4558f3cbf13 tests, docker(e2e): added e2e tests for Libervia:
Goffi <goffi@goffi.org>
parents: 3423
diff changeset
52 - 5900
3387
b3e7e3c49d8f docker (compose): test environment variable + network alias:
Goffi <goffi@goffi.org>
parents: 3381
diff changeset
53 networks:
b3e7e3c49d8f docker (compose): test environment variable + network alias:
Goffi <goffi@goffi.org>
parents: 3381
diff changeset
54 default:
b3e7e3c49d8f docker (compose): test environment variable + network alias:
Goffi <goffi@goffi.org>
parents: 3381
diff changeset
55 aliases:
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
56 - libervia-backend.test
3423
0653be94ee5e docker: added libervia e2e image and include it in `docker-compose_e2e`:
Goffi <goffi@goffi.org>
parents: 3387
diff changeset
57
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
58 web:
3641
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3497
diff changeset
59 image: libervia/web:${DOCKER_LIBERVIA_REV:-dev}-e2e
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3497
diff changeset
60 build:
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3497
diff changeset
61 context: libervia-web-dev-e2e
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3497
diff changeset
62 args:
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3497
diff changeset
63 REVISION: ${DOCKER_LIBERVIA_REV:-}
3423
0653be94ee5e docker: added libervia e2e image and include it in `docker-compose_e2e`:
Goffi <goffi@goffi.org>
parents: 3387
diff changeset
64 depends_on:
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
65 - backend
3423
0653be94ee5e docker: added libervia e2e image and include it in `docker-compose_e2e`:
Goffi <goffi@goffi.org>
parents: 3387
diff changeset
66 environment:
0653be94ee5e docker: added libervia e2e image and include it in `docker-compose_e2e`:
Goffi <goffi@goffi.org>
parents: 3387
diff changeset
67 LIBERVIA_PASSPHRASE: test_e2e
3432
d9955bb10d15 docker (e2e): use shared volume for SàT's local dir:
Goffi <goffi@goffi.org>
parents: 3429
diff changeset
68 volumes:
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
69 - libervia_data:/home/libervia/.local/share/libervia
3423
0653be94ee5e docker: added libervia e2e image and include it in `docker-compose_e2e`:
Goffi <goffi@goffi.org>
parents: 3387
diff changeset
70 ports:
0653be94ee5e docker: added libervia e2e image and include it in `docker-compose_e2e`:
Goffi <goffi@goffi.org>
parents: 3387
diff changeset
71 - "8080"
0653be94ee5e docker: added libervia e2e image and include it in `docker-compose_e2e`:
Goffi <goffi@goffi.org>
parents: 3387
diff changeset
72 - "8443"
3429
d4558f3cbf13 tests, docker(e2e): added e2e tests for Libervia:
Goffi <goffi@goffi.org>
parents: 3423
diff changeset
73 networks:
d4558f3cbf13 tests, docker(e2e): added e2e tests for Libervia:
Goffi <goffi@goffi.org>
parents: 3423
diff changeset
74 default:
d4558f3cbf13 tests, docker(e2e): added e2e tests for Libervia:
Goffi <goffi@goffi.org>
parents: 3423
diff changeset
75 aliases:
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
76 - libervia-web.test
3432
d9955bb10d15 docker (e2e): use shared volume for SàT's local dir:
Goffi <goffi@goffi.org>
parents: 3429
diff changeset
77
d9955bb10d15 docker (e2e): use shared volume for SàT's local dir:
Goffi <goffi@goffi.org>
parents: 3429
diff changeset
78 volumes:
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3432
diff changeset
79 libervia_data: