Yieldr's fork of Mailgun's vulcand built using vbundle to add custom middleware.
Typically this project is deployed alongside vulcand-ingress or romulus as a Kubernetes Ingress Controller. See the referring projects for their specific usage examples.
Build the binaries using make.
make build OS=linux
Then start docker compose
docker-compose up -d
When all services are up and running, you'll need to configure vulcan to route traffic to the upstream servers. A dummy upstream is included for convenience that simply displays the nginx default web page.
The following configuration will create a new upstream backend (nginx), a server (nginx-srv) and a new frontend (nginx).
vctl backend upsert -id nginx
vctl server upsert -b nginx -id nginx-srv -url http://nginx:80
vctl frontend upsert -id nginx -b nginx -route 'PathRegexp("/.*")'
This command will add oauth2 middleware to the nginx frontend.
vctl oauth2 upsert -f nginx -id nginx-oauth \
	-issuerUrl $ISSUER_URL \
	-clientId $CLIENT_ID \
	-clientSecret $CLIENT_SECRET \
	-redirectUrl http://localhost:8181/callback