kubeshop / kusk-gen

Kusk Gen generates Ingress-controller configurations from your OpenAPI definition
https://kubeshop.github.io/kusk-gen
MIT License
173 stars 12 forks source link
ambassador generator ingress ingress-nginx kubernetes nginx openapi traefik

kusk-gen - use OpenAPI to configure Kubernetes

What is kusk-gen?

Developers deploying their REST APIs in Kubernetes shouldn't have to worry about managing resources that do not directly relate to their applications or services.

kusk-gen (coachman in Swedish) treats your OpenAPI/Swagger definition as a source of truth for generating supplementary Kubernetes resources for your REST APIs in regard to mappings, security, traffic-control, monitoring, etc.

Read the Introductory blog-post to get an overview.

kusk-gen-overview

Quick Start

Homebrew

brew install kubeshop/kusk/kusk-gen

Latest release on Github

go install github.com/kubeshop/kusk-gen@$VERSION

If you don't want to build it yourself, the Releases page contains already built binaries for all supported platforms.

Download it and unpack kusk-gen to the directory of you choice.

From source

git clone git@github.com:kubeshop/kusk-gen.git && \
cd kusk-gen && \
go install

Read more at Getting Started

Why kusk-gen?

Using OpenAPI as the source-for-truth for client, servers, testing, documentation, etc. is a common approach when building microservice architectures with REST APis. Kusk extends this paradigm to also include Kubernetes configurations, allowing you to

Features

kusk-gen currently supports (click for configuration options)

Some of the upcoming tools we'd like to support are Kong and Contour. Please don't hesitate to suggest others or contribute your own generator!

Documentation & Support

To learn more about kusk-gen check out the complete documentation

Join our Discord Server to ask questions, suggest ideas, etc.

How to contribute