Open source
Cuber is an open source software released under the Apache-2.0 license.
Cuber is an open-source automation tool that can build and deploy your apps on Kubernetes: avoid PaaS vendor lock-in and save up to 80% on server costs.
Cuber is an automation tool that makes it easy to publish your apps on Kubernetes.
Your app configuration can be described with a few lines of code.
Easily define processes, env variables, secrets, cron jobs, migrations and more.
Cuber is an open source software released under the Apache-2.0 license.
Deploy on any Kubernetes cluster (DigitalOcean, AWS, GKE, etc.) without lock-in and with simple migrations.
Cuber is written in Ruby, but it can deploy apps in any language, including Ruby, Node.js, Python, Java, PHP, Go or any other language and framework.
Your app runs on Kubernetes, which provides reliability, horizontal scaling and zero downtime deployments.
Cuber has a small, easy-to-understand codebase built on popular open source projects, like Git, Docker, Buildpacks and Kubernetes.
Cuber is an automation tool installed locally or in the CI/CD pipeline: in the cluster you have only plain Kubernetes configurations and your app.
Easily restore any previous release with a single command if something goes wrong.
Cuber can build your app automatically with Cloud Native Buildpacks or you can provide a custom Dockerfile.
Scale the infrastructure, not costs: save up to 80% on server cost compared to a PaaS.
Stop YAML craziness, long command line options, complex sequences of commands with many pitfalls. Bring sanity to Kubernetes deployments with a simple deploy command.
Easily run commands or open a shell in a separate pod that includes your app code and configuration.
Use a simple Cuber command to see the status and configuration of your running app or inspect Kubernetes directly.
Cuber has less features than Kubernetes, but it's much simpler. Kubernetes is low level, but most apps can run on a simple PaaS like Heroku, because they share the same needs... So why not try to make Kubernetes more accessible?
Cuber uses a declarative approach: the entire app configuration is defined in a Cuberfile that you can keep in version control. This means that infrastructure is reproducible and you can move to a new cluster in minutes.
You can run multiple apps in the same cluser, because every app has its own namespace. You can also run the same app in multiple clusters using multiple Cuberfiles.
Cuber produces minimal, clean YAML, not hundreds of configs thrown in your cluster. It's more readable, more secure, and not a pain to keep it updated. The generated configuration is meaningful and can work even without Cuber.
While Kubernetes is made for low-level infrastructure, Cuber offers a simple, declarative approach for running apps on Kubernetes. It's fully declarative, without manual patching or separate commands that introduce pitfalls.
A deploy command should work regardless of previous cluster state, because all the configuration for a release is in the Cuberfile, not in the cluster. Like GitOps, Git is the only source of truth and configuration flows in only one direction.
Cuber is installed locally and you don't have additional components inside Kubernetes to keep updated. Moreover, each deploy applies a fresh configuration. You can also move to a new cluster with one command.
Cuber is flow that just works, it's not a puzzle. It gets your app code from a repo, builds it using Docker or Buildpacks and applies the configuration to the Kubernetes cluster.
Cuber is opinionated and made for apps. It's not general templating like kustomize or a generic CI/CD pipeline where everything is up to you.