Skip to content

Middleware

Deploy Middleware on Kubernetes — an open-source DORA metrics platform that measures Deployment Frequency, Lead Time, MTTR, and Change Failure Rate for engineering teams.

Key Features

  • All four DORA metrics — Deployment Frequency, Lead Time for Changes, MTTR, Change Failure Rate
  • All-in-one container — frontend, analytics, and sync server in a single image
  • PostgreSQL + Redis — bundled subcharts or external connections
  • CI/CD integrations — tracks metrics from your existing pipelines
  • Persistent storage — API keys and configuration stored in PVC
  • Ingress support — TLS via cert-manager with configurable ingress class

Installation

HTTPS repository:

helm repo add helmforge https://repo.helmforge.dev
helm repo update
helm install middleware helmforge/middleware -f values.yaml

OCI registry:

helm install middleware oci://ghcr.io/helmforgedev/helm/middleware -f values.yaml

Basic Example

postgresql:
  enabled: true

redis:
  enabled: true

ingress:
  enabled: true
  ingressClassName: traefik
  hosts:
    - host: middleware.example.com
      paths:
        - path: /
          pathType: Prefix

External Database and Cache

postgresql:
  enabled: false

redis:
  enabled: false

externalDatabase:
  enabled: true
  host: postgres.example.internal
  port: 5432
  name: middleware
  username: middleware
  existingSecret: middleware-db

externalRedis:
  enabled: true
  host: redis.example.internal
  port: 6379

Key Values

KeyDefaultDescription
middleware.frontendPort3333Frontend port
middleware.analyticsPort9696Analytics API port
middleware.syncPort9697Sync server port
middleware.environmentprodEnvironment
postgresql.enabledtrueEnable bundled PostgreSQL
redis.enabledtrueEnable bundled Redis
externalDatabase.enabledfalseUse external database
externalRedis.enabledfalseUse external Redis
persistence.enabledtrueEnable /app/keys persistence
persistence.size1GiPVC size

Operational Notes

  • single instance only — no horizontal scaling
  • resource-heavy — 16GB RAM recommended for production workloads
  • all three ports (frontend, analytics, sync) are exposed via the same pod

More Information

See the source code and full values reference on GitHub.