Skip to main content

Application topology

GitGuardian application consists of several Kubernetes resources. Each nginx pod runs an nginx container serving the dashboard frontend and acting as a proxy for the backend, and a number of different containers serving all backend tasks.

KindDeployment NameUsage
FrontnginxDashboard Frontend and proxy for backend
Backendinternal-apiBackend for the Dashboard
Backendinternal-api-longBackend for the Dashboard (long requests, no timeout)
Backendpublic-apiPublic API and ggshield scans
BackendhookVCS webhooks events receiver
Backendapp-exporterPrometheus exporter for applicative metrics
Backendml-secret-engineMachine Learning secret engine
Backendapache-tikaFile scanner for non-VCS sources scanning
SchedulerbeatCelery Beat task scheduler
Workerworker-workerGeneral-purpose worker managing real-time scans, retries, honeytoken tasks, reports (queues: celery, check_run, realtime, realtime_retry, honeytoken, reports, core_default).
Workerworker-emailHandles email notifications and messaging (queues: email, notifier).
Workerworker-scannersPerforms historical scans for repositories (queues: basic_repo_scan, premium_repo_scan, manual_repo_scan).
Workerworker-longProcesses long-running tasks such as validity checks and NHI ingestion (queues: celery_long, background_validity_check, automatic_severities, update_sources_state, nhi_ingestion, core_long).
Workerworker-realtime-odsHandles real-time processing for non-VCS sources like Slack and Jira (queues: realtime_ods, realtime_retry_ods).
Workerworker-long-odsProcesses long-running tasks for non-VCS sources (queue: long_ods).
Workerworker-long-ods-ioFocuses on IO-intensive long-running tasks for non-VCS sources (queue: long_ods_io).
Workerworker-scanners-odsExecutes non-VCS historical scans for Jira, Confluence, etc. (queue: ods_scan).
Workerworker-scanners-ods-highdiskHandles high storage tasks for non-VCS sources (queue: ods_scan_highdisk).
Workerworker-scanners-slackExecutes Slack historical scans (queue: slack_scan).
Workerworker-container-registriesHandles secret scanning in Container registries (queue: container_registries).
Workerworker-business-contributionHandles business contribution tasks (queue: business_contribution).
Workerworker-ml-api-priorityPrioritizes machine learning API-related tasks (queue: ml_api_priority).
Jobinapp-analyticsComputes metrics and aggregates data for Advanced Analytics dashboards.
Jobpre-deployPre-deployment job performing database migrations
Jobpost-deployPost-deployment job performing long data migrations
ReplicatedreplicatedLicense management and usage data collection
ReplicatedkotsadmKOTS Admin Console (KOTS-based installation only)
info

We have set a 30-days TTL (Time To Live) for pre-deploy and post-deploy jobs to allow for log retrieval if needed. It is recommended not to delete these pods, as they can be useful for troubleshooting.