Aller au contenu principal

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.

KindNom du déploiementUsage
FrontnginxFrontend du Dashboard et proxy pour le backend
Backendinternal-apiBackend pour le Dashboard
Backendinternal-api-longBackend pour le Dashboard (requêtes longues, sans timeout)
Backendpublic-apiAPI publique et scans ggshield
BackendhookRécepteur d'événements webhooks VCS
Backendapp-exporterExporter Prometheus pour les métriques applicatives
Backendml-secret-engineMoteur de Machine Learning des secrets
Backendapache-tikaScanner de fichiers pour le scan des sources non-VCS
SchedulerbeatScheduler de tâches Celery Beat
Workerworker-workerWorker 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).
Workerworker-check-runsWorker 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.
Workerworker-emailGère les notifications par e-mail et la messagerie (queues : email, notifier).
Workerworker-scannersEffectue les scans historiques pour les dépôts (queues : basic_repo_scan, premium_repo_scan, manual_repo_scan, code_fixing).
Workerworker-longTraite 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).
Workerworker-realtime-odsGère le traitement temps réel pour les sources non-VCS comme Slack et Jira (queues : realtime_ods, realtime_retry_ods).
Workerworker-long-odsTraite les tâches longues pour les sources non-VCS (queue : long_ods).
Workerworker-long-ods-ioSe concentre sur les tâches longues intensives en IO pour les sources non-VCS (queue : long_ods_io).
Workerworker-scanners-odsExécute les scans historiques non-VCS pour Jira, Confluence, etc. (queue : ods_scan).
Workerworker-scanners-ods-highdiskGère les tâches à fort stockage pour les sources non-VCS (queue : ods_scan_highdisk).
Workerworker-scanners-slackExécute les scans historiques Slack (queue : slack_scan).
Workerworker-container-registriesGère le scan de secrets dans les Container registries (queue : container_registries).
Workerworker-business-contributionGère les tâches de business contribution (queue : business_contribution).
Workerworker-ml-api-priorityPriorise les tâches liées à l'API de machine learning (queue : ml_api_priority).
Jobinapp-analyticsCalcule les métriques et agrège les données pour les dashboards Advanced Analytics.
Jobpre-deployJob de pré-déploiement effectuant les migrations de base
Jobpost-deployJob de post-déploiement effectuant les longues migrations de données
ReplicatedreplicatedGestion de la licence et collecte des données d'usage
ReplicatedkotsadmConsole 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.