DEPRECATED
New repository location: https://github.com/konflux-ci/sprayproxy.
Spray Proxy
A very simple reverse proxy that broadcasts to multiple backends.
Try it
make build
bin/sprayproxy server --backend <backend-server> --backend <another-backend-server>
You can also configure the proxy with environment variables:
SPRAYPROXY_SERVER_HOST: host for the proxy
SPRAYPROXY_SERVER_PORT: port to serve the proxy
SPRAYPROXY_SERVER_BACKEND: a space-separated list of backends to forward traffic. Example:
SPRAYPROXY_SERVER_BACKEND="http://localhost:8080 http://localhost:8081"
SPRAYPROXY_FORWARDING_REQUEST_TIMEOUT: override the default forwarding request timeout. Default
is 15 seconds.
SPRAYPROXY_MAX_REQUEST_SIZE: override the default maximum request size. In bytes. Default is 25MB.
GH_APP_WEBHOOK_SECRET: webhook secret for GitHub apps. See the
Github Apps guide for more info.
The following environment variables are insecure and should not be used in production environments:
SPRAYPROXY_SERVER_INSECURE_SKIP_TLS_VERIFY: Skip TLS verification when forwarding to backends.
SPRAYPROXY_SERVER_INSECURE_SKIP_WEBHOOK_VERIFY: Skip GitHub webhook verification for incoming
requests.
SPRAYPROXY_SERVER_ENABLE_DYNAMIC_BACKENDS: Register and Unregister backends on the fly.
Note: this setting is for stateless deployment of the sprayproxy and should not be used in production and staging environments.
Developing
- Run
make build to build the proxy sever (output to bin/sprayproxy)
- Run
make test to run unit tests
- Run
make run to launch the proxy with default configuration