Overview of the infrastructure
Learn about the infrastructure requirements for an on-premises deployment of Self-Hosted Deployment
Read time 1 minuteLast updated 11 hours ago
Infrastructure components
The deployment on premises runs entirely within your own Kubernetes cluster. The deployment creates and manages the following components inside the cluster:
Component | Description |
|---|---|
| Percona Server for MongoDB (PSMDB) | Document database for asset metadata and application data |
| PostgreSQL (via PG Operator) | Relational database for Keycloak and other services |
| RabbitMQ | Message broker for asynchronous communication between services |
| Valkey | In-memory data store for caching and session management |
| Elasticsearch | Search engine for asset indexing and discovery |
| Garage | Distributed S3-compatible object storage for asset binary data. Deployed as a 3-node cluster by default. |
| Traefik | Ingress controller and load balancer |
| Keycloak (version 26) | Identity and access management, based on the official upstream Keycloak 26 image |
| Argo Workflows | Workflow engine for transformations and 3D streaming |
| Istio (optional) | Service mesh for traffic management and observability |
| Loki and Alloy (optional) | Log collection and aggregation |
| Percona Monitoring and Management (optional) | Database monitoring |
| Prometheus (optional) | Metrics collection. Ships with a curated set of cluster and workload alerting rules out of the box. |
Infrastructure sizing
The deployment supports named sizing profiles that control CPU, memory, and storage allocations for infrastructure components. You configure the sizing profile in the manifest file:
- : suitable for development and testing environments
small - (default): suitable for typical production workloads
medium - : suitable for high-traffic production environments
large
You can also override resource allocations for individual components. Read more about the configuration of the manifest in the
deployment procedure.
Deployment waves
To satisfy dependencies, the deployment installs components in waves:
- Wave -3: cluster configuration, Istio base, and Prometheus stack
- Wave -2: operators and infrastructure services – Istio, Elasticsearch operator, database operators, Traefik, monitoring
- Wave -1: databases, caching, storage, and foundational services – Elasticsearch, PostgreSQL, MongoDB, RabbitMQ, Valkey, Garage, UVCS, Keycloak, Argo Workflows
- Wave 0: application services – Asset Manager, automations, catalog, collaboration, and other microservices
Ingress
Traefik is deployed as the ingress controller. You configure the load balancer type and annotations in the manifest to match your environment, for example, an AWS Network Load Balancer (NLB) or a bare-metal load balancer.
Next steps
Prerequisites for the deployment