# plextrac/helm-charts architecture

> Architecture diagram of the GitHub repository plextrac/helm-charts, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/plextrac/helm-charts
- Repository: https://github.com/plextrac/helm-charts

## Overview

This repository packages PlexTrac for self-hosted Kubernetes deployment; it is a deployment chart, not the application’s source. The main workflow is an operator configuring and installing the chart, which creates platform workloads and supporting infrastructure in a Kubernetes cluster, then exposes the platform through ingress. The chart also includes database migration resources and backup/restore scripts for moving deployments. Relationships are limited to those supported by the README and the chart’s resource names; without source excerpts, internal service calls and detailed routing are not inferred.

Main entry points: [`charts/plextrac`](https://github.com/plextrac/helm-charts/tree/main/charts/plextrac) (PlexTrac chart), [`charts/plextrac/values.yaml`](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/values.yaml) (Values and overlays), [`charts/plextrac/templates/ga`](https://github.com/plextrac/helm-charts/tree/main/charts/plextrac/templates/ga) (NGINX ingress), [`charts/plextrac/templates/ga/deployment-plextracnginx.yaml`](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-plextracnginx.yaml) (Web gateway)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_deployment["Deployment configuration"]
  node_chart["PlexTrac chart"]
  node_values["Values and overlays<br/>[values.yaml]"]
end

subgraph group_platform["Platform workloads"]
  node_ingress["NGINX ingress"]
  node_api["PlexTrac API"]
  node_web["Web gateway"]
  node_identity["Keycloak identity"]
  node_integration["Integration worker"]
  node_events["Event orchestrator"]
  node_notifications["Notification services"]
  node_scoring["Contextual scoring"]
  node_mcp["MCP service"]
end

subgraph group_infrastructure["State and infrastructure"]
  node_database[("PlexTrac database")]
  node_postgres[("Postgres services")]
  node_redis[("Redis")]
  node_objectstore[("MinIO storage")]
end

subgraph group_operations["Operations"]
  node_migration["Migrations and ETL"]
  node_backup["K3s backup<br/>[k3s_backup.sh]"]
  node_restore["K3s restore<br/>[k3s_restore.sh]"]
end

node_operator(("Operator"))
node_cluster["Kubernetes cluster"]
node_user(("Platform user"))

node_operator -->|"configures"| node_values
node_operator -->|"installs"| node_chart
node_values -->|"configures"| node_chart
node_chart -->|"deploys to"| node_cluster
node_user -->|"accesses"| node_ingress
node_ingress -->|"routes to"| node_web
node_chart -->|"deploys"| node_api
node_chart -->|"deploys"| node_web
node_chart -->|"deploys"| node_identity
node_chart -->|"deploys"| node_integration
node_chart -->|"deploys"| node_events
node_chart -->|"deploys"| node_notifications
node_chart -->|"deploys"| node_scoring
node_chart -->|"deploys"| node_mcp
node_chart -->|"deploys"| node_database
node_chart -->|"deploys"| node_postgres
node_chart -->|"deploys"| node_redis
node_chart -->|"deploys"| node_objectstore
node_chart -->|"deploys"| node_migration
node_operator -->|"runs"| node_backup
node_operator -->|"runs"| node_restore

click node_chart "https://github.com/plextrac/helm-charts/tree/main/charts/plextrac"
click node_values "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/values.yaml"
click node_ingress "https://github.com/plextrac/helm-charts/tree/main/charts/plextrac/templates/ga"
click node_api "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-plextracapi.yaml"
click node_web "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-plextracnginx.yaml"
click node_identity "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-keycloak.yaml"
click node_integration "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-integration-worker.yaml"
click node_events "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-event-orchestrator.yaml"
click node_notifications "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-notification-engine.yaml"
click node_scoring "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-contextual-scoring-service.yaml"
click node_mcp "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-mcp.yaml"
click node_database "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/statefulset-plextracdb.yaml"
click node_postgres "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-postgres.yaml"
click node_redis "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/statefulset-redis.yaml"
click node_objectstore "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-minio.yaml"
click node_migration "https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/job-migrations-and-etl.yaml"
click node_backup "https://github.com/plextrac/helm-charts/blob/main/scripts/migration/k3s_backup.sh"
click node_restore "https://github.com/plextrac/helm-charts/blob/main/scripts/migration/k3s_restore.sh"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_chart,node_values,node_user toneBlue
class node_ingress,node_api,node_web,node_identity,node_integration,node_events,node_notifications,node_scoring,node_mcp toneAmber
class node_database,node_postgres,node_redis,node_objectstore toneMint
class node_migration,node_backup,node_restore toneRose
class node_operator,node_cluster toneIndigo
```

## Components

### Deployment configuration

- [PlexTrac chart](https://github.com/plextrac/helm-charts/tree/main/charts/plextrac): `charts/plextrac`
- [Values and overlays](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/values.yaml): `charts/plextrac/values.yaml`

### Platform workloads

- [NGINX ingress](https://github.com/plextrac/helm-charts/tree/main/charts/plextrac/templates/ga): `charts/plextrac/templates/ga`
- [PlexTrac API](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-plextracapi.yaml): `charts/plextrac/templates/ga/deployment-plextracapi.yaml`
- [Web gateway](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-plextracnginx.yaml): `charts/plextrac/templates/ga/deployment-plextracnginx.yaml`
- [Keycloak identity](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-keycloak.yaml): `charts/plextrac/templates/ga/deployment-keycloak.yaml`
- [Integration worker](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-integration-worker.yaml): `charts/plextrac/templates/ga/deployment-integration-worker.yaml`
- [Event orchestrator](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-event-orchestrator.yaml): `charts/plextrac/templates/ga/deployment-event-orchestrator.yaml`
- [Notification services](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-notification-engine.yaml): `charts/plextrac/templates/ga/deployment-notification-engine.yaml`
- [Contextual scoring](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-contextual-scoring-service.yaml): `charts/plextrac/templates/ga/deployment-contextual-scoring-service.yaml`
- [MCP service](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-mcp.yaml): `charts/plextrac/templates/ga/deployment-mcp.yaml`

### State and infrastructure

- [PlexTrac database](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/statefulset-plextracdb.yaml): `charts/plextrac/templates/ga/statefulset-plextracdb.yaml`
- [Postgres services](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-postgres.yaml): `charts/plextrac/templates/ga/deployment-postgres.yaml`
- [Redis](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/statefulset-redis.yaml): `charts/plextrac/templates/ga/statefulset-redis.yaml`
- [MinIO storage](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/deployment-minio.yaml): `charts/plextrac/templates/ga/deployment-minio.yaml`

### Operations

- [Migrations and ETL](https://github.com/plextrac/helm-charts/blob/main/charts/plextrac/templates/ga/job-migrations-and-etl.yaml): `charts/plextrac/templates/ga/job-migrations-and-etl.yaml`
- [K3s backup](https://github.com/plextrac/helm-charts/blob/main/scripts/migration/k3s_backup.sh): `scripts/migration/k3s_backup.sh`
- [K3s restore](https://github.com/plextrac/helm-charts/blob/main/scripts/migration/k3s_restore.sh): `scripts/migration/k3s_restore.sh`

### Other components

- **Operator**
- **Kubernetes cluster**
- **Platform user**

## Connections

- Operator → Values and overlays: configures
- Operator → PlexTrac chart: installs
- Values and overlays → PlexTrac chart: configures
- PlexTrac chart → Kubernetes cluster: deploys to
- Platform user → NGINX ingress: accesses
- NGINX ingress → Web gateway: routes to
- PlexTrac chart → PlexTrac API: deploys
- PlexTrac chart → Web gateway: deploys
- PlexTrac chart → Keycloak identity: deploys
- PlexTrac chart → Integration worker: deploys
- PlexTrac chart → Event orchestrator: deploys
- PlexTrac chart → Notification services: deploys
- PlexTrac chart → Contextual scoring: deploys
- PlexTrac chart → MCP service: deploys
- PlexTrac chart → PlexTrac database: deploys
- PlexTrac chart → Postgres services: deploys
- PlexTrac chart → Redis: deploys
- PlexTrac chart → MinIO storage: deploys
- PlexTrac chart → Migrations and ETL: deploys
- Operator → K3s backup: runs
- Operator → K3s restore: runs
