From af2c9a19a5f032bfeea653ae85d841e26e5bc61c Mon Sep 17 00:00:00 2001 From: Albert Lombarte Date: Wed, 17 Nov 2021 15:53:49 +0100 Subject: [PATCH] Add krakend official image Signed-off-by: Albert Lombarte Signed-off-by: Daniel Ortiz --- krakend/README-short.txt | 1 + krakend/content.md | 154 +++++++++++++++++++++++++++++++++++++++ krakend/get-help.md | 1 + krakend/github-repo | 1 + krakend/license.md | 1 + krakend/logo-120.png | Bin 0 -> 32495 bytes krakend/logo.png | Bin 0 -> 8771 bytes krakend/maintainer.md | 1 + krakend/metadata.json | 7 ++ 9 files changed, 166 insertions(+) create mode 100644 krakend/README-short.txt create mode 100644 krakend/content.md create mode 100644 krakend/get-help.md create mode 100644 krakend/github-repo create mode 100644 krakend/license.md create mode 100644 krakend/logo-120.png create mode 100644 krakend/logo.png create mode 100644 krakend/maintainer.md create mode 100644 krakend/metadata.json diff --git a/krakend/README-short.txt b/krakend/README-short.txt new file mode 100644 index 000000000..f0d3871d3 --- /dev/null +++ b/krakend/README-short.txt @@ -0,0 +1 @@ +KrakenD is a stateless, high-performance, enterprise-ready, open source API gateway written in Go. \ No newline at end of file diff --git a/krakend/content.md b/krakend/content.md new file mode 100644 index 000000000..0dedadd7c --- /dev/null +++ b/krakend/content.md @@ -0,0 +1,154 @@ +%%LOGO%% + +# What is KrakenD? + +[KrakenD](https://www.krakend.io/) is a stateless, high-performance, enterprise-ready, open-source API gateway written in Go. Its engine (formerly known as *KrakenD Framework*) is now a **Linux Foundation Project** codenamed [Lura Project](https://luraproject.org/). Lura is the only enterprise-grade API Gateway hosted in a neutral, open forum. + +KrakenD is lightweight and straightforward, as it only requires writing the configuration file. No Go knowledge is required. It offers connectivity to internal and external services, data transformation and filtering, and aggregation of multiple data sources (APIs, gRPC, queues and pub/sub, lambda, etc.) simultaneously or in cascade. It protects access to your API, throughputs its usage, and integrates with many third-parties. + +All features are designed to offer extraordinary performance and infinite scalability. + +## How to use this image + +KrakenD only needs a single configuration file to create an API Gateway, although you can have a complex setup reflecting your organization structure. The configuration file(s) can live anywhere in the container, but the default location (the workdir) is `/etc/krakend`. + +To use the image, `COPY` your `krakend.json` file inside the container or mount it using a volume. The configuration is checked only once during the startup and never used again. Don't have a config file yet? Generate it with the [KrakenD Designer UI](https://designer.krakend.io). + +⚠️ **NOTICE**: KrakenD does not use live reload when your configuration changes. Restart the container. + +### Quick start + +You can start an empty gateway with a health check with the following commands: + +```bash +docker run -d -p 8080:8080 -v "$PWD:/etc/krakend/" %%IMAGE%% + +curl http://localhost:8080/__health +{"agents":{},"now":"2024-05-23 14:35:55.552591448 +0000 UTC m=+26.856583003","status":"ok"} +``` + +### More Examples + +The following are several examples of running KrakenD. By default, the command `run` is executed, but you can pass other commands and flags at the end of the run command. + +The configuration files are taken from the current directory (`$PWD`). Therefore, all examples expect to find at least the file `krakend.json`. + +#### Run with the debug enabled (flag `-d`): + +This flag is **SAFE to use in production**. It's meant to enable KrakenD as a fake backend itself by enabling a [`/__debug` endpoint](https://www.krakend.io/docs/endpoints/debug-endpoint/) + +```bash +docker run -p 8080:8080 -v "${PWD}:/etc/krakend/" %%IMAGE%% run -d -c /etc/krakend/krakend.json +``` + +#### Checking the syntax of your configuration file + +See the [check command](https://www.krakend.io/docs/commands/check/) + +```bash +docker run -it -v $PWD:/etc/krakend/ %%IMAGE%% check --config krakend.json +``` + +#### Show the help: + +```bash +docker run --rm -it %%IMAGE%% help +``` + +### Building your custom KrakenD image + +Most production deployments will not want to rely on mounting a volume for the container but to use their image based on `%%IMAGE%%`: + +Your `Dockerfile` could look like this: + +```Dockerfile +FROM %%IMAGE%%: +# NOTE: Avoid using :latest image on production. Stick to a major version instead. + +COPY krakend.json ./ + +# Check and test that the file is valid +RUN krakend check -t --lint-no-network -c krakend.json +``` + +If you want to manage your KrakenD configuration using multiple files and folders, reusing templates, and distributing the configuration amongst your teams, you can use the [flexible configuration (FC)](https://www.krakend.io/docs/configuration/flexible-config/). The following `Dockerfile` combines FC, the `krakend check` command, and a 2-step build. + +```Dockerfile +FROM %%IMAGE%%: as builder + +COPY krakend.tmpl . +COPY config . + +# Save temporary output file to /tmp to avoid permission errors +RUN FC_ENABLE=1 \ + FC_OUT=/tmp/krakend.json \ + FC_PARTIALS="/etc/krakend/partials" \ + FC_SETTINGS="/etc/krakend/settings" \ + FC_TEMPLATES="/etc/krakend/templates" \ + krakend check -d -t -c krakend.tmpl + +# Copy the output file only and discard any other files +FROM %%IMAGE%%: +COPY --from=builder /tmp/krakend.json . +``` + +Then build with `docker build -t my_krakend .` + +The configuration above assumes you have a folder structure like the following: + + . + ├── config + │ ├── partials + │ ├── settings + │ │ └── env.json + │ └── templates + │ └── some.tmpl + ├── Dockerfile + └── krakend.tmpl + +### Docker Compose example + +Finally, a simple `docker-compose` file to start KrakenD with your API would be: + +```yaml +version: "3" +services: + krakend: + image: %%IMAGE%%: + ports: + - "8080:8080" + volumes: + - ./:/etc/krakend +``` + +And another one that uses the flexible configuration and a custom template filename (`my_krakend.tmpl`) on each start: + +```yaml +version: "3" +services: + krakend: + image: %%IMAGE%%: + ports: + - "8080:8080" + volumes: + - ./:/etc/krakend + environment: + - FC_ENABLE=1 + - FC_OUT=/tmp/krakend.json + - FC_PARTIALS="/etc/krakend/config/partials" + - FC_SETTINGS="/etc/krakend/config/settings/prod" + - FC_TEMPLATES="/etc/krakend/config/templates" + command: + command: ["krakend", "run", "-c", "krakend.tmpl", "-d"] +``` + +### Container permissions and commands + +All `krakend` commands are executed as `krakend` user (uid=1000), and the rest of the commands (e.g., `sh`) are executed as root. + +You can directly use sub-commands of `krakend` like `run`, `help`, `version`, `check`, `check-plugin`, or `test-plugin` as the entrypoint will add the `krakend` command automatically. For example, the following lines are equivalent: + +```bash +docker run --rm -it %%IMAGE%% help +docker run --rm -it %%IMAGE%% krakend help +``` diff --git a/krakend/get-help.md b/krakend/get-help.md new file mode 100644 index 000000000..56c5731ed --- /dev/null +++ b/krakend/get-help.md @@ -0,0 +1 @@ +[documentation](https://www.krakend.io/docs/overview/introduction/), [community support](https://groups.google.com/a/krakend.io/g/community), [open an issue](https://github.com/krakend/krakend-ce/issues), [other support channels](https://www.krakend.io/support/) diff --git a/krakend/github-repo b/krakend/github-repo new file mode 100644 index 000000000..e48225a52 --- /dev/null +++ b/krakend/github-repo @@ -0,0 +1 @@ +https://github.com/krakend/krakend-ce diff --git a/krakend/license.md b/krakend/license.md new file mode 100644 index 000000000..62249b167 --- /dev/null +++ b/krakend/license.md @@ -0,0 +1 @@ +View [license information](https://github.com/krakend/krakend-ce/blob/master/LICENSE) for the software contained in this image. diff --git a/krakend/logo-120.png b/krakend/logo-120.png new file mode 100644 index 0000000000000000000000000000000000000000..1f19d4ffede0b77f82d7c73e9f4d51d287fe260b GIT binary patch literal 32495 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 KMNUMnLSTZ3M>z=q literal 0 HcmV?d00001 diff --git a/krakend/logo.png b/krakend/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7a4be7f5ce1baa34aa17376ddceb3b2f59e8f634 GIT binary patch literal 8771 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 literal 0 HcmV?d00001 diff --git a/krakend/maintainer.md b/krakend/maintainer.md new file mode 100644 index 000000000..2fcab789f --- /dev/null +++ b/krakend/maintainer.md @@ -0,0 +1 @@ +[the KrakenD Maintainers](%%GITHUB-REPO%%) diff --git a/krakend/metadata.json b/krakend/metadata.json new file mode 100644 index 000000000..538442b9d --- /dev/null +++ b/krakend/metadata.json @@ -0,0 +1,7 @@ +{ + "hub": { + "categories": [ + "api-management" + ] + } +}