Components
Core building blocks of the BigHammer platform, aligned with the platform umbrella chart sub-charts.
Web applications
Main UI (bhui)
Primary user interface for data engineering, catalog, exploration, and DataOps workflows. Configured with Keycloak SSO endpoints and remote API URLs via environment variables (VITE_*).
Admin UI (bhadminui)
Administration console for platform configuration, user-facing settings, and operational tasks.
APIs
Catalog API (bhcatalogapi)
Manages the data catalog — schemas, pipelines, connections, and metadata. Integrates with object storage for schema artifacts and enqueues Celery tasks for long-running catalog operations.
Audit API (bhauditapi)
Records and serves audit events for platform actions. Supports optional Celery-based async audit processing.
AI Agent API (bhaiagent)
Language-model–driven agent for natural-language data operations. Uses PostgreSQL, optional Redis, and schema repositories from blob storage.
Keycloak API (bhkeycloakapi)
Programmatic interface for Keycloak administration — realms, clients, and user operations used by other platform services.
Transformation Utils (bhtransformationutils)
Utility API for data transformation helpers used by pipelines and the UI.
Identity
Keycloak (bhkeycloak)
Central identity broker. Handles SSO, realms, and client configuration. Uses a dedicated PostgreSQL database.
Keycloak NGINX proxy (bhnginx)
Reverse proxy in front of Keycloak for header forwarding and TLS edge behavior within the cluster.
Workers and scheduling
Catalog / Audit / AI Agent workers
| Component | Role |
|---|---|
bhcatalogworker | Celery worker for catalog background jobs |
bhauditworker | Celery worker for audit processing |
bhaiagentworker | Celery worker for AI agent tasks |
Celery Beat (bhcelerybeat)
Periodic task scheduler for Celery. Publishes scheduled jobs to RabbitMQ.
Workers scale horizontally. See RabbitMQ & Celery Workers.
Infrastructure dependencies
These components are deployed as separate Helm releases but are required by the platform chart:
| Component | Purpose |
|---|---|
| RabbitMQ | Message broker for Celery (5672 AMQP, management UI on 15672) |
| Redis (optional) | Cache and session state for the AI agent |
| NGINX Ingress | HTTPS routing to platform services |
| External Secrets Operator | Syncs Azure Key Vault secrets into the cluster |
| Reloader | Restarts pods when secrets or config maps change |
Data stores
| Store | Used by |
|---|---|
| PostgreSQL | All APIs, Keycloak, workers (per-schema isolation) |
| Azure Blob / S3-compatible storage | Schemas, utilities, static assets |
| Key Vault | Secrets at rest; synced to Kubernetes via ESO |
Interaction patterns
- Synchronous: UI → Ingress → API → PostgreSQL / storage
- Asynchronous: API → RabbitMQ → Worker → PostgreSQL / storage
- Authentication: UI → Keycloak → identity provider → token → API
For Azure deployment topology, see Cloud Architecture.