chaliy / koap

Super simple OpenAPI Dev Portal (Kubernetes)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KOAP - OpenAPI Dev Portal (Kubernetes)

DockerKoap UI

Simple idea of having a web app that will show SwaggerUI for list of configured specs. API specifications could come from different places: manifest file, or Kubernetes ConfigMaps, or Kubernetes Koap CRDs.

Featureus

  • UI to navigate through different OpenAPI and Swagger Specs
  • Backend service to host UI and gather configured API Specs
  • Listen to Kubernetes for ConfigMaps with API Manifiests
  • Support Kubernetes Koap CRDs
  • Support Service/Deployment/POD annotations with API Specs
  • Support to limit Koap to the single Kubernetes namespace

UI

How to use

Kubernetes

  1. Install KOAP to your Kuberntes cluster KOAP will use in-cluster auth to Kubernetes API.
  2. Create few ConfigMaps with API Manifests (example)
  3. Enjoy

Docker

  1. Run
docker run -it -p 8080:8080 \
    -v $PWD/examples/manifest.yaml:/etc/koap/manifest.yaml \
    ghcr.io/chaliy/koap:latest service --api-manifest /etc/koap/manifest.yaml
  1. Enjoy
open http://localhost:8080

Contribute

How to run locally

Ensure you have make, node, python, pipenv on your machine.

make build # Install dependecies and build UI
make local-run # Run server
open http://localhost:8080

API Manifests

Manifest file

Koap accepts --api-manifest with path to JSON or YAML representation of API Manifest.

Kubernetes ConfigMap

ConfigMaps with annotation koap.tv/apimanifests will be treated as set of API Manifests. Each key is API Manifest.

About

Super simple OpenAPI Dev Portal (Kubernetes)


Languages

Language:Python 55.4%Language:JavaScript 24.9%Language:Makefile 6.8%Language:HTML 4.9%Language:Dockerfile 4.8%Language:CSS 3.2%