Aller au contenu

Vue d'ensemble de l'architecture

Deployme.cloud est composée de plusieurs briques qui s’articulent pour offrir une expérience unifiée de déploiement Kubernetes.

deployme.cloud → Cloudflare (DNS + CDN)
├── FRONTENDS (Netlify) ─────────────────────────────────────────
├── deployme.cloud → Vitrine publique (Astro)
├── docs.deployme.cloud → Documentation (Starlight)
├── app.deployme.cloud → Manager client (SvelteKit)
├── admin.deployme.cloud → Panel admin, VPN only (SvelteKit)
├── BACKEND (VPS PulseHeberg FR, Docker Compose) ────────────────
├── api.deployme.cloud → API Core (Go + Caddy)
├── auth.deployme.cloud → Zitadel OIDC (Caddy)
│ └── PostgreSQL 17 + Valkey 8 (internes, non exposés)
└── OPTIONNEL ───────────────────────────────────────────────────
└── status.deployme.cloud → Page de statut
InterfaceURLAccèsStackRôle
Vitrinedeployme.cloudPublicAstro + TailwindCSSLanding page, produit, pricing, contact
Docsdocs.deployme.cloudPublicStarlight (Astro)Documentation technique, guides, API ref
Managerapp.deployme.cloudAuthentifié (utilisateurs)SvelteKit + TailwindCSSDashboard, création/gestion de clusters, monitoring, billing
Adminadmin.deployme.cloudVPN uniquementSvelteKit + TailwindCSSGestion infra, utilisateurs, métriques, support
ComposantTechnologieRôle
API CoreGo + gRPC/RESTControl plane : auth, CRUD clusters, provisioning
PostgreSQL 17Base relationnelleStockage principal (API + Zitadel, bases mutualisées)
Valkey 8Cache (fork Redis BSD)Sessions, cache de requêtes
ZitadelAuth OIDCAuthentification, gestion des identités
Caddy v2Reverse proxyTLS automatique via Let’s Encrypt
┌───────────────────┐
│ Control Plane │
│ (API Core Go) │
└───────┬───────────┘
┌─────────┬───────┼───────┬──────────┐
▼ ▼ ▼ ▼ ▼
SDK Terraform CAPI Ansible CLI
(Go,Py, Provider Collection
TS)

Le backend tourne sur un VPS PulseHeberg (hébergeur français) dans un seul docker compose :

VPS (2 vCPU / 2 GB RAM)
├── Caddy v2 → reverse proxy TLS (~15 MB)
├── deployme-api → binaire Go (~30 MB)
├── PostgreSQL 17 → base "deployme" + "zitadel" (~120 MB)
├── Valkey 8 → cache (fork Redis BSD) (~20 MB)
└── Zitadel → auth OIDC sur PG (~250 MB)
Total : ~450 MB

Tout le trafic passe par Cloudflare qui assure :

  • Résolution DNS
  • CDN et cache des assets statiques
  • Protection DDoS
  • Certificats SSL/TLS

Les frontends sont déployés sur Netlify (auto-deploy depuis GitHub sur push main).

Push sur main
├── GitHub Actions ── Lint + Tests + Build
├── Frontends ──────► Netlify auto-deploy ──► *.deployme.cloud
└── API Go ─────────► Docker build → Push GHCR
└── SSH → VPS : docker compose pull && up -d