/kubero

A free and self-hosted Heroku PaaS alternative for Kubernetes that implements GitOps

Primary LanguageTypeScriptGNU General Public License v3.0GPL-3.0



License GitHub release (latest by date) Discord GitHub (Pre-)Release Date Demo


Kubero [pronounced: Kube Hero] is a fully self-hosted Internal Developer Platform (IDP) that brings the workflows of Heroku to your Kubernetes cluster. It enables you to deploy your applications with a few clicks. It has a built-in CI/CD pipeline and supports multiple staging environments.

More Screenshots and a full video on YouTube

How it Works (DEMO)

  1. Create a pipeline with the phases you need (review, test, stage, production)
  2. Connect the pipeline to your git repository (Github, Bitbucket, Gitlab, Gitea, Gogs)
  3. Configure your apps with cronjobs and addons

Kubero initiates two containers: one for cloning your repository and another for building your app. Once the build is complete, Kubero will launch the final container and make it accessible via the configured domain.

Features

  • Create unlimited CI/CD pipelines with up to 4 separate staging environments for all your applications
  • Automatically build, start, and cleanup review-apps after opening/closing a pull request
  • Automatic redeployment of the app based on a push to a branch or tag
  • Create scheduled tasks as cronjobs
  • Deploy well known apps with templates (Wordpress, Grafana, ...)
  • Easy deployment of your docker containers on Kubernetes without helm charts
  • Deploy add-ons for your application (PostgreSQL, Redis, and more ...)
  • Easy access of application logs in the UI
  • Easy and safe restart of the application in the UI
  • Triggered or periodic vulnerability scans of your running apps
  • Comes with an API and CLI to integrate with your existing tools and CI/CD
  • Built-in container console
  • SSO with Github and Oauth2

Supported GIT repositories (hosted and self-hosted)

  • Gitea / Forgejo
  • Gogs
  • Github
  • Gitlab
  • Bitbucket

Tested languages/frameworks

Basically everything that can be packaged in a single container can be deployed by Kubero.

  • GoLang (including Hugo, gin-gonic)
  • Python (including Flask)
  • JavaScript/NodeJS
  • PHP (including Laravel)
  • Ruby (including Rails)
  • Static HTML
  • Rust (including Rocket)
  • ...

You find the preconfigured buildpacks and examples here: https://github.com/kubero-dev/buildpacks

Add-ons

Addon Maintainer Built in*
MySQL Bitnami
PostgreSQL Bitnami
Redis Bitnami
MongoDB Bitnami
Elasticsearch Bitnami
Kafka Bitnami
CouchDB Apache
Haraka Mail Server Kubero
Memcache Bitnami
RabbitMQ Bitnami
Cludflare Tunnels Adianth
Minio Minio
Percona MongoDB Cluster Percona
Crunchy Postgres Cluster Crunchy Data
Redis Cluster Opstree
CockroachDB CockroachDB

* Ships with the Kubero Operator

Planned Add-ons

Longterm future Add-ons

60+ Application templates (similar to Heroku Buttons)

Check out the full list here or submit your own app! Read here how to do it.

Basic Concept

Kubero is Kubernetes native and runs with two containers on any Kubernetes instance.

Quickstart

1) Download and unpack the Kubero CLI (MacOS, Linux, Windows)

Binaries (MacOS, Linux)

curl -fsSL get.kubero.dev | bash

Brew (MacOS, Linux)

brew tap kubero-dev/kubero
brew install kubero-cli

2) Run kubero install to install all components on a new or your existing cluster

You can bring your own cluster or create one with the kubero install on one of the following providers:

  • GKE
  • Scaleway
  • DigitalOcean
  • Linode
  • Kind (local)

Documentation

https://docs.kubero.dev/

Roadmap

https://github.com/orgs/kubero-dev/projects/1/views/3

Community

kubero Discord server Banner

Contributing

All contributions are welcome!

  • Open an issue
  • Add a feature or open a feature request
  • Discuss ideas in the discussions
  • Fix typos
  • Contribute code
  • Write articles

Supporting this project

Starring this project is a huge motivation. ⭐ Thank you!

Stargazers over time