Skip to content

kubara

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

πŸ€” What is kubara?

kubara is a single binary CLI tool written in Go to bootstrap, build, and package Kubernetes platforms.

You can think of kubara as a package manager for platform architecture: it helps you define a reusable platform setup, generate the needed artifacts, and package that setup for reuse across many clusters.

It brings together infrastructure provisioning, multi-tenancy setup, GitOps onboarding, and essential third-party tooling in one reusable GitOps workflow.

kubara gives you a unified, reproducible way to deploy Kubernetes platforms with minimal effort and high consistency whether you run on cloud, edge, or hybrid infrastructure.

kubara also gives you a reusable packaging model for platform architecture: what Helm charts are for single applications, kubara catalogs are for your platform setup.

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

⭐ Main Features

  • βš™οΈ 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?

Setting up a secure, multi-cluster Kubernetes platform is hard.

kubara simplifies this with a single Go binary that:

  • Generates required configuration and secrets
  • Templatizes and deploys pre-vetted infrastructure components
  • Bootstraps your platform using Argo CD and GitOps
  • Packages reusable platform catalogs for repeatable rollout
  • Allows 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 does it work?

kubara takes care of:

  1. πŸ“„ Initial configuration via .env and config.yaml
  2. 🧩 Rendering and deploying Terraform and Helm modules
  3. πŸ§ͺ Validating schemas and environment settings
  4. πŸš€ Bootstrapping the Hub cluster and Argo CD
  5. πŸ“¦ Managing secrets (incl. External Secrets Operator)
  6. 🧱 Adding additional spoke clusters and workloads

πŸš€ Getting Started

Follow the Bootstrap Your Platform Guide to:

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

You're done πŸŽ‰

πŸŽ₯/πŸ“/πŸŽ™οΈ Multimedia

🀝 Contributing

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

  1. Check the Issues
  2. Open a new one if your problem isn't listed
  3. Want to fix something yourself? Go ahead and open a PR!
  4. Follow our Commit Message Conventions

We're happy to help and review πŸ™Œ

🏷️ Versioning

kubara follows Semantic Versioning in the style 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.