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.
- 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
- Install KOAP to your Kuberntes cluster KOAP will use in-cluster auth to Kubernetes API.
- Create few ConfigMaps with API Manifests (example)
- Enjoy
- 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
- Enjoy
open http://localhost:8080
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
Koap accepts --api-manifest
with path to JSON or YAML representation of API Manifest.
ConfigMaps with annotation koap.tv/apimanifests
will be treated as set of API Manifests. Each key is API Manifest.