SecuAAS Docs
SecuFile

Déploiement Kubernetes

Déploiement sur Kubernetes avec secuops

Deploiement Kubernetes

Book: SecuFile — Stockage sécurisé de fichiers | Chapter: Installation et Configuration

Deploiement Kubernetes

Architecture de deploiement

SecuFile est deploye sur un cluster Kubernetes manage OVH (k8s-dev et k8s-prod) dans le namespace secufile.

Pods du namespace secufile

DeploymentImageRole
apisecufile-backendAPI Go (Gin)
web-backendsecufile-webgui-backendBackend Python (FastAPI)
web-frontendsecufile-webgui-frontendFrontend React (nginx)
postgrespostgres:15Base de donnees
redisredis:7-alpineCache et rate limiting
clamavclamav/clamavAntivirus (optionnel)

Deploiement via SecuOps

SecuOps est l'outil CLI obligatoire pour toutes les operations Kubernetes.

# Build des images Docker
secuops build --app=secufile-backend --env=k8s-dev
secuops build --app=filesecure-webgui --env=k8s-dev

# Deploiement
secuops deploy --app=secufile-backend --env=k8s-dev
secuops deploy --app=filesecure-webgui --env=k8s-dev

# Verification du statut
secuops status --app=secufile-backend --env=k8s-dev

# Consultation des logs
secuops logs --app=secufile-backend --env=k8s-dev

# Mise a jour de l'image d'un deployment
secuops kubectl --env=k8s-dev -- set image deployment/api api=<image> -n secufile
secuops kubectl --env=k8s-dev -- set image deployment/web-backend web-backend=<image> -n secufile
secuops kubectl --env=k8s-dev -- set image deployment/web-frontend web-frontend=<image> -n secufile

URLs de deploiement

Convention DNS

Conformement a la convention SecuAAS :

  • Namespace : secufile
  • URL principale : secufile.secuaas.dev (dev) / secufile.secuaas.ovh (prod)
  • API : api.secufile.secuaas.dev / api.secufile.secuaas.ovh

Health checks

Le deploiement Kubernetes utilise les probes suivantes :

livenessProbe:
  httpGet:
    path: /health
    port: 8080
  initialDelaySeconds: 10
  periodSeconds: 30

readinessProbe:
  httpGet:
    path: /ready
    port: 8080
  initialDelaySeconds: 5
  periodSeconds: 10
  • /health : Retourne 200 si le processus est vivant
  • /ready : Retourne 200 si PostgreSQL et Redis sont accessibles, 503 sinon

Registre d'images

Les images Docker sont stockees dans le registre Harbor OVH :

qq9o8vqe.c1.bhs5.container-registry.ovh.net/secuops/

Format des tags : &#123;app&#125;-&#123;component&#125;:main-&#123;HHMMSS&#125; (ex: secufile-backend-backend:main-012619)

Gestion des secrets Kubernetes

# Lister les secrets du namespace
secuops kubectl --env=k8s-dev -- get secrets -n secufile

# Le secret principal contient 32+ cles :
# secufile-secrets (JWT, DB, S3, Stripe, Zitadel, OVH, Resend, etc.)

On this page