Topologie de l'application
L'application GitGuardian se compose de plusieurs ressources Kubernetes. Chaque pod nginx exécute un conteneur nginx servant le frontend du dashboard et agissant comme proxy pour le backend, ainsi qu'un certain nombre de conteneurs différents servant toutes les tâches backend.
| Kind | Nom du déploiement | Usage |
|---|---|---|
| Front | nginx | Frontend du Dashboard et proxy pour le backend |
| Backend | internal-api | Backend pour le Dashboard |
| Backend | internal-api-long | Backend pour le Dashboard (requêtes longues, sans timeout) |
| Backend | public-api | API publique et scans ggshield |
| Backend | hook | Récepteur d'événements webhooks VCS |
| Backend | app-exporter | Exporter Prometheus pour les métriques applicatives |
| Backend | ml-secret-engine | Moteur de Machine Learning des secrets |
| Backend | apache-tika | Scanner de fichiers pour le scan des sources non-VCS |
| Scheduler | beat | Scheduler de tâches Celery Beat |
| Worker | worker-worker | Worker généraliste gérant les scans en temps réel, retries, tâches honeytoken, rapports (queues : check_run, realtime, realtime_retry, honeytoken, reports, core_default, sources_default, incidents_default, individual_validity_check). |
| Worker | worker-check-runs | Worker dédié optionnel pour le traitement des check runs (queue : check_run). Désactivé par défaut ; activez-le pour décharger check_run de worker-worker. |
| Worker | worker-email | Gère les notifications par e-mail et la messagerie (queues : email, notifier). |
| Worker | worker-scanners | Effectue les scans historiques pour les dépôts (queues : basic_repo_scan, premium_repo_scan, manual_repo_scan, code_fixing). |
| Worker | worker-long | Traite les tâches longues comme les vérifications de validité et l'ingestion NHI (queues : background_validity_check, automatic_severities, update_sources_state, nhi_ingestion, hmsl, core_long, sources_long, incidents_long, ml_backpopulate). |
| Worker | worker-realtime-ods | Gère le traitement temps réel pour les sources non-VCS comme Slack et Jira (queues : realtime_ods, realtime_retry_ods). |
| Worker | worker-long-ods | Traite les tâches longues pour les sources non-VCS (queue : long_ods). |
| Worker | worker-long-ods-io | Se concentre sur les tâches longues intensives en IO pour les sources non-VCS (queue : long_ods_io). |
| Worker | worker-scanners-ods | Exécute les scans historiques non-VCS pour Jira, Confluence, etc. (queue : ods_scan). |
| Worker | worker-scanners-ods-highdisk | Gère les tâches à fort stockage pour les sources non-VCS (queue : ods_scan_highdisk). |
| Worker | worker-scanners-slack | Exécute les scans historiques Slack (queue : slack_scan). |
| Worker | worker-container-registries | Gère le scan de secrets dans les Container registries (queue : container_registries). |
| Worker | worker-business-contribution | Gère les tâches de business contribution (queue : business_contribution). |
| Worker | worker-ml-api-priority | Priorise les tâches liées à l'API de machine learning (queue : ml_api_priority). |
| Job | inapp-analytics | Calcule les métriques et agrège les données pour les dashboards Advanced Analytics. |
| Job | pre-deploy | Job de pré-déploiement effectuant les migrations de base |
| Job | post-deploy | Job de post-déploiement effectuant les longues migrations de données |
| Replicated | replicated | Gestion de la licence et collecte des données d'usage |
| Replicated | kotsadm | Console d'administration KOTS (installation KOTS uniquement) |
info
Nous avons défini un TTL (Time To Live) de 30 jours pour les jobs pre-deploy et post-deploy afin de permettre la récupération des logs si nécessaire. Il est recommandé de ne pas supprimer ces pods, car ils peuvent être utiles pour le dépannage.