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
9 changes: 9 additions & 0 deletions .github/workflows/compose-smoke.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,15 @@ jobs:
docker compose restart
tests/smoke.sh --verify

- name: Services recreated behind a running nginx
run: |
# recreated containers get new IPs; nginx must follow them without a restart
ip() { docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$(docker compose ps -q "$1")"; }
before="account=$(ip account) transactor=$(ip transactor)"
docker compose up -d --force-recreate --no-deps account transactor
echo "IPs: $before -> account=$(ip account) transactor=$(ip transactor)"
tests/smoke.sh --verify

- name: Report failure
if: failure()
run: tests/ci-report.sh
Expand Down
70 changes: 45 additions & 25 deletions .huly.nginx
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,19 @@ server {
server_name _;
client_max_body_size 100M;

# Resolve service names through Docker's DNS on every request (cached 10s)
# instead of once at startup: after `docker compose restart` containers can
# get new IPs, and a startup-time lookup would keep sending requests to the
# old ones (502). proxy_pass only re-resolves when its target is a variable.
resolver 127.0.0.11 valid=10s ipv6=off;

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://front:8080;
set $upstream http://front:8080;
proxy_pass $upstream;
}

location /_accounts {
Expand All @@ -17,8 +24,9 @@ server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

rewrite ^/_accounts(/.*)$ $1 break;
proxy_pass http://account:3000/;
set $upstream http://account:3000;
rewrite ^/_accounts/?(.*)$ /$1 break;
proxy_pass $upstream;
}

#location /_print {
Expand All @@ -30,8 +38,9 @@ server {
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
# rewrite ^/_print(/.*)$ $1 break;
# proxy_pass http://print:4005/;
# set $upstream http://print:4005;
# rewrite ^/_print/?(.*)$ /$1 break;
# proxy_pass $upstream;
#}

#location /_aibot {
Expand All @@ -43,8 +52,9 @@ server {
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
# rewrite ^/_aibot(/.*)$ $1 break;
# proxy_pass http://aibot:4010/;
# set $upstream http://aibot:4010;
# rewrite ^/_aibot/?(.*)$ /$1 break;
# proxy_pass $upstream;
#}

#location /_love {
Expand All @@ -56,8 +66,9 @@ server {
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
# rewrite ^/_love(/.*)$ $1 break;
# proxy_pass http://love:8096/;
# set $upstream http://love:8096;
# rewrite ^/_love/?(.*)$ /$1 break;
# proxy_pass $upstream;
#}

location /_collaborator {
Expand All @@ -69,8 +80,9 @@ server {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
rewrite ^/_collaborator(/.*)$ $1 break;
proxy_pass http://collaborator:3078/;
set $upstream http://collaborator:3078;
rewrite ^/_collaborator/?(.*)$ /$1 break;
proxy_pass $upstream;
}

location /_transactor {
Expand All @@ -82,8 +94,9 @@ server {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
rewrite ^/_transactor(/.*)$ $1 break;
proxy_pass http://transactor:3333/;
set $upstream http://transactor:3333;
rewrite ^/_transactor/?(.*)$ /$1 break;
proxy_pass $upstream;
}

location ~ ^/eyJ {
Expand All @@ -95,7 +108,8 @@ server {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://transactor:3333;
set $upstream http://transactor:3333;
proxy_pass $upstream;
}

location /_rekoni {
Expand All @@ -104,8 +118,9 @@ server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

rewrite ^/_rekoni(/.*)$ $1 break;
proxy_pass http://rekoni:4004/;
set $upstream http://rekoni:4004;
rewrite ^/_rekoni/?(.*)$ /$1 break;
proxy_pass $upstream;
}

location /_stats {
Expand All @@ -114,8 +129,9 @@ server {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

rewrite ^/_stats(/.*)$ $1 break;
proxy_pass http://stats:4900/;
set $upstream http://stats:4900;
rewrite ^/_stats/?(.*)$ /$1 break;
proxy_pass $upstream;
}

#location /_pulse {
Expand All @@ -127,8 +143,9 @@ server {
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
# set $upstream http://hulypulse:8099;
# rewrite ^/_pulse(.*)$ /ws$1 break;
# proxy_pass http://hulypulse:8099/;
# proxy_pass $upstream;
#}

#location /_telegram {
Expand All @@ -137,8 +154,9 @@ server {
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
#
# rewrite ^/_telegram(/.*)$ $1 break;
# proxy_pass http://telegram-bot:4020/;
# set $upstream http://telegram-bot:4020;
# rewrite ^/_telegram/?(.*)$ /$1 break;
# proxy_pass $upstream;
#}

#location /_github {
Expand All @@ -147,8 +165,9 @@ server {
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
#
# rewrite ^/_github(/.*)$ $1 break;
# proxy_pass http://github:3500/;
# set $upstream http://github:3500;
# rewrite ^/_github/?(.*)$ /$1 break;
# proxy_pass $upstream;
#}

# location /_export {
Expand All @@ -160,7 +179,8 @@ server {
# proxy_http_version 1.1;
# proxy_set_header upgrade $http_upgrade;
# proxy_set_header connection "upgrade";
# rewrite ^/_export(/.*)$ $1 break;
# proxy_pass http://exports:4009/;
# set $upstream http://exports:4009;
# rewrite ^/_export/?(.*)$ /$1 break;
# proxy_pass $upstream;
# }
}
Loading