Kamwiel
A Kuadrant service that facilitates its resources to build documentation sites.
Overview
Kamwiel makes it possible to consume Kuadrant resources, extend its features connecting
3rd party services, digest and expose them making it possible for other services
and documentation tools to employ them. Its main consumer is Kamrad,
a Developer Portal builder.
Usage
Given Kamwiel is meant to work within Kuadrant, the setup of your cluster should at least
include its resources. At this PoC level, the minimal secured way of running it includes Kuadrant CRDs, an
Authorino instance to handle AuthN/AuthZ and an Envoy
proxy as the cluster Ingress object.
Local Setup
Kamwiel comes with some useful scripts that make it easier to try it locally. You could inspect them running make help
.
However, it needs a couple of dependencies to make it possible:
The easiest way to try it out is to run the script in charge of setting everything up:
make local-setup
This will run a local Kubernetes server loaded up with a freshly built Kamwiel image plus Authorino, Envoy and Kuadrant
CRDs with some sample data. It will also configure Authorino as the protection layer, issuing an API key that'll make it
possible to consume the cluster resources like so:
curl -H 'X-API-KEY: YOUR_AUTO_GENERATED_API_KEY' http://kamwiel-authorino.127.0.0.1.nip.io:8000/ping
Features
The feature list is quite reduce at this PoC stage, expect to change drastically.
Feature |
Description |
Stage |
REST |
GET /apis |
Retrieves a list of API |
Ready |
GET /apis/:name |
Retrieves a specific API by name |
Ready |
GET /state |
Retrieves the API List state* |
Ready |
PUT /state/:hash |
Updates the "freshness" of the API List state. |
Ready |
Webhooks |
API List fresh |
Configrable outgoing webhook that sends the API List hash when it's changed |
Ready |
Integrations |
3rd party APIs |
Connect external APIs/Services and expose its resources |
In Analysis |