# Конфиг audit-processor (образ k8s-audit-processor, CONFIG_PATH=/etc/k8s-audit/config.yaml). # Контур-специфичные значения (contour, kafka.brokers, minio.endpoint, app.env, log.s3_echo) # задаёт оверлей через env K8S_AUDIT_* — см. uralkal/kustomization.yaml. apiVersion: v1 kind: ConfigMap metadata: name: audit-processor-config labels: app.kubernetes.io/name: audit-processor data: config.yaml: | contour: "" # K8S_AUDIT_CONTOUR app: name: audit-processor env: dev # K8S_AUDIT_APP_ENV log: level: info output: stdout add_source: false access_log: true audit_events: false # поток ИБ не идёт в прикладные логи (п.20) s3_echo: false # K8S_AUDIT_LOG_S3_ECHO; только отладка (п.20) kafka: brokers: [] # K8S_AUDIT_KAFKA_BROKERS # Пайплайны чтения: один consumer group вычитывает все топики списка. # kafka.topic НЕ удалять — старый образ (без поддержки pipelines) читает его, # это путь отката. Новый образ при наличии pipelines игнорирует kafka.topic. pipelines: - {topic: security.k8s-audit, kind: k8s_audit} - {topic: security.mesh-access, kind: mesh_access} topic: security.k8s-audit group: security-audit-processor start_from: earliest # latest перескочил бы события после разрыва offset'ов session_timeout: 45s rebalance_timeout: 60s tls: enabled: true ca_file: /vault/secrets/kafka-ca.crt sasl: mechanism: SCRAM-SHA-512 username_file: /vault/secrets/kafka-username password_file: /vault/secrets/kafka-password minio: endpoint: "" # K8S_AUDIT_MINIO_ENDPOINT bucket: security-audit secure: false # внешний MinIO контура — plain HTTP (ServiceEntry minio.uralkal.external) access_key_file: /vault/secrets/minio-access-key secret_key_file: /vault/secrets/minio-secret-key http: host: 0.0.0.0 port: 8000 # /healthz, /readyz, /metrics stream: flush_interval: 1m # как часто сбрасывать буфер в MinIO (и коммитить offset'ы) flush_max_rows: 10000 # или раньше, при стольких строках flush_timeout: 30s # меньше kafka.rebalance_timeout max_flush_failures: 30