mirror of
https://github.com/sablierapp/sablier.git
synced 2025-12-25 14:59:16 +01:00
This feature adds the capability to stop unregistered running instances upon startup. Previously, you had to stop running instances manually or issue an initial request that will shut down instances afterwards. With this change, all discovered instances will be shutdown. They need to be registered using labels. E.g.: sablier.enable=true Fixes #153
70 lines
3.1 KiB
Nginx Configuration File
70 lines
3.1 KiB
Nginx Configuration File
# nginx.conf
|
|
events {}
|
|
|
|
# nginx master process gets a default 'main' VM
|
|
# a new top-level configuration block receives all configuration for this main VM
|
|
wasm {
|
|
module proxywasm_sablier_plugin /wasm/sablierproxywasm.wasm;
|
|
}
|
|
|
|
error_log /dev/stdout info;
|
|
|
|
# each nginx worker process is able to instantiate wasm modules in its subsystems
|
|
http {
|
|
access_log /dev/stdout;
|
|
|
|
# internal docker resolver, see /etc/resolv.conf on proxy container
|
|
resolver 127.0.0.11 valid=1s ipv6=off;
|
|
|
|
server {
|
|
listen 8080;
|
|
|
|
location /dynamic/whoami {
|
|
proxy_wasm proxywasm_sablier_plugin '{ "sablier_url": "sablier:10000", "names": ["docker_classic_e2e-whoami-1"], "session_duration": "1m", "dynamic": { "display_name": "Dynamic Whoami", "theme": "hacker-terminal" } }';
|
|
|
|
set $proxy_pass_host whoami:80$request_uri;
|
|
proxy_pass http://$proxy_pass_host;
|
|
proxy_set_header Host localhost:8080; # e2e test compliance
|
|
}
|
|
|
|
location /blocking/whoami {
|
|
wasm_socket_read_timeout 60s; # Blocking hangs the request
|
|
proxy_wasm proxywasm_sablier_plugin '{ "sablier_url": "sablier:10000", "names": ["docker_classic_e2e-whoami-1"], "session_duration": "1m", "blocking": { "timeout": "30s" } }';
|
|
|
|
set $proxy_pass_host whoami:80$request_uri;
|
|
proxy_pass http://$proxy_pass_host;
|
|
proxy_set_header Host localhost:8080; # e2e test compliance
|
|
}
|
|
|
|
location /multiple/whoami {
|
|
proxy_wasm proxywasm_sablier_plugin '{ "sablier_url": "sablier:10000", "names": ["docker_classic_e2e-whoami-1", "docker_classic_e2e-nginx-1"], "session_duration": "1m", "dynamic": { "display_name": "Multiple Whoami" } }';
|
|
|
|
proxy_pass http://whoami:80$request_uri;
|
|
proxy_set_header Host localhost:8080; # e2e test compliance
|
|
}
|
|
|
|
location /multiple/nginx {
|
|
proxy_wasm proxywasm_sablier_plugin '{ "sablier_url": "sablier:10000", "names": ["docker_classic_e2e-whoami-1", "docker_classic_e2e-nginx-1"], "session_duration": "1m", "dynamic": { "display_name": "Multiple Whoami" } }';
|
|
|
|
set $proxy_pass_host nginx:80$request_uri;
|
|
proxy_pass http://$proxy_pass_host;
|
|
proxy_set_header Host localhost:8080; # e2e test compliance
|
|
}
|
|
|
|
location /healthy/nginx {
|
|
proxy_wasm proxywasm_sablier_plugin '{ "sablier_url": "sablier:10000", "names": ["docker_classic_e2e-nginx-1"], "session_duration": "1m", "dynamic": { "display_name": "Healthy Nginx" } }';
|
|
|
|
set $proxy_pass_host nginx:80$request_uri;
|
|
proxy_pass http://$proxy_pass_host;
|
|
proxy_set_header Host localhost:8080; # e2e test compliance
|
|
}
|
|
|
|
location /group {
|
|
proxy_wasm proxywasm_sablier_plugin '{ "sablier_url": "sablier:10000", "group": "E2E", "session_duration": "1m", "dynamic": { "display_name": "Group E2E" } }';
|
|
|
|
set $proxy_pass_host whoami:80$request_uri;
|
|
proxy_pass http://$proxy_pass_host;
|
|
proxy_set_header Host localhost:8080; # e2e test compliance
|
|
}
|
|
}
|
|
} |