MATIH Platform is in active MVP development. Documentation reflects current implementation status.
17. Kubernetes & Helm
Control Plane Charts
Audit Service

Audit Service Chart

The Audit Service provides enterprise-grade audit logging with Kafka-based event streaming, Elasticsearch storage, SIEM forwarding, and WebSocket real-time streaming.


Chart Configuration

audit-service:
  enabled: true
  replicaCount: 3
 
  resources:
    requests:
      cpu: 200m
      memory: 512Mi
    limits:
      cpu: 1000m
      memory: 1Gi
 
  autoscaling:
    enabled: true
    minReplicas: 3
    maxReplicas: 15
    targetCPUUtilizationPercentage: 70
    customMetrics:
      - type: Pods
        pods:
          metric:
            name: audit_events_queue_size
          target:
            type: AverageValue
            averageValue: 1000

High Availability Features

The audit service is configured for maximum availability:

Pod Disruption Budget

podDisruptionBudget:
  enabled: true
  minAvailable: 2

Topology Spread

topologySpreadConstraints:
  - maxSkew: 1
    topologyKey: topology.kubernetes.io/zone
    whenUnsatisfiable: ScheduleAnyway
  - maxSkew: 1
    topologyKey: kubernetes.io/hostname
    whenUnsatisfiable: ScheduleAnyway

Graceful Shutdown

terminationGracePeriodSeconds: 60
lifecycle:
  preStop:
    exec:
      command: ["/bin/sh", "-c", "sleep 15"]

Kafka Integration

config:
  kafka:
    topic: audit-events
    consumerGroup: audit-service
    consumerConcurrency: 3
    maxPollRecords: 500

SIEM Forwarding

config:
  siem:
    enabled: true
    batchSize: 100
    flushIntervalSeconds: 10
    circuitBreaker:
      failureThreshold: 5
      openDurationSeconds: 60

Custom Metrics Autoscaling

The audit service scales based on Kafka consumer queue depth in addition to CPU/memory:

customMetrics:
  - type: Pods
    pods:
      metric:
        name: audit_events_queue_size
      target:
        type: AverageValue
        averageValue: 1000