DEV Community

Ole Lensmar
Ole Lensmar

Posted on

Kusk Gateway beta1 - OpenAPI-first for Kubernetes

Folks - we're happy announce beta-1 of our open-source Ingress controller Kusk Gateway - which makes your OpenAPI/Swagger definition the source-of-truth for both functional and operational traits of your API.

If you're using OpenAPI to build REST APIs for Kubernetes Kusk is for you; operational configuration is provided by use of a dedicated x-kusk extension in your OpenAPI/Swagger definition, for example:

x-kusk:
  cors:
    origins:
      - '*'
    methods:
      - POST
      - PATCH
      - DELETE
      - PUT
      - GET
      - OPTIONS
    headers:
      - Content-Type
    credentials: true
    max_age: 86200
  qos:
    retries: 10
    request_timeout: 60 
    idle_timeout: 30
Enter fullscreen mode Exit fullscreen mode

will ensure timeouts and CORS settings for your API when you deploy it.

Or if you're keen on mocking all (or parts) of your API you can add the following:

x-kusk:
  mocking:
    enabled: true
Enter fullscreen mode Exit fullscreen mode

which will result in Kusk Gateway returning mock-responses based on your OpenAPI definition. Read more about mocking: https://kubeshop.github.io/kusk-gateway/extension/#mocking

Since all operational configuration is in your OpenAPI definition you can easily automate the deployment of your APIs as part of a CI/CD/GitOps workflow - for example using ArgoCD or GitHub Actions.

Check out the announcement blog-post at https://kubeshop.io/blog/beta-1-release-of-kusk-gateway-openapi-driven-kubernetes-ingress-controller and head over to GitHub to get the release and read the docs - https://github.com/kubeshop/kusk-gateway.

Happy APIing!

Top comments (0)