Keep a Kubernetes cluster's resources automatically synced to a Git repository.
Automatically remove resources from the cluster that were deleted from the Git repo.
Deploy either plain YAML manifests or a local Helm chart from a repo checkout.
Restrict which namespaces and cluster-scoped resource types the operator is allowed to touch.
| greedykomododragon/cabure | 42wim/fabio | 42wim/go-xmpp | |
|---|---|---|---|
| Stars | 0 | — | — |
| Language | Go | Go | Go |
| Last pushed | — | 2018-02-04 | 2020-01-24 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | hard | moderate | moderate |
| Complexity | 4/5 | 3/5 | 3/5 |
| Audience | ops devops | ops devops | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires an existing Kubernetes cluster with permission to install CRDs, RBAC, and the operator via Helm.
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.
A minimal GitOps operator that syncs a Kubernetes cluster to a Git repository, applying and pruning resources automatically.
Mainly Go. The stack also includes Go, Kubernetes, 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.
Setup difficulty is rated hard, with roughly 1h+ to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.