News KrakenD CE v2.8 released with improved Lua and OpenTelemetry

Document updated on Apr 12, 2023

API Configuration Designer

The Designer is a UI that allows you to create KrakenD configurations from scratch or resume editing an existing one. It is a tool very useful in your early contact with KrakenD, as it helps you try functionalities without having to learn the different attributes of the configuration.

The designer is a learning tool more than an administration one. KrakenD configuration and administration is designed with GitOps in mind (under the version control system and released through CI/CD).

Combined with a :watch container, you can apply configuration changes automatically in a development environment.

Automatically applying changes to KrakenD

Suppose you have a Chrome, Edge, or Opera desktop browser. In that case, you can have the whole experience of editing in the browser and see the changes applied to your local development container without doing anything else.

The Designer uses experimental browser technology for file saving
While you can use the Designer in any major browser for editing files and downloading a copy, some experimental browser capabilities allow you to open local files and apply changes automatically on a KrakenD Watch server by simply using the web.

To use this, you need to:

  • Start a container with the :watch tag
  • Edit in the browser the file you have mounted in the volume.

From here, every save will automatically apply the changes on KrakenD.

You’ll see a warning in the dashboard when your browser is not supported, or you are using a local copy without HTTPS.

The first time you attempt to save a file you have loaded from the disk, the browser will ask permission.

Example of hot reload after browser change

Suppose you don’t have an initial configuration. In that case, you can generate an initial one by clicking Download on the Designer without needing to configure anything yet, or you can paste this inside a new file, krakend.json instead:

{
  "version": 3
}

Now that you have a fresh krakend.json, add a local docker-compose.yaml like this in the same folder if you are going to plug KrakenD into other containers locally:

version: "3"
services:
  krakend:
    image: devopsfaith/krakend:watch
    volumes:
      - ".:/etc/krakend"
    ports:
      - "8080:8080"
    command: [ "run", "-dc", "krakend.json" ]

Or do a docker run if you don’t want a Docker compose:

docker run -it --rm -v "$PWD:/etc/krakend" devopsfaith/krakend:watch run -dc krakend.json

You can check that KrakenD is running by visiting its health endpoint: http://localhost:8080/__health

Once KrakenD runs, the watcher follows changes happening in this folder. If you edit the file by hand, it will reload the new changes. But if you Open this file on the Designer, and save it, it will do it as well.

Supported features

As KrakenD supports hundreds of features, it might be overwhelming to review all the documentation. Therefore, a tool that allows you to play in the browser is beneficial.

The Designer supports almost all the functionality, although advanced functionalities aren’t in the interface. In any case, when this happens, even if you don’t see them in the interface, they are kept in the final save if you loaded them.

The Designer does not support flexible configuration, as the browser cannot render Go templates of a complex directory structure.

The Designer supports editing Enterprise and Community features simultaneously. When you enable a single Enterprise feature, you will see a badge informing you about it.

Contribute to KrakenD Documentation. Improve this page »

Scarf

Unresolved issues?

The documentation is only a piece of the help you can get! Whether you are looking for Open Source or Enterprise support, see more support channels that can help you.

See all support channels