Skip to main content
this document is for:

Deployment: Invicti Platform on-premises

Architecture of the Helm installation

Invicti Platform on-premises uses a modular, microservices-based architecture deployed via a Helm chart on Kubernetes. This design allows scalable, fault-tolerant operation and simplifies maintenance through isolated service updates.

Invicti Platform infrastructure map.

Infrastructure layer

The Infrastructure layer provides foundational services for data persistence, caching, and messaging that support all higher-level components.

  • valkey - In-memory data store (Redis-compatible) used for caching GraphQL schemas
  • natsio - NATS messaging system that provides persistent, event-driven communication between microservices
  • postgresql - Primary relational database (PostgreSQL 16+) for structured and transactional data
  • mongodb - Document-oriented database for storing in-flight scan data
  • seaweedfs - S3-compatible distributed object storage for scan results and artifacts
  • elasticmq - AWS SQS-compatible message queue for distributing scan tasks

Presentation layer

The Presentation layer exposes the user-facing interfaces and API gateways through which users and integrations access the platform.

  • nginx - Reverse proxy that handles routing and SSL/TLS termination
  • static-assets - Hosts the single-page application’s static files
  • federated-frontend-gateway - Unified GraphQL gateway aggregating front-end services
  • platform-apis - Provides interactive REST API documentation for developers

Each microservice also exposes its own REST API, accessible through Nginx routing.

Core application layer

The Core Application layer delivers essential platform capabilities for authentication, notifications, and internal communication.

  • appsec-identity - Identity provider and authentication service implementing OAuth 2.0 / OIDC
  • notification-service - Handles in-app notifications
  • message-consumer - Processes outgoing email notifications

AppSec layer

The AppSec layer manages application security, asset inventory, and integration services that enable centralized security management.

  • appsec-inventory - Manages asset inventory and discovery
  • appsec-externalscan - Orchestrates external vulnerability scanning
  • apihub - Provides API discovery, management, and security functions
  • integrations - Connects the platform to third-party systems such as Jira, Slack, and GitHub
  • reporter - Generates DAST scan reports for analysis and compliance

DAST (Dynamic Application Security Testing) layer

The DAST layer provides services dedicated to web-application vulnerability scanning and automation.

  • frontend - REST API server for the DAST backend
  • gql - GraphQL server for scan data queries
  • upload-frontend - File upload service for importing DAST scan results
  • coordinator - Manages scan scheduling and orchestrationAutoscaling DAST scanning engine composed of several sub-components:Autoscaling DAST scanning engine with three sub-components:
    • dast_orchestrator - Controls scan lifecycles and task scheduling
    • dast_scanner - Core Invicti scanning engine deployed as KEDA-scaled jobs
    • api_reconstruction_service - Discovers API endpoints and generates OpenAPI specifications
    • keda - Kubernetes Event-Driven Autoscaler for scaling scanner jobs
  • lsr-broker - Broker service for the Login Sequence Recorder
  • lsr-worker - Worker processes that execute recorded login sequences

Monitoring stack (optional)

The Monitoring stack provides observability, logging, and autoscaling capabilities for the platform.

  • kube-prometheus-stack - Includes Prometheus, Grafana, and Alertmanager for metrics collection and alerting
  • monitoring-alloy - Grafana Alloy for telemetry aggregation
  • monitoring-loki - Centralized log collection and querying with Loki

Next, review the prerequisites to ensure your environment is ready for installation.



Need help?

Invicti Support team is ready to provide you with technical help. Go to Help Center

Was this page useful?