★ FONCTIONNALITÉ PHARE

Plateforme de gestion des certificats

Automatisation du cycle de vie des certificats TLS de niveau entreprise — de la demande self-service au stockage Vault. Multi-tenant, entièrement GitOps, zéro étape manuelle.

Cycle de vie des certificats

Sept étapes automatisées de la demande au renouvellement — aucune intervention humaine requise après l'approbation initiale du PR.

1

Demande

Backstage

L'utilisateur soumet une demande via le portail self-service Backstage. Nom d'équipe, domaine, sous-domaine, type d'émetteur.

2

Création du PR

GitHub API

Le système crée une Pull Request GitHub contenant les manifestes YAML de certificat, la config du namespace et les politiques RBAC.

3

Sync GitOps

ArgoCD

Après approbation et fusion du PR, ArgoCD détecte les changements et synchronise les manifestes vers le cluster.

4

Challenge ACME

cert-manager

cert-manager crée un enregistrement TXT DNS-01 via l'API Cloudflare pour prouver la propriété du domaine auprès de Let's Encrypt.

5

Certificat émis

Let's Encrypt

Let's Encrypt valide le challenge DNS et émet le certificat TLS. cert-manager le stocke en tant que Secret Kubernetes.

6

Stockage Vault

ESO PushSecret

L'opérateur External Secrets PushSecret synchronise automatiquement le certificat vers HashiCorp Vault pour consommation externe.

7

Renouvellement auto

cert-manager

cert-manager renouvelle automatiquement 30 jours avant l'expiration. Le certificat renouvelé se propage vers K8s et Vault.

Isolation multi-tenant

Chaque équipe a son propre namespace avec isolation stricte — RBAC, politiques réseau, politiques Vault et règles Kyverno empêchent l'accès inter-tenant.

📦

Namespace

Namespace dédié par tenant avec quotas de ressources et limites.

🔐

RBAC

Le RBAC Kubernetes restreint l'accès aux ressources spécifiques au tenant.

🌐

Réseau

Les NetworkPolicies imposent l'isolation des tenants au niveau réseau.

🗝️

Vault

Les politiques Vault garantissent que les tenants ne peuvent lire que leurs propres chemins de secrets.

Fournisseurs DNS supportés

Les challenges DNS-01 fonctionnent avec tout fournisseur DNS — nativement ou via webhooks.

Cloudflare

recommended

Native integration

API Token (Zone:DNS:Edit)

AWS Route53

Native integration

Access Keys or IRSA (Workload Identity)

Google Cloud DNS

Native integration

Service Account JSON or Workload Identity

Azure DNS

Native integration

Client Secret or Managed Identity

DigitalOcean

Webhook integration

API Token via webhook solver

Custom (RFC2136)

Webhook integration

BIND-compatible TSIG key

Architecture technique

L'ensemble des composants intégrés qui alimentent la plateforme de certificats.

graph TD
  BS["Backstage Portal
Self-Service UI
POST /api/certificate"]:::backstage
  GH["GitHub Repository
Git as Source of Truth
tenants/team-name/certificates/"]:::github
  CM["cert-manager
ACME Protocol
DNS-01 Challenge via Cloudflare"]:::certmanager
  ESO["External Secrets Operator
PushSecret
K8s Secret → Vault"]:::eso
  VAULT["HashiCorp Vault
Long-term Storage
kv/certs/team-name/tls"]:::vault

  BS -->|"GitHub API"| GH
  GH -->|"ArgoCD sync"| CM
  CM -->|"K8s Secret created"| ESO
  ESO --> VAULT

  classDef backstage fill:#1e3a5f,stroke:#60a5fa,color:#93c5fd,stroke-width:2px
  classDef github fill:#14332a,stroke:#4ade80,color:#86efac,stroke-width:2px
  classDef certmanager fill:#2e1a0e,stroke:#f97316,color:#fdba74,stroke-width:2px
  classDef eso fill:#2e1a47,stroke:#a78bfa,color:#c4b5fd,stroke-width:2px
  classDef vault fill:#2e2a0e,stroke:#facc15,color:#fde68a,stroke-width:2px

Capacités de la plateforme

Certificats wildcard

Support pour *.example.com couvrant tous les sous-domaines. Validation DNS-01 requise. Kyverno empêche l'abus wildcard inter-tenant.

Renouvellement automatique

cert-manager renouvelle les certificats 30 jours avant expiration. Les certificats renouvelés se propagent automatiquement vers Vault via PushSecret.

Portail self-service

Interface web Backstage pour demander des certificats. Validation de formulaire, sélection de domaine, choix d'émetteur — aucune connaissance YAML requise.

Tout en GitOps

Chaque demande de certificat devient un PR. Piste d'audit complète, capacité de rollback, workflow d'approbation natif Git.

Monitoring Prometheus

PrometheusRules personnalisées pour les alertes d'expiration, la santé des émetteurs et les échecs de sync PushSecret. Dashboards Grafana inclus.

Support multi-fournisseur

Cloudflare, AWS Route53, Google Cloud DNS, Azure DNS et fournisseurs webhook pour tout DNS personnalisé.

Alertes intégrées

Les alertes PrometheusRule détectent les problèmes avant qu'ils n'impactent les utilisateurs.

warning

CertificateExpiryWarning

Fires 30 days before a certificate expires

critical

CertificateExpired

Certificate has already expired

critical

IssuerNotReady

ClusterIssuer is not functioning correctly

warning

PushSecretSyncFailed

ESO cannot synchronize certificate to Vault