Skip to content

Wareload/service-apisix

Repository files navigation

Service APISIX

Description

This ia a collection of plugins built and bundled with APISIX. Furthermore, there is support for hosting static files, designed for SPAs.

Plugins

All plugins are written in Go and are using the APISIX Go Plugin Runner.

Static file hosting

To host static files, you need to put the static files in "/usr/share/nginx/html" inside the container. The configuration is designed to work for SPAs, so the index.html file will be served for all requests that do not match a static file. The server will listen on port "9889". The configuration can be found here.

Configuration

The plugin is enabled besides the builtin plugins in the config.yaml.

In order to use one or multiple plugins, you need to configure it in your apisix.yaml inside the container.

Build

To build the image, run the following command:

docker build -t <your_image_name> .

Local development & testing

To run the image locally, you can use the following command:

docker compose up -d --build

This will spin up a keycloak as idp for the oidc plugin besides an apisix with this configuration. The keycloak will import a realm including a user with the name "123" and the password "123" on every startup.