gitwtfhub

wtf is cabure?

greedykomododragon/cabure — explained in plain English

Analysis updated 2026-05-18

0GoAudience · ops devopsComplexity · 4/5LicenseSetup · hard

TL;DR

A minimal GitOps operator that syncs a Kubernetes cluster to a Git repository, applying and pruning resources automatically.

Mindmap

mindmap
  root((Cabure))
    What it does
      Watches GitApplication
      Renders YAML or Helm
      Server-Side Apply
      Prunes stale objects
    Tech stack
      Go
      Kubernetes
      Helm
    Use cases
      GitOps sync
      Single cluster reconciliation
    Audience
      DevOps teams
      Platform engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Keep a Kubernetes cluster's resources automatically synced to a Git repository.

REASON 2

Automatically remove resources from the cluster that were deleted from the Git repo.

REASON 3

Deploy either plain YAML manifests or a local Helm chart from a repo checkout.

REASON 4

Restrict which namespaces and cluster-scoped resource types the operator is allowed to touch.

What's in the stack?

GoKubernetesHelm

How it stacks up

greedykomododragon/cabure42wim/fabio42wim/go-xmpp
Stars0
LanguageGoGoGo
Last pushed2018-02-042020-01-24
MaintenanceDormantDormant
Setup difficultyhardmoderatemoderate
Complexity4/53/53/5
Audienceops devopsops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Requires an existing Kubernetes cluster with permission to install CRDs, RBAC, and the operator via Helm.

AGPLv3: free to use and modify, but if you run a modified version and let others use it over a network, you must share that modified source code with them.

Wtf does this do

Cabure is a small tool that keeps a Kubernetes cluster in sync with a Git repository. This pattern is called GitOps: instead of manually running commands to update what is running in your cluster, you change files in a Git repo, and a tool watches that repo and applies the changes for you. Cabure is built to do this job for one cluster, in a small and focused way, rather than trying to be a full platform. You tell Cabure to watch a repository by creating a GitApplication resource inside Kubernetes, pointing at the repo, a branch or revision, and a path inside it. Cabure checks out that repository, renders either plain YAML files or a local Helm chart from what it finds, and applies the result to the cluster using a Kubernetes feature called Server-Side Apply. It keeps track of everything it has applied, and if something is removed from the Git repo, Cabure can remove it from the cluster too, as long as pruning is turned on for that application. According to the README, Cabure deliberately does not try to replace larger tools like Argo CD. It has no web interface, does not manage multiple clusters at once, and only supports plain YAML or local Helm charts, not other templating tools. It also limits which types of cluster-wide resources it is allowed to create, and restricts where credentials and file paths can come from, as safety measures described in the README. Cabure is installed into a cluster using a Helm chart, and requires an existing Kubernetes cluster with permission to install its components. The project reports Prometheus metrics and health checks, and is written in Go. It is licensed under the GNU Affero General Public License version 3, which means that if you modify Cabure and let others use that modified version over a network, you must make your changed source code available to them.

Yoink these prompts

Prompt 1
Explain how to write a GitApplication resource for Cabure to sync my Kubernetes manifests.
Prompt 2
Walk me through installing Cabure with Helm into a new namespace.
Prompt 3
How does Cabure decide which resources to prune when they're removed from Git?
Prompt 4
What are the safety constraints Cabure enforces around secrets and cluster-scoped resources?

Frequently asked questions

wtf is cabure?

A minimal GitOps operator that syncs a Kubernetes cluster to a Git repository, applying and pruning resources automatically.

What language is cabure written in?

Mainly Go. The stack also includes Go, Kubernetes, Helm.

What license does cabure use?

AGPLv3: free to use and modify, but if you run a modified version and let others use it over a network, you must share that modified source code with them.

How hard is cabure to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is cabure for?

Mainly ops devops.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.