Skip to content

kubara

Status: opensource License: Apache 2.0 Docs License: CC BY 4.0 GitHub Discussions

What is kubara?

A package manager for your platform

Helm packages and deploys one application. Kubara applies that idea to an entire Kubernetes platform across a fleet of clusters.

A kubara catalog can bundle Helm charts, Terraform modules, scripts, and the whole GitOps structure needed for your platform. Kubara uses such a catalog to render reproducible manifests and bootstraps a central hub cluster that uses Argo CD to manage and reconcile identical platform environments across hundreds of spoke clusters.

Kubara is not an operator. It does not install a kubara controller or other kubara runtime components in your cluster. After bootstrap, Argo CD reconciles the generated platform state from Git but kubara pre-templates the cross-integration of all your platform components for you.

In short, kubara is a CLI for building, packaging, and bootstrapping Kubernetes platforms. Inspired by real-world needs at Schwarz Group to standardize and operate large-scale environments through pure GitOps.

That means you can not only bootstrap a platform with kubara, but also package, distribute, and reuse that platform setup across many clusters.

Commit the generated output to Git. Then use the same catalog and configuration model for another cluster.

What kubara does?

  • βš™οΈ Full Platform Bootstrap - From infrastructure to observability, GitOps, and secrets
  • πŸ“¦ Platform Catalog Packaging - Package, distribute, and reuse platform setups
  • 🧱 Modular by Design - Helm and Terraform based components, easily extendable
  • πŸ” Multi-cluster Support - Hub + N Spoke clusters, with app targeting
  • πŸš€ Fast Setup - Ready to go in under 30 minutes
  • ☁️ Cloud & Edge Ready - Use it across cloud, hybrid, or bare-metal environments
  • πŸ” Built-in Best Practices - Production-grade setup used by real-world platforms

Why use kubara?

Building and maintaining a multi-cluster Kubernetes platform means keeping infrastructure, GitOps configuration, secrets, and shared components in sync.

kubara gives you one CLI that:

  • Generates required configuration and secrets
  • Renders Terraform and Helm outputs based on predefined templates
  • Bootstraps your platform using Argo CD
  • Packages catalogs for repeatable rollouts
  • Allows for easy onboarding of new clusters and workloads

All based on real-world usage at Schwarz Group and the experience of multiple engineering teams - so you don't have to reinvent the wheel.

How it works

The usual flow is:

  1. πŸ“„ Initial configuration via .env and config.yaml
  2. 🧩 Rendering and deploying Terraform and Helm modules using kubara generate
  3. πŸ“¦ Commit the output to your GitOps repository.
  4. πŸš€ Bootstrapping the Hub cluster and Argo CD using kubara bootstrap
  5. πŸ™ Let Argo CD reconcile the platform state from Git.
  6. 🧱 Adding additional spoke clusters and workloads

πŸš€ Get started

Follow the bootstrap guide to:

  • Install the CLI
  • Prepare your .env and config.yaml
  • Run kubara init, kubara schema and kubara generate
  • Bootstrap Argo CD with kubara bootstrap <cluster-name>

πŸ“š Videos, talks, and articles

🀝 Contributing

We would πŸ’™ your contributions! Here's how to get started:

  1. Check the issues.
  2. Open an issue if yours is not listed.
  3. Open a pull request if you want to fix it.
  4. Follow the commit message conventions.

Versioning

kubara follows Semantic Versioning, with releases named v0.1.0-something. Releases are listed in the Release section.

License

Documentation is licensed under CC BY 4.0. Software source code is licensed under Apache 2.0.