/cuber-gem

An automation tool that simplify the deployment of your apps on Kubernetes.

Primary LanguageRubyApache License 2.0Apache-2.0

Cuber

CUBER

Gem Version

Deploy your apps on Kubernetes easily.

What is Cuber?

Cuber is an automation tool (written in Ruby) that can package and deploy your apps (written in any language and framework) on Kubernetes.

Unlike other tools that add more options and more complexity to Kubernetes, Cuber is made to simplify and reduce the complexity, thus making the deployment process more standardized and reliable.

You just need to create a Cuberfile, with ~10 lines of code, and then type cuber deploy to package and deploy your app on any Kubernetes cluster.

Kubernetes is up to 80% cheaper compared to PaaS like Heroku and you can choose between different cloud providers (no lock-in). It is also reliable and it can scale applications of any size. The only downside is that it's complex and requires many steps and configurations, even if most applications share the same needs... Cuber makes Kubernetes simple and more concise. In this way you have the simplicity of a PaaS, at the cost of bare infrastructure.

Read more

Installation

First you need to install the prerequisites: ruby, git, docker, pack, kubectl.

Then install Cuber:

$ gem install cuber

Quickstart

Open your application folder and create a Cuberfile, for example:

# Give a name to your app
app 'myapp'

# Get the code from this Git repository
repo '.'

# Build the Docker image automatically (or provide a Dockerfile)
buildpacks 'heroku/buildpacks:20'

# Publish the Docker image in a registry
image 'username/myapp'

# Connect to this Kubernetes cluster
kubeconfig 'path/to/kubeconfig.yml'

# Run and scale any command on Kubernetes
proc :web, 'your web server command'

You can also see a more complete example.

Then in your terminal:

$ cuber deploy

Finally you can also monitor the status of your application:

$ cuber info

Check out the Cuberfile configuration and the Cuber CLI commands for more information.

Production-ready

We have built Cuber for scaling Pushpad. Cuber has been used in production for over a year and it is stable and reliable. We had 100% uptime and we saved 80% on cloud costs.

Cuber is a mature project that has all the features needed for deploying applications on Kubernetes and it is used every day for several projects.

License

Cuber is released under the Apache-2.0 license.

Learn more

You can find more information and documentation on cuber.cloud.