Skip to main content

Deployment

Architecture

Architecture
Software architecture diagram of the QALITA Platform

deployed
Container diagram of QALITA Platform control plane components

Network Flow Matrix

QALITA Platform network flow diagram

Ingress:PortService:PortPod:Port
--qalita-postgresql:5432qalita-postgresql-0:5432
--qalita-redis-master:6379qalita-redis-master-0:6379
--seaweedfs-s3:8333seaweedfs:8333
api.domain.comqalita-backend-service:3080qalita-backend:3080
doc.domain.comqalita-doc-service:80qalita-doc:80
domain.comqalita-frontend-service:3000qalita-frontend:3000
info

Agents must be able to communicate with the backend of the control plane. Make sure to allow traffic to the backend Ingress Point (endpoint or URL)!

Requirements

Platform

Compute Resources

The control plane includes the frontend, backend, and documentation. It requires minimal compute resources.

Azure NodeSpecs
compute nodeNode specs: linux/amd64 - 4 vCPU - 16 GB RAM - 100 GB SSD Fast Storage
UsageMemoryCPU
Idle500 MB0.5
Active2 GB1
Optimal4 GB2

Storage

statefulsets

Storage includes:

  • The PostgreSQL relational database holds platform management data, metrics, and user activity logs.
  • The Redis cache speeds up the interface and backend queries.
  • The SeaweedFS storage includes task logs and assets (pack archives).
UsagePostgreSQLSeaweedFS
Minimal1 GB1 GB
Depends on metrics volume and analysis frequency10+ GB10+ GB

Agents

Agent requirements vary significantly depending on the type and volume of the data sources it analyzes.

UsageMemoryCPU
Minimal50 MB0.2
Depends on source volume and analysis frequency..

I SaaS Cloud Deployment

QALITA Platform offers a fully managed solution hosted on an HDS and SecNumCloud-certified European cloud.

Architecture

QALITA Platform architecture diagram in SaaS mode

Sign up for free on the SaaS platform

II Kubernetes Deployment

kubernetes-deployment
Architecture diagram of QALITA Platform deployed on Kubernetes

Prerequisites

To deploy on a managed Kubernetes cluster, you will need:

Dependencies

Installing the QALITA Helm Chart

tip

For the most up-to-date documentation on the Helm chart:
Go directly to the Artifacthub page

1. Create a Namespace

Create a qalita namespace in your Kubernetes cluster.

2. Create a Secret

Create a qalita-license secret in the qalita namespace containing your license key.

3. Add the Chart Repository

helm repo add qalita https://helm.qalita.io/
helm repo update

4. Resolve Dependencies

helm dependency update

5. Install

tip

You’ll need to adjust the values.yaml file to best fit your organization.
See an example values file

helm install qalita qalita/qalita -f values.yaml

6. Use it

The chart deploys the following resources:

  • QALITA App
  • QALITA API
  • QALITA Docs
  • QALITA PostgreSQL Database
  • QALITA Redis Cache Database
  • QALITA SeaweedFS S3 Storage

With cluster.domain=example.com, the following endpoints will be available:

Values

tip

You’ll need to adjust the values.yaml file to best fit your organization.
See an example values file

warning

For production use, it is strongly recommended to deploy the platform on a managed Kubernetes cluster.

QALITA offers a fully managed solution hosted on an HDS and SecNumCloud-certified European cloud.

Contact us

III Docker Compose Deployment

See the tutorial:
Docker Compose Deployment

Possible Agent <-> Source Configurations

1. Same Namespace:

  1. Agent is deployed in the same namespace with agent.enabled=true
  2. Data sources are deployed in the same namespace

2. Different Namespace:

  1. Agent is deployed in a different namespace
  2. Data sources are in the same namespace

3. Different Namespace + External Source:

  1. Agent is deployed in a different namespace
  2. Connects to a source in another environment (VM, localhost, etc.)

4. Fully External:

  1. Agent is deployed in any other environment (VM, localhost, etc.)
  2. Connects to a data source in any external environment (VM, localhost, etc.)

To learn how to deploy an agent, see agent