INC-001
Variable GitLab CI Protected sur feature branch
Sprint 0
🟢 Low
✅ Résolu
pydantic_core.ValidationError: SECRET_KEY Field required
---
cliquer pour les détails →
INC-002
Pydantic BaseSettings priorité .env vs variables d'environnement
Sprint 0
🟢 Low
✅ Résolu
Connection refused: localhost:5432
---
cliquer pour les détails →
INC-003
Migration Alembic dupliquée
Sprint 0
🟢 Low
✅ Résolu
sqlalchemy.exc.ProgrammingError: DuplicateTable relation "users" already exists
📊 Résumé Sprint 0
cliquer pour les détails →
INC-004
CVEs en cascade depuis une dépendance inutilisée
Sprint 1
🟠 High
✅ Résolu
17 HIGH CVEs détectés dans la pipeline
---
cliquer pour les détails →
INC-005
python-jose CVE CRITICAL (CVE-2024-33663)
Sprint 1
🔴 Critical
✅ Résolu
CRITICAL: python-jose algorithm confusion with ECDSA keys
---
cliquer pour les détails →
INC-006
passlib incompatible bcrypt >= 4.0
Sprint 1
🟢 Low
✅ Résolu
AttributeError: module 'bcrypt' has no attribute '__about__'
---
cliquer pour les détails →
INC-007
CVEs OS image de base Docker (python:3.10-slim)
Sprint 1
🟢 Low
✅ Résolu
14 CVEs OS Debian 13.4 — status "affected" (pas de fix)
📊 Résumé Sprint 1
cliquer pour les détails →
INC-008
Terraform state lock S3 non libéré
Sprint 2
🟢 Low
✅ Résolu
Error: Error acquiring the state lock
---
cliquer pour les détails →
INC-009
Ressources AWS hors state Terraform (ECR, IAM)
Sprint 2
🟢 Low
✅ Résolu
RepositoryAlreadyExistsException: ECR repository already exists
---
cliquer pour les détails →
INC-010
EKS Node Group bloqué sans NAT Gateway (27+ min)
Sprint 2
🟢 Low
✅ Résolu
module.eks.aws_eks_node_group.main: Still creating... [27m36s elapsed]
---
cliquer pour les détails →
INC-011
ENIs orphelins après terraform destroy
Sprint 2
🟢 Low
✅ Résolu
DependencyViolation: The network interface 'eni-xxx' is already associated with another allocation
---
cliquer pour les détails →
INC-012
RDS snapshot non supprimé (coûts)
Sprint 2
🟢 Low
✅ Résolu
Snapshots RDS toujours facturés 24h après destroy
📊 Résumé Sprint 2
cliquer pour les détails →
INC-013
ELB manquant après Envoy Gateway
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-014
RBAC manquant pour bootstrap Job
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-015
Metrics-server non installé (HPA échoue)
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-016
Alembic in-container vs init container
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-017
Envoy Gateway upstream mutable
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-018
ConfigMap montée en volume vide
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-019
ServiceAccount token absent
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-020
Image ECR pull rate limit
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-021
Probes (liveness/readiness) timeout
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-022
HPA metrics CPU insuffisantes
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-023
Terraform ELB sec groups pas générés
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-024
GitLab CI job sans entrypoint sur images spéciales
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-025
Variables projet écrasent variables YAML
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-026
terraform.tfvars gitignored → TF_VAR_ en CI
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-027
pip introuvable dans alpine/ansible
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-028
Envoy Gateway Helm repo HTTP 404 (migration OCI)
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-029
eks:DescribeCluster manquant pour user CI
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-030
needs DAG vs stages pour destroy infra
Sprint 3
🟢 Low
✅ Résolu
cliquer pour les détails →
INC-031
AmazonEKSClusterPolicy attachée à un IAM user
Sprint 3
🟢 Low
✅ Résolu
youss_admin ne peut pas kubectl malgré la policy attachée
cliquer pour les détails →
INC-032
eks:DescribeCluster manquant pour gitlab-ci
Sprint 3
🟢 Low
✅ Résolu
AccessDeniedException eks:DescribeCluster dans le deploy job
cliquer pour les détails →
INC-033
kubectl cluster-info forbidden
Sprint 3
🟢 Low
✅ Résolu
cannot list services in namespace kube-system
cliquer pour les détails →
INC-034
kubectl create namespace forbidden + doublon bootstrap
Sprint 3
🟢 Low
✅ Résolu
namespaces is forbidden pour gitlab-ci
cliquer pour les détails →
INC-035
Init:InvalidImageName — ${ECR_IMAGE} non substitué
Sprint 3
🟢 Low
✅ Résolu
Failed to apply default image tag "${ECR_IMAGE}"
cliquer pour les détails →
INC-036
DB_PASSWORD manquant dans fastapi-secrets
Sprint 3
🟢 Low
✅ Résolu
Pydantic ValidationError: DB_PASSWORD Field required
cliquer pour les détails →
INC-037
terraform apply ancien pipeline → No changes
Sprint 3
🟢 Low
✅ Résolu
Fix mergé mais policy non mise à jour dans AWS
cliquer pour les détails →
INC-038
State lock avec mauvais credentials
Sprint 3
🟢 Low
✅ Résolu
Error acquiring the state lock avec youss_admin
cliquer pour les détails →
INC-039
Hardening Sprint 3 jamais appliqué sur EKS (deploy fichier par fichier)
Sprint 3
🟢 Low
✅ Résolu
PSA, ServiceAccount, PDB et NetworkPolicy absents du cluster malgré des manifests durcis et validés
Déployer le même artefact que celui qu'on lint (`kustomize build` = source de vérité), tester end-to-end sur EKS et pas
cliquer pour les détails →
INC-040
terraform apply rejeté : accent dans une description de SG
Sprint 3
🟢 Low
✅ Résolu
`egress.0.description doesn't comply with restrictions` (regex ASCII AWS) sur `module.rds.aws_securi
Tout en anglais ASCII dans la conf ; ni tfsec ni terraform validate/plan n'attrapent ça (contrainte imposée par l'API AW
cliquer pour les détails →
SEC-001
Mot de passe DB en clair dans les docs publiques (issue #41)
Sprint 3
🔐 SEC
🔴 Critical
✅ Résolu
`TF_VAR_db_password` avec sa valeur réelle visible dans le repo public
Ne jamais écrire de valeurs réelles dans la documentation, même à titre d'exemple
cliquer pour les détails →
SEC-002
CORS misconfiguration (issue #42)
Sprint 3
🔐 SEC
🟠 High
✅ Résolu
`allow_origins=["*"]` + `allow_credentials=True` → combinaison interdite par la spec CORS, tous les
`allow_credentials=True` exige des origins explicites, jamais de wildcard
cliquer pour les détails →
SEC-003
securityContext container incomplet (issue #43)
Sprint 3
🔐 SEC
🟠 High
✅ Résolu
Hardening container-level absent (`allowPrivilegeEscalation`, `readOnlyRootFilesystem`, `capabilitie
Le securityContext pod-level (`runAsNonRoot`) ne suffit pas, le hardening container-level est obligatoire
cliquer pour les détails →
SEC-004
Haute disponibilité absente (issue #44)
Sprint 3
🔐 SEC
🟠 High
✅ Résolu
`replicas: 1` = SPOF, aucun PodDisruptionBudget = pod détruit sans garantie lors d'un node drain
`replicas >= 2` + PDB est le minimum pour toute application en production
cliquer pour les détails →
SEC-005
ServiceAccount default avec token monté (issue #45)
Sprint 3
🔐 SEC
🟠 High
✅ Résolu
Pod utilisait le SA `default` avec token Kubernetes monté automatiquement — vecteur d'attaque si RCE
Un ServiceAccount dédié par application, token désactivé sauf besoin explicite (API K8s ou IRSA AWS)
cliquer pour les détails →
INC-041
kubectl i/o timeout : jobs sur runner GitLab partagé
Sprint 3
🟢 Low
✅ Résolu
`kubectl get nodes` → `dial tcp ...:443: i/o timeout` sur infra-start et bootstrap
Toujours pinner le runner via `tags`. Un i/o timeout sur l'API EKS = problème réseau/CIDR, pas auth (qui donnerait 401/4
cliquer pour les détails →
INC-042
Variable Protected non injectée sur feature branch
Sprint 3
🟢 Low
✅ Résolu
`TF_VAR_cluster_public_access_cidrs` absente en CI sur les branches non protégées, terraform utilisa
Distinguer secret (Protected) de non-secret. Une variable Protected casse la capacité à valider en MR avant merge
cliquer pour les détails →
INC-043
Ansible : until condition crash + connexion SSH sur localhost
Sprint 3
🟢 Low
✅ Résolu
(1) `object of type 'dict' has no attribute 'resources'` ; (2) `ssh: connect to host localhost port
Toujours `default()` une variable registered dans une condition `until` ; `connection: local` pour les plays kubernetes.
cliquer pour les détails →
INC-044
Bootstrap 401 : régression de la lib Python kubernetes 36.0.0
Sprint 3
🟢 Low
✅ Résolu
kubernetes.core → `401 Unauthorized` sur toutes les tasks, alors que `kubectl get nodes` passe dans
**Pinner les versions des libs critiques en CI.** `pip install <lib>` sans pin = une release upstream peut casser l'infr
cliquer pour les détails →
INC-045
PSA jamais enforced sur EKS : namespace owné par le bootstrap, pas par le deploy
Sprint 3
🟢 Low
✅ Résolu
`kubectl apply -k k8s/base/` → `Error from server (Forbidden)` sur le patch du Namespace `fastapi` (
Une ressource cluster-scoped (Namespace + labels PSA) doit être ownée par le bootstrap cluster-admin, pas par le deploy
cliquer pour les détails →
INC-046
NetworkPolicy appliquées mais non enforced sur EKS (VPC CNI self-managed)
Sprint 3
🟢 Low
✅ Résolu
Dans la foulée du fix PSA, test négatif sur les NetworkPolicy : depuis le pod `fastapi`, une sortie
**« Configuré n'est pas enforced »** (2e occurrence après PSA). Un manifest NetworkPolicy valide, appliqué et linté ne p
cliquer pour les détails →
INC-047
Premier essai : ClusterRole d'agrégation sur les CRDs ESO (deploy app 403) (2026-05-29)
Sprint 3
🟢 Low
✅ Résolu
Run du deploy app post-merge MR-D (#33), `kubectl apply -k k8s/base/` tombe en `Forbidden` sur les n
Le `can-i --as=<ARN>` était fiable, mal interprété comme faux négatif. Un snapshot AWS ≠ un ClusterRole K8s vivant. Cons
cliquer pour les détails →
INC-048
AmazonEKSEditPolicy snapshot statique : seul un binding RBAC explicite fonctionne (2026-05-30)
Sprint 3
🟢 Low
✅ Résolu
Mêmes 403 qu'INC-047 malgré la ClusterRole `aggregate-eso-to-edit` en place. `kubectl auth can-i cre
Pour les users mappés via EKS Access Entry + AWS Access Policy, seul un binding RBAC K8s **explicite** (Role/RoleBinding
cliquer pour les détails →
Aucun incident trouvé.