Initial vault setup
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
---
|
||||
title: Kubero
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, deployment, kubernetes, paas, devops]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Deployment, https://github.com/kubero-dev/kubero]
|
||||
---
|
||||
|
||||
# 🚀 Kubero
|
||||
|
||||
> **PaaS Kubernetes léger** — déployez vos applications en quelques clics, sans devenir expert K8s. L'alternative Heroku/Heroku-like sur votre cluster.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [kubero.dev](https://www.kubero.dev/) |
|
||||
| **GitHub** | [kubero-dev/kubero](https://github.com/kubero-dev/kubero) |
|
||||
| **License** | Apache-2.0 |
|
||||
| **Langage** | TypeScript (Node.js) + Go (opérateur) |
|
||||
| **Étoiles GitHub** | 4,3k ⭐ |
|
||||
| **Catégorie** | [[cat-deployment\|Deployment]] |
|
||||
| **Stack cible** | Kubernetes (auto-hébergé, K3s, EKS, GKE…) |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Kubero** est une **plateforme PaaS open source** qui s'installe au-dessus d'un cluster Kubernetes existant pour offrir une expérience proche d'Heroku ou de Fly.io. L'objectif affiché est de masquer la complexité de K8s au développeur : on pousse son code (via Git ou via une image de conteneur) et Kubero s'occupe de créer le Deployment, le Service, l'Ingress, le certificat TLS et la base de données associée.
|
||||
|
||||
Kubero se compose de **deux éléments** : une UI web (Node.js/TypeScript) qui sert de tableau de bord, et un **opérateur Kubernetes** (Go) qui gère le cycle de vie des ressources dans le cluster. L'authentification s'appuie sur GitHub ou GitLab OAuth, et chaque "app" Kubero correspond à un namespace Kubernetes dédié avec isolation réseau.
|
||||
|
||||
**Fonctionnalités principales** :
|
||||
|
||||
- ✅ **Buildpacks et Docker** : déploiement depuis Git (Heroku-style) ou image OCI pré-construite
|
||||
- ✅ **Add-ons managés** : PostgreSQL, MySQL, Redis, MongoDB (provisionnés automatiquement)
|
||||
- ✅ **TLS automatique** via cert-manager + Let's Encrypt
|
||||
- ✅ **Multi-utilisateurs** : chaque développeur a son namespace
|
||||
- ✅ **Logs et exec** directement dans l'UI
|
||||
- ✅ **Sleep mode** : mise en veille automatique des apps peu utilisées (économie de ressources)
|
||||
|
||||
**Positionnement** : plus simple qu'ArgoCD, plus complet que Canine. Idéal pour une équipe de 2-10 devs qui veut self-hoster sans monter un cluster Rancher. Pour un usage solo, [[app-coolify]] ou Dokku restent plus simples (K8s pas requis).
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Prérequis
|
||||
- Un cluster Kubernetes fonctionnel (K3s, microK8s, k3d, ou cluster managé)
|
||||
- `kubectl` configuré localement
|
||||
- Helm 3
|
||||
|
||||
### Via Helm (recommandé)
|
||||
|
||||
```bash
|
||||
# Ajouter le repo Helm
|
||||
helm repo add kubero https://kubero-dev.github.io/kubero
|
||||
helm repo update
|
||||
|
||||
# Installer l'opérateur
|
||||
helm install kubero-operator kubero/kubero-operator \
|
||||
--namespace kubero --create-namespace
|
||||
|
||||
# Installer l'UI
|
||||
helm install kubero kubero/kubero \
|
||||
--namespace kubero
|
||||
```
|
||||
|
||||
### Installation manuelle (sans Helm)
|
||||
|
||||
```yaml
|
||||
# kubero-namespace.yaml
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: kubero
|
||||
---
|
||||
# voir https://github.com/kubero-dev/kubero/tree/main/deploy
|
||||
```
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
- **OAuth Provider** : configurer GitHub/GitLab OAuth App et renseigner `KUBERO_OAUTH_GITHUB_ID` / `KUBERO_OAUTH_GITHUB_SECRET`
|
||||
- **Domaines personnalisés** : déclarer le wildcard (`*.apps.example.com`) dans les paramètres du cluster et pointer un CNAME DNS vers l'Ingress
|
||||
- **Resource limits** : fixer les `requests`/`limits` par app pour éviter qu'un pod ne sature le cluster
|
||||
- **Backups** : les add-ons DB intègrent un cron de dump vers S3/SFTP
|
||||
- **Sleep schedule** : activer le mode "sleep on inactivity" sur les apps de staging
|
||||
|
||||
## 🔗 Alternatives
|
||||
|
||||
- **[[app-canine]]** — autre PaaS K8s minimaliste, plus jeune et plus simple mais moins complet
|
||||
- **[[app-coolify]]** — PaaS Docker (pas K8s), plus accessible, alternatif direct Heroku
|
||||
- **ArgoCD** — GitOps pur K8s, courbe d'apprentissage beaucoup plus raide
|
||||
- **Rancher** — management de cluster complet, vise l'entreprise
|
||||
- **Dokku** — PaaS sur un seul serveur (Docker only, pas K8s)
|
||||
|
||||
## 🔒 Sécurité
|
||||
|
||||
- ⚠️ **Ne pas exposer Kubero en HTTP** : forcer HTTPS via l'Ingress et un cert valide
|
||||
- **RBAC Kubernetes** : limiter les permissions du ServiceAccount de l'opérateur au strict nécessaire
|
||||
- **Isolation des namespaces** : vérifier que les NetworkPolicies empêchent un app Kubero d'en snooper une autre
|
||||
- **Secrets des add-ons DB** : stockés en Secrets K8s, mais activer le chiffrement at-rest de `etcd` pour aller plus loin
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Site officiel](https://www.kubero.dev/)
|
||||
- [Dépôt GitHub](https://github.com/kubero-dev/kubero)
|
||||
- [Documentation](https://www.kubero.dev/docs)
|
||||
- [Démo en ligne](https://demo.kubero.dev/)
|
||||
|
||||
## 🔗 Pages Liées
|
||||
|
||||
- [[cat-deployment]]
|
||||
- [[app-portainer]]
|
||||
- [[app-canine]]
|
||||
- [[app-coolify]]
|
||||
- [[cat-docker]]
|
||||
- [[securisation-home-lab]]
|
||||
- [[recettes-docker-compose]]
|
||||
Reference in New Issue
Block a user