---
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

resources:
  - namespace.yaml
  - vaultauth.yaml
  - vaultstaticsecret.yaml
  - clickhouseinstallation.yaml
  - job_clickhouse-schema.yaml
  - nats-bootstrap-job.yaml
  - cephrgw.yaml
  - gateway.yaml
  - httproute.yaml
  - serviceaccount_logarchiver.yaml
  - configmap_logarchiver.yaml
  - deployment_logarchiver.yaml
  - logviewer

# Vector pipelines are the single source of truth (also validated by
# `vector test` in CI). Mounted into each tier via `existingConfigMaps`.
configMapGenerator:
  # Tunable JetStream stream limits (the nats-bootstrap Job reads these and does
  # create-or-update). Hash suffix is INTENTIONALLY left on: editing a value
  # renames the ConfigMap, which rewrites the Job's env reference, which changes
  # the PostSync hook Job's spec and forces Argo to re-run it -> new limits apply.
  # Sizing assumes ~1500 events/s avg @ ~1 KiB/event with S2 compression (~4x):
  # ~33 GiB/day compressed -> ~100 GiB/3d per replica. max_bytes 130 GiB sits
  # under the 180Gi/node PVC (see values-nats.yaml). Raising retention beyond the
  # PVC requires bumping BOTH max_bytes here and fileStore PVC size in values.
  - name: nats-stream-limits
    literals:
      - max_age=72h
      - max_bytes=139586437120
      - dupe_window=2m
  - name: vector-agent-config
    files:
      - agent.yaml=vector/agent.yaml
    options:
      disableNameSuffixHash: true
  - name: vector-aggregator-config
    files:
      - aggregator.yaml=vector/aggregator.yaml
    options:
      disableNameSuffixHash: true
  - name: vector-vm-ingest-config
    files:
      - vm-ingest.yaml=vector/vm-ingest.yaml
    options:
      disableNameSuffixHash: true
