@@ -17,78 +17,63 @@ services:
1717 start_period : 5s
1818 retries : 3
1919
20- trogon-source-github :
20+ trogon-gateway :
2121 build :
2222 context : ../../../rsworkspace
23- dockerfile : ../devops/docker/compose/services/trogon-source-github /Dockerfile
23+ dockerfile : ../devops/docker/compose/services/trogon-gateway /Dockerfile
2424 environment :
2525 NATS_URL : " nats:4222"
26- GITHUB_WEBHOOK_SECRET : " ${GITHUB_WEBHOOK_SECRET:-}"
27- GITHUB_WEBHOOK_PORT : " ${GITHUB_WEBHOOK_PORT:-8080}"
28- GITHUB_SUBJECT_PREFIX : " ${GITHUB_SUBJECT_PREFIX:-github}"
29- GITHUB_STREAM_NAME : " ${GITHUB_STREAM_NAME:-GITHUB}"
30- GITHUB_STREAM_MAX_AGE_SECS : " ${GITHUB_STREAM_MAX_AGE_SECS:-604800}"
31- GITHUB_NATS_ACK_TIMEOUT_SECS : " ${GITHUB_NATS_ACK_TIMEOUT_SECS:-10}"
32- GITHUB_MAX_BODY_SIZE : " ${GITHUB_MAX_BODY_SIZE:-26214400}"
3326 RUST_LOG : " ${RUST_LOG:-info}"
34- depends_on :
35- nats :
36- condition : service_healthy
37- restart : unless-stopped
38- healthcheck :
39- test : ["CMD", "curl", "-sf", "http://localhost:${GITHUB_WEBHOOK_PORT:-8080}/health"]
40- interval : 10s
41- timeout : 3s
42- start_period : 10s
43- retries : 3
27+ TROGON_GATEWAY_PORT : " ${TROGON_GATEWAY_PORT:-8080}"
4428
45- trogon-source-linear :
46- build :
47- context : ../../../rsworkspace
48- dockerfile : ../devops/docker/compose/services/trogon-source-linear/Dockerfile
49- environment :
50- NATS_URL : " nats:4222"
51- LINEAR_WEBHOOK_SECRET : " ${LINEAR_WEBHOOK_SECRET}"
52- LINEAR_WEBHOOK_PORT : " ${LINEAR_WEBHOOK_PORT:-8080}"
53- LINEAR_SUBJECT_PREFIX : " ${LINEAR_SUBJECT_PREFIX:-linear}"
54- LINEAR_STREAM_NAME : " ${LINEAR_STREAM_NAME:-LINEAR}"
55- LINEAR_STREAM_MAX_AGE_SECS : " ${LINEAR_STREAM_MAX_AGE_SECS:-604800}"
56- LINEAR_WEBHOOK_TIMESTAMP_TOLERANCE_SECS : " ${LINEAR_WEBHOOK_TIMESTAMP_TOLERANCE_SECS:-60}"
57- LINEAR_NATS_ACK_TIMEOUT_MS : " ${LINEAR_NATS_ACK_TIMEOUT_MS:-10000}"
58- RUST_LOG : " ${RUST_LOG:-info}"
59- depends_on :
60- nats :
61- condition : service_healthy
62- restart : unless-stopped
63- healthcheck :
64- test : ["CMD", "curl", "-sf", "http://localhost:${LINEAR_WEBHOOK_PORT:-8080}/health"]
65- interval : 10s
66- timeout : 3s
67- start_period : 10s
68- retries : 3
29+ TROGON_SOURCE_GITHUB_WEBHOOK_SECRET : " ${TROGON_SOURCE_GITHUB_WEBHOOK_SECRET:-}"
30+ TROGON_SOURCE_GITHUB_SUBJECT_PREFIX : " ${TROGON_SOURCE_GITHUB_SUBJECT_PREFIX:-github}"
31+ TROGON_SOURCE_GITHUB_STREAM_NAME : " ${TROGON_SOURCE_GITHUB_STREAM_NAME:-GITHUB}"
32+ TROGON_SOURCE_GITHUB_STREAM_MAX_AGE_SECS : " ${TROGON_SOURCE_GITHUB_STREAM_MAX_AGE_SECS:-604800}"
33+ TROGON_SOURCE_GITHUB_NATS_ACK_TIMEOUT_SECS : " ${TROGON_SOURCE_GITHUB_NATS_ACK_TIMEOUT_SECS:-10}"
6934
70- trogon-source-slack :
71- build :
72- context : ../../../rsworkspace
73- dockerfile : ../devops/docker/compose/services/trogon-source-slack/Dockerfile
74- environment :
75- NATS_URL : " nats:4222"
76- SLACK_SIGNING_SECRET : " ${SLACK_SIGNING_SECRET:-}"
77- SLACK_WEBHOOK_PORT : " ${SLACK_WEBHOOK_PORT:-3000}"
78- SLACK_SUBJECT_PREFIX : " ${SLACK_SUBJECT_PREFIX:-slack}"
79- SLACK_STREAM_NAME : " ${SLACK_STREAM_NAME:-SLACK}"
80- SLACK_STREAM_MAX_AGE_SECS : " ${SLACK_STREAM_MAX_AGE_SECS:-604800}"
81- SLACK_NATS_ACK_TIMEOUT_SECS : " ${SLACK_NATS_ACK_TIMEOUT_SECS:-10}"
82- SLACK_MAX_BODY_SIZE : " ${SLACK_MAX_BODY_SIZE:-1048576}"
83- SLACK_TIMESTAMP_MAX_DRIFT_SECS : " ${SLACK_TIMESTAMP_MAX_DRIFT_SECS:-300}"
84- RUST_LOG : " ${RUST_LOG:-info}"
35+ TROGON_SOURCE_DISCORD_MODE : " ${TROGON_SOURCE_DISCORD_MODE:-}"
36+ TROGON_SOURCE_DISCORD_BOT_TOKEN : " ${TROGON_SOURCE_DISCORD_BOT_TOKEN:-}"
37+ TROGON_SOURCE_DISCORD_GATEWAY_INTENTS : " ${TROGON_SOURCE_DISCORD_GATEWAY_INTENTS:-}"
38+ TROGON_SOURCE_DISCORD_PUBLIC_KEY : " ${TROGON_SOURCE_DISCORD_PUBLIC_KEY:-}"
39+ TROGON_SOURCE_DISCORD_SUBJECT_PREFIX : " ${TROGON_SOURCE_DISCORD_SUBJECT_PREFIX:-discord}"
40+ TROGON_SOURCE_DISCORD_STREAM_NAME : " ${TROGON_SOURCE_DISCORD_STREAM_NAME:-DISCORD}"
41+ TROGON_SOURCE_DISCORD_STREAM_MAX_AGE_SECS : " ${TROGON_SOURCE_DISCORD_STREAM_MAX_AGE_SECS:-604800}"
42+ TROGON_SOURCE_DISCORD_NATS_ACK_TIMEOUT_SECS : " ${TROGON_SOURCE_DISCORD_NATS_ACK_TIMEOUT_SECS:-10}"
43+ TROGON_SOURCE_DISCORD_NATS_REQUEST_TIMEOUT_SECS : " ${TROGON_SOURCE_DISCORD_NATS_REQUEST_TIMEOUT_SECS:-2}"
44+
45+ TROGON_SOURCE_SLACK_SIGNING_SECRET : " ${TROGON_SOURCE_SLACK_SIGNING_SECRET:-}"
46+ TROGON_SOURCE_SLACK_SUBJECT_PREFIX : " ${TROGON_SOURCE_SLACK_SUBJECT_PREFIX:-slack}"
47+ TROGON_SOURCE_SLACK_STREAM_NAME : " ${TROGON_SOURCE_SLACK_STREAM_NAME:-SLACK}"
48+ TROGON_SOURCE_SLACK_STREAM_MAX_AGE_SECS : " ${TROGON_SOURCE_SLACK_STREAM_MAX_AGE_SECS:-604800}"
49+ TROGON_SOURCE_SLACK_NATS_ACK_TIMEOUT_SECS : " ${TROGON_SOURCE_SLACK_NATS_ACK_TIMEOUT_SECS:-10}"
50+ TROGON_SOURCE_SLACK_TIMESTAMP_MAX_DRIFT_SECS : " ${TROGON_SOURCE_SLACK_TIMESTAMP_MAX_DRIFT_SECS:-300}"
51+
52+ TROGON_SOURCE_TELEGRAM_WEBHOOK_SECRET : " ${TROGON_SOURCE_TELEGRAM_WEBHOOK_SECRET:-}"
53+ TROGON_SOURCE_TELEGRAM_SUBJECT_PREFIX : " ${TROGON_SOURCE_TELEGRAM_SUBJECT_PREFIX:-telegram}"
54+ TROGON_SOURCE_TELEGRAM_STREAM_NAME : " ${TROGON_SOURCE_TELEGRAM_STREAM_NAME:-TELEGRAM}"
55+ TROGON_SOURCE_TELEGRAM_STREAM_MAX_AGE_SECS : " ${TROGON_SOURCE_TELEGRAM_STREAM_MAX_AGE_SECS:-604800}"
56+ TROGON_SOURCE_TELEGRAM_NATS_ACK_TIMEOUT_SECS : " ${TROGON_SOURCE_TELEGRAM_NATS_ACK_TIMEOUT_SECS:-10}"
57+
58+ TROGON_SOURCE_GITLAB_WEBHOOK_SECRET : " ${TROGON_SOURCE_GITLAB_WEBHOOK_SECRET:-}"
59+ TROGON_SOURCE_GITLAB_SUBJECT_PREFIX : " ${TROGON_SOURCE_GITLAB_SUBJECT_PREFIX:-gitlab}"
60+ TROGON_SOURCE_GITLAB_STREAM_NAME : " ${TROGON_SOURCE_GITLAB_STREAM_NAME:-GITLAB}"
61+ TROGON_SOURCE_GITLAB_STREAM_MAX_AGE_SECS : " ${TROGON_SOURCE_GITLAB_STREAM_MAX_AGE_SECS:-604800}"
62+ TROGON_SOURCE_GITLAB_NATS_ACK_TIMEOUT_SECS : " ${TROGON_SOURCE_GITLAB_NATS_ACK_TIMEOUT_SECS:-10}"
63+
64+ TROGON_SOURCE_LINEAR_WEBHOOK_SECRET : " ${TROGON_SOURCE_LINEAR_WEBHOOK_SECRET:-}"
65+ TROGON_SOURCE_LINEAR_SUBJECT_PREFIX : " ${TROGON_SOURCE_LINEAR_SUBJECT_PREFIX:-linear}"
66+ TROGON_SOURCE_LINEAR_STREAM_NAME : " ${TROGON_SOURCE_LINEAR_STREAM_NAME:-LINEAR}"
67+ TROGON_SOURCE_LINEAR_STREAM_MAX_AGE_SECS : " ${TROGON_SOURCE_LINEAR_STREAM_MAX_AGE_SECS:-604800}"
68+ TROGON_SOURCE_LINEAR_NATS_ACK_TIMEOUT_SECS : " ${TROGON_SOURCE_LINEAR_NATS_ACK_TIMEOUT_SECS:-10}"
69+ TROGON_SOURCE_LINEAR_TIMESTAMP_TOLERANCE_SECS : " ${TROGON_SOURCE_LINEAR_TIMESTAMP_TOLERANCE_SECS:-60}"
8570 depends_on :
8671 nats :
8772 condition : service_healthy
8873 restart : unless-stopped
8974 healthcheck :
90- test : ["CMD", "curl", "-sf", "http://localhost:${SLACK_WEBHOOK_PORT:-3000 }/health"]
91- interval : 10s
75+ test : ["CMD", "curl", "-sf", "http://localhost:${TROGON_GATEWAY_PORT:-8080 }/health"]
76+ interval : 5s
9277 timeout : 3s
9378 start_period : 10s
9479 retries : 3
@@ -97,33 +82,21 @@ services:
9782 image : ngrok/ngrok:alpine
9883 environment :
9984 NGROK_AUTHTOKEN : " ${NGROK_AUTHTOKEN:-}"
100- GITHUB_ADDR : " trogon-source-github:${GITHUB_WEBHOOK_PORT:-8080}"
101- LINEAR_ADDR : " trogon-source-linear:${LINEAR_WEBHOOK_PORT:-8080}"
102- SLACK_ADDR : " trogon-source-slack:${SLACK_WEBHOOK_PORT:-3000}"
85+ GATEWAY_ADDR : " trogon-gateway:${TROGON_GATEWAY_PORT:-8080}"
10386 entrypoint :
10487 - /bin/sh
10588 - -c
10689 - |
10790 cat > /tmp/ngrok.yml <<EOF
10891 version: 3
10992 tunnels:
110- github:
111- addr: $${GITHUB_ADDR}
112- proto: http
113- linear:
114- addr: $${LINEAR_ADDR}
115- proto: http
116- slack:
117- addr: $${SLACK_ADDR}
93+ gateway:
94+ addr: $${GATEWAY_ADDR}
11895 proto: http
11996 EOF
12097 exec ngrok start --all --config /tmp/ngrok.yml
12198 depends_on :
122- trogon-source-github :
123- condition : service_healthy
124- trogon-source-linear :
125- condition : service_healthy
126- trogon-source-slack :
99+ trogon-gateway :
127100 condition : service_healthy
128101 restart : unless-stopped
129102 profiles :
0 commit comments