Awesome
Kubero [pronounced: Kube Hero] is a self-hosted PaaS (Platform as a Service) that allows any developer to deploy their application on Kubernetes without specialized knowledge. Kubero follows the principles of 12-factor apps. It is possible to run apps based on existing containers or from source code.
More Screenshots and a full video on YouTube
How GitOps Works (DEMO)
- Create a pipeline with the phases you need (review, test, stage, production)
- (optional) Connect the pipeline to your git repository (GitHub, Bitbucket, GiLab, Gitea, Gogs)
- Configure your apps with cronjobs and addons
Kubero starts now 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 writing helm charts
- Deploy add-ons along your application (PostgreSQL, Redis, and more ...)
- Easy access of application logs in the web-UI
- Easy and safe restart of the application in the web-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 web console
- Build and deployment Notifications to Discord/Slack/Webhooks
- Integrated metrics and monitoring
- 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)
- ...
Add-ons
Addon | Maintainer | Built in* | |
---|---|---|---|
<img src="client/public/img/addons/mysql.svg" width="30px" style="vertical-align: middle; margin: 10px"> | MySQL | Bitnami | ✅ |
<img src="client/public/img/addons/pgsql.svg" width="30px" style="vertical-align: middle; margin: 10px"> | PostgreSQL | Bitnami | ✅ |
<img src="client/public/img/addons/redis.svg" width="30px" style="vertical-align: middle; margin: 10px"> | Redis | Bitnami | ✅ |
<img src="client/public/img/addons/mongo.svg" width="30px" style="vertical-align: middle; margin: 10px"> | MongoDB | Bitnami | ✅ |
<img src="client/public/img/addons/elasticsearch.svg" width="30px" style="vertical-align: middle; margin: 10px"> | Elasticsearch | Bitnami | ✅ |
<img src="client/public/img/addons/kafka.svg" width="30px" style="vertical-align: middle; margin: 10px"> | Kafka | Bitnami | ✅ |
<img src="client/public/img/addons/couchdb.svg" width="30px" style="vertical-align: middle; margin: 10px"> | CouchDB | Apache | ✅ |
<img src="client/public/img/addons/Haraka.png" width="30px" style="vertical-align: middle; margin: 10px"> | Haraka Mail Server | Kubero | ✅ |
<img src="client/public/img/addons/memcached.svg" width="30px" style="vertical-align: middle; margin: 10px"> | Memcache | Bitnami | ✅ |
<img src="client/public/img/addons/RabbitMQ.svg" width="30px" style="vertical-align: middle; margin: 10px"> | RabbitMQ | Bitnami | ✅ |
<img src="client/public/img/addons/cloudflare.svg" width="30px" style="vertical-align: middle; margin: 10px"> | Cludflare Tunnels | Adianth | |
<img src="client/public/img/addons/Minio.png" width="30px" style="vertical-align: middle; margin: 10px"> | Minio | Minio | |
<img src="client/public/img/addons/mongo.svg" width="30px" style="vertical-align: middle; margin: 10px"> | Percona MongoDB Cluster | Percona | |
<img src="client/public/img/addons/pgsql.svg" width="30px" style="vertical-align: middle; margin: 10px"> | Crunchy Postgres Cluster | Crunchy Data | |
<img src="client/public/img/addons/redis.svg" width="30px" style="vertical-align: middle; margin: 10px"> | Redis Cluster | Opstree | |
<img src="client/public/img/addons/CockroachDB.svg" width="30px" style="vertical-align: middle; margin: 10px"> | CockroachDB | CockroachDB |
* Ships with the Kubero Operator
125+ Application templates (similar to Heroku Buttons)
- WordPress
- Grafana
- Bitwarden
- Kuma
- Trilium Notes
- ...
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 (kubero-ui and Operator). All data is stored on your Kubernetes etcd without an extra database.
Quickstart
1) Download and unpack the <a href="https://github.com/kubero-dev/kubero-cli/releases/latest">Kubero CLI</a> (MacOS, Linux, Windows)<p>
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 existing cluster or create one with the kubero install on one of the following providers:
- GKE
- Scaleway
- DigitalOcean
- Linode
- Kind (local)
Documentation
Roadmap
https://github.com/orgs/kubero-dev/projects/1/views/3
Community
Contributing
All contributions are welcome!
- Rise an issue/bug/error
- Open a feature request
- Discuss ideas in the discussions section or discord
- Fix typos (I do a lot of them)
- Contribute code
- Write articles
Supporting this project
Starring this project is a huge motivation. ⭐ Thank you!