Topologie réseau
Vue réseau de la plateforme Nex : flux de l’Internet jusqu’aux pods K8s, segmentation, exits.
Diagramme
Composants
Edge (Cloudflare)
- Zone :
paywithnex.com(Zone ID42d017ab767f081e4870d86f6795f3b9) - Plan : Free (passage Pro/Business à prévoir si besoins WAF avancés)
- SSL mode : Full (strict). Min TLS 1.2. Always Use HTTPS ON.
- WAF : mode Block sur les endpoints sensibles (
/auth/login,/auth/register,/auth/otp). - CDN : assets statiques + doc VitePress (
docs.paywithnex.com).
Load balancer
- AWS NLB dans
eu-west-3(Paris), proxy via Cloudflare. Pas d’adresse IP publique exposée directement.
Cluster EKS
- Région :
eu-west-3. - Cluster staging : 5x t3a.medium, K8s v1.29.
- Cluster production : (à documenter selon état actuel).
- Namespaces :
nex-staging,nex-production. - Ingress :
ingress-nginx(Helm 4.14.3),cert-manager(1.19.4), ClusterIssuerletsencrypt-prod(READY).
Datastores
- RDS PostgreSQL : multi-AZ, schémas logiques par service.
- Redis (ElastiCache ou équivalent) : cache, sessions, rate limiting.
- S3 : fichiers KYC, KYB, photos (à confirmer config exacte).
Network policies (segmentation interne K8s)
- default-deny ingress appliqué par défaut sur tous les pods.
- ingress-controller autorisé à pousser vers tous les pods exposés.
- Communication intra-namespace : autorisée pod-à-pod (REST + JWT internal-service).
- Cross-namespace : interdite (staging ne peut pas appeler production et vice-versa).
Routes publiques
| Route publique | Cible interne | Notes |
|---|---|---|
https://dev.paywithnex.com/api/* | orchestrator:3004 | Toutes les requêtes apps/dashboards (route simplifiée) |
https://docs.paywithnex.com | Cloudflare Pages (Direct Upload) | Doc VitePress |
Les anciennes routes /auth/* et /configuration/* directes ont été retirées au profit du tout-via-orchestrator.
Egress (sortants autorisés)
Les pods peuvent atteindre les services externes suivants en sortie :
| Destination | Service Nex appelant | Usage |
|---|---|---|
| Firebase (Google APIs) | auth, notifications | Custom tokens + push messaging |
| Opérateurs Mobile Money | providers-gateway | Cash-in / cash-out / paiements |
| Apentis | customer-profiles-kyc | Vérification KYC |
| Doppler API | External Secrets Operator | Pull secrets (synchronisation continue) |
Tout autre egress doit être explicitement listé avant déploiement.
Certificats TLS
- Provisionnement : automatique via cert-manager + ClusterIssuer Let’s Encrypt.
- Renouvellement : automatique (avant J-30 expiration).
- Audit : à monitorer via Grafana (cert-manager metrics) — voir /operations/monitoring-alertes.
Sécurité périmétrique — voir aussi
- /security/known-gaps — CORS permissif (origin:true) côté
auth/main.ts, absence de Helmet / CSP / X-Frame-Options : à traiter. - /architecture/trust-boundaries — zones de confiance et contrôles aux frontières.
- /operations/gateway-cdn-securisation — configuration WAF et rate limiting détaillée.