Contributing

Learn how to controbute to Kowabunga

Kowabunga API

It’s all about API ;-)

Kowabunga implements a full OpenAPI v3 compliant API.

Starting you journey with Kowabunga an extending its capabilities and features take its roots in API definition

Our API build tools rely on some heavily tuned Jinja macros to factorize code as much as can be.

While we try to keep as much compatibility as can be, Kowabunga’s API is not yet frozen (and won’t before reaching 1.0 stage) and can still evolve. Our API is designed to be self-consumed by the Kahuna server and all code-generated SDK libaries.

Orchestrator and Agents

Server-side and standalone agents (Kiwi, Kaktus but also service ones, like Kawaii, Konvey and others …) are all managed in a single source repository.

They are build with love in Go programming language.

Linux Requirements

On Ubuntu 24.04, you fundamentaly need Ceph librairies (Rados/RBD):

$ sudo apt-get update
$ sudo apt-get install -y gcc librados-dev librbd-dev

and a Go compiler:

$ sudo apt-get install -y golang-1.23

even though it is recommended to always use latest up-to-date release from which Kowabunga’s development is always based on.

macOS Requirements

macOS requires Ceph librairies from Homebrew project:

$ brew tap mulbc/ceph-client
$ brew install ceph-client

and latest Go compiler:

$ brew install go

Build

Building all Kowabunga binaries is as simple as:

$ make

One can also check for secure programming checks through:

$ make sec

and check for known (to-date) vulnerabilities through:

$ make vuln

Koala WebUI

Our WebUI, Koala is made with Angular and actively looking for contributors and maintainers ;-)

Kowabunga’s purpose being to enforce automation-as-code and configuration-as-code, Koala is designed to be user-facing, yet read-only.

Last modified September 5, 2025: doc add developers corner (e3b65ad)