Title
Page icon
Create new category
Edit page index title
Edit category
Edit link
Kubernetes components
This page describes what the mdcluster chart creates and how configuration is shared between them.
Workloads
Product component | Kubernetes object | Workload | Service and port |
|---|---|---|---|
MetaDefender Cluster Control Center |
| Deployment, always 1 |
|
MetaDefender Cluster Identity Service |
| Deployment, always 1 |
|
MetaDefender Cluster File Storage |
| StatefulSet | Headless · |
MetaDefender Cluster Worker running MetaDefender Core |
| StatefulSet | Shared headless |
MetaDefender Cluster Worker running the MetaDefender Cluster API Gateway |
| StatefulSet | Shared headless |
MetaDefender Cluster Worker running the MetaDefender Cluster Callback Service |
| StatefulSet | Shared headless |
Architecture

Shared configuration
The chart creates two objects that the Control Center, Identity Service, File Storage and every worker pod mount as environment variables. (The bundled PostgreSQL, Redis and RabbitMQ pods do not get them; they read only the few credential values they need.)
Object | Rendered from | Contains |
|---|---|---|
| the | Hostnames, ports, timeouts, file copy settings |
| the | Passwords, connection keys, the encryption key, the license key |
Those seven pods pull in both objects wholesale with envFrom, so adding a key to env: or secrets: makes it visible to all of them without touching any template.
The bundled infrastructure works differently. None of the three mounts either object; each pod is given only the individual keys it needs, by reference:
Pod | Reads from the Secret |
|---|---|
|
|
|
|
| Nothing. The bundled Redis runs without authentication; |