Skip to content

Latest commit

 

History

History
92 lines (77 loc) · 3.03 KB

README.md

File metadata and controls

92 lines (77 loc) · 3.03 KB

Kamwiel

License

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.

Kamwiel overview

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.

Kamwiel minimal setup

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