Deploy a microservice to Kubernetes with autoscaling, ingress, and network policy from a single short config file.
Enable a canary rollout for a service without hand-writing a second deployment manifest.
Get an automatically generated Grafana dashboard for a newly deployed service.
Toggle a Kubernetes resource like autoscaling or ingress on or off without deleting or rewriting YAML files.
| kritagya123611/kubeloom | 12vault/ravel | alexremn/finalizer-doctor | |
|---|---|---|---|
| Stars | 3 | 3 | 3 |
| Language | Go | Go | Go |
| Setup difficulty | hard | easy | easy |
| Complexity | 4/5 | 2/5 | 3/5 |
| Audience | ops devops | developer | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires a working Kubernetes cluster, Docker or Podman, and Kind for local testing before you can deploy the controller.
KubeLoom is a Kubernetes operator that turns one short configuration file into a complete set of production ready deployment resources. Normally, deploying a microservice to Kubernetes means hand writing six to ten separate YAML files covering things like the deployment, service, ingress, autoscaling, and network rules, and it is easy to get one of them subtly wrong. With KubeLoom, you write a single custom resource called an AppService, around fifteen lines long, and the operator automatically creates and manages nine underlying resources for you: a Deployment, a Service, a horizontal autoscaler, an Ingress, persistent storage, a pod disruption budget, a network policy, a canary rollout, and a Grafana dashboard for observability. Each of these pieces can be turned on or off with a simple enabled flag in the AppService file, so you can add autoscaling or a canary rollout without writing any extra YAML, and disabling a feature causes the operator to remove that resource automatically. The reconciliation process is safe to run repeatedly: it creates or updates resources as needed and deletes them cleanly when they are turned off. To try it out, you need Go, Docker or Podman, kubectl pointed at a cluster, and Kind for local testing. After installing the custom resource definitions and deploying the controller with a few make commands, you apply a sample AppService file and the operator immediately builds out the full set of resources, including a working canary deployment and an autoscaler tuned to CPU usage. The project includes unit tests, integration tests, and end to end tests that run in isolated Kind clusters through GitHub Actions, and it is released under the Apache 2.0 license.
A Kubernetes operator that turns one short configuration file into a full set of production resources: deployment, autoscaling, ingress, networking rules, canary rollout, and a Grafana dashboard.
Mainly Go. The stack also includes Go, Kubernetes, Kubebuilder.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice and state any changes you made.
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.