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