Skip to content

A reverse proxy to broadcast requests to multiple backends

License

Notifications You must be signed in to change notification settings

konflux-ci/sprayproxy

 
 

Repository files navigation

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

About

A reverse proxy to broadcast requests to multiple backends

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 98.8%
  • Other 1.2%