Home

Awesome

Envoy proxy as an API gateway. Built with Bazel. Deployed into Kubernetes.

Blog post with detailed explanation.

Links

Usage

  1. Install and start minikube.
  2. Install Bazelisk.
  3. Run Tilt.
% bazel run //tools:tilt-up

% grpcurl -plaintext \
  -d '{"name": "Bazel"}' \
  127.0.0.1:55000 svc.ServiceOne.Hello

{
  "body": "Hello, Bazel"
}

% curl -i \
  -H 'token: abc' \
  http://localhost:8080/v1/hello\?name\=Bazel


HTTP/1.1 200 OK
content-type: application/json
x-envoy-upstream-service-time: 2
grpc-status: 0
grpc-message:
content-length: 28
date: Tue, 21 Sep 2021 23:33:27 GMT
server: envoy

{
 "body": "Hello, Bazel"
}

% bazel run //tools:tilt-down

NOTE: Until service-one become available, Envoy will return HTTP 503: upstream connect error or no healthy upstream