dockerfiles/krakend
kev 2c6016e6bf update krakend 2020-12-02 18:37:15 +08:00
..
data update krakend 2020-12-02 18:37:15 +08:00
README.md update krakend 2019-12-02 18:49:06 +08:00
docker-compose.yml update krakend 2020-12-02 18:37:15 +08:00

krakend

KrakenD is a high-performance open source API Gateway.

Its core functionality is to create an API that acts as an aggregator of many microservices into single endpoints, doing the heavy-lifting automatically for you: aggregate, transform, filter, decode, throttle, auth and more.

krakend config

krakend.json
{
  "version": 2,
  "name": "My httpbin gateway",
  "port": 8080,
  "endpoints": [
    {
      "endpoint": "/httpbin",
      "backend": [
        {
          "host": [
            "https://httpbin.org"
          ],
          "url_pattern": "/headers"
        },
        {
          "host": [
            "https://httpbin.org"
          ],
          "url_pattern": "/ip"
        }
      ]
    }
  ]
}
$ krakend-config2dot -c krakend.json | dot -Tpng -o krakend.png

up and running

$ docker-compose up -d

$ curl http://localhost:8080/httpbin
{
  "headers": {
    "Accept-Encoding": "gzip",
    "Host": "httpbin.org",
    "User-Agent": "KrakenD Version 1.0.0"
  },
  "origin": "172.17.0.1, 1.2.3.4, 172.17.0.1"
}