Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/5-internal/federation-v1
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add federation-v1 environment for testing compatibility of the federation API with version 1
40 changes: 40 additions & 0 deletions charts/integration/templates/configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -164,4 +164,44 @@ data:
stern:
host: stern.wire-federation-v0.svc.cluster.local
port: 8080

federation-v1:
originDomain: federation-test-helper.wire-federation-v1.svc.cluster.local
brig:
host: brig.wire-federation-v1.svc.cluster.local
port: 8080
cannon:
host: cannon.wire-federation-v1.svc.cluster.local
port: 8080
cargohold:
host: cargohold.wire-federation-v1.svc.cluster.local
port: 8080
federatorInternal:
host: federator.wire-federation-v1.svc.cluster.local
port: 8080
federatorExternal:
host: federator.wire-federation-v1.svc.cluster.local
port: 8081
galley:
host: galley.wire-federation-v1.svc.cluster.local
port: 8080
gundeck:
host: gundeck.wire-federation-v1.svc.cluster.local
port: 8080
nginz:
host: nginz-integration-http.wire-federation-v1.svc.cluster.local
port: 8080
spar:
host: spar.wire-federation-v1.svc.cluster.local
port: 8080
proxy:
host: proxy.wire-federation-v1.svc.cluster.local
port: 8080
backgroundWorker:
host: backgroundWorker.wire-federation-v1.svc.cluster.local
port: 8080
stern:
host: stern.wire-federation-v1.svc.cluster.local
port: 8080

integrationTestHostName: integration-headless.{{ .Release.Namespace }}.svc.cluster.local
4 changes: 4 additions & 0 deletions charts/integration/templates/integration-integration.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -328,3 +328,7 @@ spec:
key: uploadXmlAwsSecretAccessKey
{{- end }}
{{- end }}
- name: ENABLE_FEDERATION_V0
value: "1"
- name: ENABLE_FEDERATION_V1
value: "1"
1 change: 1 addition & 0 deletions deploy/dockerephemeral/coredns-config/db.example.com
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ _wire-server-federator._tcp.d1 IN SRV 0 0 10443 localhost.
_wire-server-federator._tcp.d2 IN SRV 0 0 11443 localhost.
_wire-server-federator._tcp.d3 IN SRV 0 0 12443 localhost.
_wire-server-federator._tcp.federation-v0 IN SRV 0 0 21443 localhost.
_wire-server-federator._tcp.federation-v1 IN SRV 0 0 22443 localhost.
7 changes: 6 additions & 1 deletion deploy/dockerephemeral/docker/elasticmq.conf
Original file line number Diff line number Diff line change
Expand Up @@ -43,38 +43,43 @@ queues {
integration-brig-events4 = ${queues.default-queue-template}
integration-brig-events5 = ${queues.default-queue-template}
integration-brig-events-federation-v0 = ${queues.default-queue-template}
integration-brig-events-federation-v1 = ${queues.default-queue-template}

integration-brig-events-internal = ${queues.default-queue-template}
integration-brig-events-internal2 = ${queues.default-queue-template}
integration-brig-events-internal3 = ${queues.default-queue-template}
integration-brig-events-internal4 = ${queues.default-queue-template}
integration-brig-events-internal5 = ${queues.default-queue-template}
integration-brig-events-internal-federation-v0 = ${queues.default-queue-template}
integration-brig-events-internal-federation-v1 = ${queues.default-queue-template}

"integration-user-events.fifo" = ${queues.fifo-queue-template}
"integration-user-events2.fifo" = ${queues.fifo-queue-template}
"integration-user-events3.fifo" = ${queues.fifo-queue-template}
"integration-user-events4.fifo" = ${queues.fifo-queue-template}
"integration-user-events5.fifo" = ${queues.fifo-queue-template}
"integration-user-events-federation-v0.fifo" = ${queues.fifo-queue-template}
"integration-user-events-federation-v1.fifo" = ${queues.fifo-queue-template}

integration-gundeck-events = ${queues.default-queue-template}
integration-gundeck-events2 = ${queues.default-queue-template}
integration-gundeck-events3 = ${queues.default-queue-template}
integration-gundeck-events4 = ${queues.default-queue-template}
integration-gundeck-events5 = ${queues.default-queue-template}
integration-gundeck-events-federation-v0 = ${queues.default-queue-template}
integration-gundeck-events-federation-v1 = ${queues.default-queue-template}

"integration-team-events.fifo" = ${queues.fifo-queue-template}
"integration-team-events2.fifo" = ${queues.fifo-queue-template}
"integration-team-events3.fifo" = ${queues.fifo-queue-template}
"integration-team-events4.fifo" = ${queues.fifo-queue-template}
"integration-team-events5.fifo" = ${queues.fifo-queue-template}
"integration-team-events-federation-v0.fifo" = ${queues.fifo-queue-template}
"integration-team-events-federation-v1.fifo" = ${queues.fifo-queue-template}
}

# Region and accountId which will be included in resource ids
aws {
region = eu-west-1
accountId = 000000000000
}
}
66 changes: 36 additions & 30 deletions deploy/dockerephemeral/federation-v0.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@ networks:
demo_wire:
external: false

coredns:
external: false

services:
brig_schema:
brig_schema-v0:
container_name: brig-schema-federation-v0
image: quay.io/wire/brig-schema:4.38.51
command: --host cassandra --keyspace brig_test_federation_v0 --replication-factor 1
Expand All @@ -15,7 +18,7 @@ services:
condition: on-failure
networks:
- demo_wire
brig:
brig-v0:
container_name: brig-federation-v0
image: quay.io/wire/brig:4.38.0-mandarin.14
volumes:
Expand All @@ -27,7 +30,7 @@ services:
healthcheck: &haskell_health_check
test: "curl --fail localhost:8080/i/status"
depends_on:
brig_schema:
brig_schema-v0:
condition: service_completed_successfully
aws_cli:
condition: service_completed_successfully
Expand All @@ -41,7 +44,7 @@ services:
- RABBITMQ_USERNAME=${RABBITMQ_USERNAME}
- RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}

galley_schema:
galley_schema-v0:
container_name: galley-schema-federation-v0
image: quay.io/wire/galley-schema:4.38.51
command: --host cassandra --keyspace galley_test_federation_v0 --replication-factor 1
Expand All @@ -54,7 +57,7 @@ services:
networks:
- demo_wire

galley:
galley-v0:
container_name: galley-federation-v0
image: quay.io/wire/galley:4.38.0-mandarin.14
volumes:
Expand All @@ -65,7 +68,7 @@ services:
- '127.0.0.1:21085:8080'
healthcheck: *haskell_health_check
depends_on:
galley_schema:
galley_schema-v0:
condition: service_completed_successfully
aws_cli:
condition: service_completed_successfully
Expand All @@ -79,7 +82,7 @@ services:
- RABBITMQ_USERNAME=${RABBITMQ_USERNAME}
- RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}

cargohold:
cargohold-v0:
container_name: cargohold-federation-v0
image: quay.io/wire/cargohold:4.38.0-mandarin.14
volumes:
Expand All @@ -98,7 +101,7 @@ services:
- AWS_ACCESS_KEY_ID=dummykey
- AWS_SECRET_ACCESS_KEY=dummysecret

gundeck_schema:
gundeck_schema-v0:
container_name: gundeck-schema-federation-v0
image: quay.io/wire/gundeck-schema:4.38.51
command: --host cassandra --keyspace gundeck_test_federation_v0 --replication-factor 1
Expand All @@ -111,7 +114,7 @@ services:
networks:
- demo_wire

gundeck:
gundeck-v0:
container_name: gundeck-federation-v0
image: quay.io/wire/gundeck:4.38.0-mandarin.14
volumes:
Expand All @@ -122,19 +125,19 @@ services:
- '127.0.0.1:21086:8080'
healthcheck: *haskell_health_check
depends_on:
gundeck_schema:
gundeck_schema-v0:
condition: service_completed_successfully
aws_cli:
condition: service_completed_successfully
redis:
redis-v0:
condition: service_started

environment:
- AWS_REGION=eu-west-1
- AWS_ACCESS_KEY_ID=dummykey
- AWS_SECRET_ACCESS_KEY=dummysecret

spar_schema:
spar_schema-v0:
container_name: spar-schema-federation-v0
image: quay.io/wire/spar-schema:4.38.51
command: --host cassandra --keyspace spar_test_federation_v0 --replication-factor 1
Expand All @@ -147,7 +150,7 @@ services:
networks:
- demo_wire

spar:
spar-v0:
container_name: spar-federation-v0
image: quay.io/wire/spar:4.38.0-mandarin.14
volumes:
Expand All @@ -158,10 +161,10 @@ services:
- '127.0.0.1:21088:8080'
healthcheck: *haskell_health_check
depends_on:
spar_schema:
spar_schema-v0:
condition: service_completed_successfully

cannon:
cannon-v0:
container_name: cannon-federation-v0
image: quay.io/wire/cannon:4.38.0-mandarin.14
volumes:
Expand All @@ -172,7 +175,7 @@ services:
- '127.0.0.1:21083:8080'
healthcheck: *haskell_health_check

federator:
federator-v0:
container_name: federator-federation-v0
image: quay.io/wire/federator:4.38.0-mandarin.14
volumes:
Expand All @@ -189,10 +192,10 @@ services:
healthcheck:
test: "true"
depends_on:
coredns-federation:
coredns-federation-v0:
condition: service_started

background_worker:
background_worker-v0:
container_name: background-worker-federation-v0
image: quay.io/wire/background-worker:4.38.0-mandarin.14
volumes:
Expand All @@ -201,14 +204,15 @@ services:
- demo_wire
ports:
- '127.0.0.1:21089:8080'
healthcheck: *haskell_health_check
depends_on:
init_vhosts:
condition: service_completed_successfully
environment:
- RABBITMQ_USERNAME=${RABBITMQ_USERNAME}
- RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}

proxy:
proxy-v0:
container_name: proxy-federation-v0
image: quay.io/wire/proxy:4.38.0-mandarin.14
volumes:
Expand All @@ -219,7 +223,7 @@ services:
- '127.0.0.1:21087:8080'
healthcheck: *haskell_health_check

nginz:
nginz-v0:
container_name: nginz-federation-v0
image: quay.io/wire/nginz:4.38.0-mandarin.14
volumes:
Expand All @@ -230,34 +234,36 @@ services:
- '127.0.0.1:21080:8080'
- '127.0.0.1:21443:8443'
depends_on:
brig:
brig-v0:
condition: service_healthy
galley-v0:
condition: service_healthy
galley:
gundeck-v0:
condition: service_healthy
gundeck:
cargohold-v0:
condition: service_healthy
cargohold:
cannon-v0:
condition: service_healthy
cannon:
spar-v0:
condition: service_healthy
spar:
federator-v0:
condition: service_healthy
federator:
proxy-v0:
condition: service_healthy
proxy:
background_worker-v0:
condition: service_healthy

# We have to run a separate redis instance for each version of wire-server we
# want. This is because gundeck just assumes the whole redis is for itself
redis:
redis-v0:
container_name: redis-federation-v0
image: redis:6.0-alpine
networks:
- demo_wire

# This coredns serves slightly different SRV records, so federator running in
# a docker container can talk to federator running on the host.
coredns-federation:
coredns-federation-v0:
image: docker.io/coredns/coredns:1.8.4
volumes:
- ./federation-v0/coredns-config:/coredns-config
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,5 @@ _wire-server-federator._tcp.b IN SRV 0 0 9443 host.docker.internal.
_wire-server-federator._tcp.d1 IN SRV 0 0 10443 host.docker.internal.
_wire-server-federator._tcp.d2 IN SRV 0 0 11443 host.docker.internal.
_wire-server-federator._tcp.d3 IN SRV 0 0 12443 host.docker.internal.
_wire-server-federator._tcp.v0 IN SRV 0 0 21443 host.docker.internal.
_wire-server-federator._tcp.federation-v0 IN SRV 0 0 21443 host.docker.internal.
_wire-server-federator._tcp.federation-v1 IN SRV 0 0 22443 host.docker.internal.
16 changes: 8 additions & 8 deletions deploy/dockerephemeral/federation-v0/nginz/upstreams
Original file line number Diff line number Diff line change
@@ -1,38 +1,38 @@
upstream cargohold {
least_conn;
keepalive 32;
server cargohold:8080 max_fails=3 weight=1;
server cargohold-v0:8080 max_fails=3 weight=1;
}
upstream gundeck {
least_conn;
keepalive 32;
server gundeck:8080 max_fails=3 weight=1;
server gundeck-v0:8080 max_fails=3 weight=1;
}
upstream cannon {
least_conn;
keepalive 32;
server cannon:8080 max_fails=3 weight=1;
server cannon-v0:8080 max_fails=3 weight=1;
}
upstream galley {
least_conn;
keepalive 32;
server galley:8080 max_fails=3 weight=1;
server galley-v0:8080 max_fails=3 weight=1;
}
upstream proxy {
least_conn;
keepalive 32;
server proxy:8080 max_fails=3 weight=1;
server proxy-v0:8080 max_fails=3 weight=1;
}
upstream brig {
least_conn;
keepalive 32;
server brig:8080 max_fails=3 weight=1;
server brig-v0:8080 max_fails=3 weight=1;
}
upstream spar {
least_conn;
keepalive 32;
server spar:8080 max_fails=3 weight=1;
server spar-v0:8080 max_fails=3 weight=1;
}
upstream federator_external {
server federator:8081 max_fails=3 weight=1;
server federator-v0:8081 max_fails=3 weight=1;
}
Loading