Recipe: Kubernetes Log Ingestion

Use the Helm chart to run the agent on each node and the dashboard in-cluster.

The Helm chart runs blazerules_agent as a DaemonSet and blazerules_dashboard as a Deployment.

Install

helm install blazerules ./charts/blazerules \
  --set image.repository=your-registry/blazerules \
  --set image.tag=0.5.3

Default agent input:

agent:
  enabled: true
  mode: daemonset
  input:
    type: file_tail
    path: /var/log/containers/blazerules.log
  output:
    type: ndjson
    path: /var/log/blazerules/decisions.ndjson

Custom Values

These values override the chart defaults (batchSize: 2048, flushMs: 1000). Adjust them to match the workload's throughput and latency requirements.

image:
  repository: ghcr.io/your-org/blazerules
  tag: 0.5.3

agent:
  batchSize: 4096
  flushMs: 250
  input:
    type: file_tail
    path: /var/log/containers/checkout.log
  output:
    type: ndjson
    path: /var/log/blazerules/decisions.ndjson
  dedupe:
    enabled: true
    keyFields: [event_id]
    ttlSeconds: 3600

dashboard:
  enabled: true
  service:
    type: ClusterIP
  decisionLogPath: /var/log/blazerules/decisions.ndjson
  deadLetterLogPath: /var/log/blazerules/dead_letters.ndjson

persistence:
  enabled: true
  size: 20Gi

Apply:

helm upgrade --install blazerules ./charts/blazerules -f values.yaml

Notes

  • Keep the dashboard behind internal access controls. It has no built-in auth.
  • Enable persistence when decision or DLQ files must survive pod restarts.
  • For cloud object storage, supply AWS profile, region, endpoint, and credentials through environment variables or the platform's secret mechanism.

Did this page help you?