A Developer Portal builder for Kuadrant, a Cloud Native API MGMT solution. Based on Hugo
Kamrad consumes Kuadrant resources, on demand or at build time, generates and deploys a highly customizable static site with features like API documentation, content creation, and plugins to connect to 3rd party services. It has a completely static site generation mode, an "on demand"/"dynamic" one and a mix of both.
This Kamrad operation mode will generate a developer portal that will be consuming resources from Kuadrant at runtime (from the browser) via Kamwiel
Kamrad also offers a way of producing a fully static site, where it generates pages at build time, the CI/CD process will consume Kuadrant exposed by Kamwiel
Given this is just a builder, one will need to have Kamwiel running within a Kuadrant cluster.
You'll need to have the following installed locally:
- Clone this repo with submodules and
cd
into itgit clone --recurse-submodules git@github.com:3scale-labs/kamrad.git && cd kamrad`
- Install Node dependencies
npm install
- Run Kamrad locally
make run
- Profit! Open in your favourite browser -> Kamrad
Right now, at this PoC stage, the only way to give it a try is forking this repo, adding some configuration as secrets described below and trigger one of the workflows. You'll also need to set up GH pages
KAMRAD_TOKEN
A token with repo access for the current GH repositoryKAMWIEL_API_HASH
Could be blank, later on will be populated with Kamwiel stateKAMWIEL_URL
The URL where Kamwiel is hostedKAMWIEL_API_KEY
The API key issued by Kamwiel to use its services
api-list
Arepository_dispatch
workflow that will trigger the build and deploy, among other checks, of the developer portal to the Github pages branch. The event, that eventually will come from Kamwiel, it's aPOST
tohttps://api.github.com/repos/user/repo/dispatches
looks like{ "event_type": "api-list", "client_payload": { "hash": "THIS_HASH_REPRESENTS_KAMWIEL_API_LIST_STATE" } }
deploy
Is a workflow run on anypush
to the default branch. It will also build and deploy to GH pages
This feature list will be evolving with time. Right now it's PoC which might drastically change in the future.
Feature | Description | Stage | |
---|---|---|---|
Content Management | Markdown | Ready | |
HTML | Ready | ||
Images/Videos | Ready | ||
Server side content | Through Hugo shortcodes. At the moment some Kuadrant resources only. | Ready | |
AsciiDoc | Would include AsciiDoctor and another build process | In analysis | |
OAS | Done with a `shortcode` manually or generation script. Based on Swagger | Ready | |
AsyncAPI | Planned | ||
Authentication | API Key | Ready | |
SSO | Planned | ||
User MGMT | Planned | ||
Hosting | Github Pages | Ready | |
OpenShift | Planned | ||
Hosting Provider | Planned |