Skip to content

Commit 6f303d2

Browse files
committed
Merge branch 'main' into shay/no_redact
2 parents e8f5428 + f43a339 commit 6f303d2

37 files changed

+3029
-436
lines changed

.github/CODEOWNERS

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
11
# Automatically request reviews from the synapse-core and dendrite-core teams when a pull request comes in.
2-
* @matrix-org/synapse-core @matrix-org/dendrite-core
2+
* @matrix-org/synapse-core @matrix-org/dendrite-core
3+
4+
# For modifications to complement internals, also directly request review from Kegan.
5+
/build/ @matrix-org/synapse-core @matrix-org/dendrite-core @kegsay
6+
/cmd/ @matrix-org/synapse-core @matrix-org/dendrite-core @kegsay
7+
/internal/ @matrix-org/synapse-core @matrix-org/dendrite-core @kegsay
8+
/runtime/ @matrix-org/synapse-core @matrix-org/dendrite-core @kegsay

.github/workflows/ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
- homeserver: Synapse
4141
tags: synapse_blacklist msc3083 msc3787 faster_joins
4242
env: "COMPLEMENT_SHARE_ENV_PREFIX=PASS_ PASS_SYNAPSE_COMPLEMENT_DATABASE=sqlite"
43-
timeout: 12m
43+
timeout: 20m
4444

4545
- homeserver: Dendrite
4646
tags: msc2836 dendrite_blacklist
@@ -66,7 +66,7 @@ jobs:
6666
# See https://github.com/actions/virtual-environments/blob/main/images/linux/Ubuntu2004-Readme.md specifically GOROOT_1_17_X64
6767
run: |
6868
sudo apt-get update && sudo apt-get install -y libolm3 libolm-dev
69-
go get -v github.com/haveyoudebuggedit/gotestfmt/v2/cmd/gotestfmt@latest
69+
go get -v github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@latest
7070
7171
- name: "Checkout corresponding ${{ matrix.homeserver }} branch"
7272
shell: bash

ENVIRONMENT.md

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
*This file is automatically generated via ./cmd/gendoc*
2+
3+
## Complement Configuration
4+
Complement is configured exclusively through the use of environment variables. These variables are described below.
5+
6+
#### `COMPLEMENT_ALWAYS_PRINT_SERVER_LOGS`
7+
If 1, always prints the Homeserver container logs even on success.
8+
- Type: `bool`
9+
- Default: 0
10+
11+
#### `COMPLEMENT_BASE_IMAGE`
12+
**Required.** The name of the Docker image to use as a base homeserver when generating blueprints. This image must conform to Complement's rules on containers, such as listening on the correct ports.
13+
- Type: `string`
14+
15+
#### `COMPLEMENT_BASE_IMAGE_*`
16+
This allows you to override the base image used for a particular named homeserver. For example, `COMPLEMENT_BASE_IMAGE_HS1=complement-dendrite:latest` would use `complement-dendrite:latest` for the `hs1` homeserver in blueprints, but not any other homeserver (e.g `hs2`). This matching is case-insensitive. This allows Complement to test how different homeserver implementations work with each other.
17+
- Type: `map[string]string`
18+
19+
#### `COMPLEMENT_DEBUG`
20+
If 1, prints out more verbose logging such as HTTP request/response bodies.
21+
- Type: `bool`
22+
- Default: 0
23+
24+
#### `COMPLEMENT_HOSTNAME_RUNNING_COMPLEMENT`
25+
The hostname of Complement from the perspective of a Homeserver running inside a container. This can be useful for container runtimes using another hostname to access the host from a container, like Podman that uses `host.containers.internal` instead.
26+
- Type: `string`
27+
- Default: host.docker.internal
28+
29+
#### `COMPLEMENT_HOST_MOUNTS`
30+
A list of semicolon separated host mounts to mount on every container. The structure of the mount is `host-path:container-path:[ro]` for example `/path/on/host:/path/on/container` - you can optionally specify `:ro` to mount the path as readonly. A complete example with multiple mounts would look like `/host/a:/container/a:ro;/host/b:/container/b;/host/c:/container/c`
31+
- Type: `[]HostMount`
32+
33+
#### `COMPLEMENT_KEEP_BLUEPRINTS`
34+
A list of space separated blueprint names to not clean up after running. For example, `one_to_one_room alice` would not delete the homeserver images for the blueprints `alice` and `one_to_one_room`. This can speed up homeserver runs if you frequently run the same base image over and over again. If the base image changes, this should not be set as it means an older version of the base image will be used for the named blueprints.
35+
- Type: `[]string`
36+
37+
#### `COMPLEMENT_SHARE_ENV_PREFIX`
38+
If set, all environment variables on the host with this prefix will be shared with every homeserver, with the prefix removed. For example, if the prefix was `FOO_` then setting `FOO_BAR=baz` on the host would translate to `BAR=baz` on the container. Useful for passing through extra Homeserver configuration options without sharing all host environment variables.
39+
- Type: `string`
40+
41+
#### `COMPLEMENT_SPAWN_HS_TIMEOUT_SECS`
42+
The number of seconds to wait for a Homeserver container to be responsive after starting the container. Responsiveness is detected by `HEALTHCHECK` being healthy *and* the `/versions` endpoint returning 200 OK.
43+
- Type: `Duration`
44+
- Default: 30

0 commit comments

Comments
 (0)