iac/infrastructure/security-audit/base/processor-deployment.yaml
emelinda a6a176d6c5 security-audit: audit-processor af50e663, drop retention config section
New image removes the bucket lifecycle check (retention is owned by terraform
minio-buckets lifecycle_rules), so the retention section is dropped from the
processor config map.
2026-11-07 17:24:47 +03:00

74 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

apiVersion: apps/v1
kind: Deployment
metadata:
name: audit-processor
labels:
app.kubernetes.io/name: audit-processor
spec:
replicas: 1 # consumer group: партиция security.k8s-audit одна, вторая реплика была бы standby
selector:
matchLabels:
app.kubernetes.io/name: audit-processor
template:
metadata:
labels:
app.kubernetes.io/name: audit-processor
# Без sidecar: в Kafka процессор ходит напрямую SASL_SSL (как audit-collector),
# во внешний MinIO — мимо mesh (ServiceEntry, HTTP).
sidecar.istio.io/inject: "false"
annotations:
sidecar.istio.io/inject: "false"
spec:
serviceAccountName: audit-processor
imagePullSecrets:
- name: regcred
securityContext:
seccompProfile: {type: RuntimeDefault}
containers:
- name: audit-processor
# Образ FROM scratch, USER 65534; CONFIG_PATH=/etc/k8s-audit/config.yaml — в ENTRYPOINT образа.
image: cr.yandex/crp3ccidau046kdj8g9q/k8s-audit-processor:af50e663
ports:
- {name: http, containerPort: 8000}
readinessProbe:
httpGet: {path: /readyz, port: http}
periodSeconds: 10
livenessProbe:
httpGet: {path: /healthz, port: http}
periodSeconds: 20
resources:
requests: {cpu: 50m, memory: 128Mi}
limits: {cpu: 500m, memory: 512Mi}
securityContext:
runAsNonRoot: true
runAsUser: 65534
runAsGroup: 65534
readOnlyRootFilesystem: true
allowPrivilegeEscalation: false
capabilities:
drop: [ALL]
volumeMounts:
- {name: config, mountPath: /etc/k8s-audit, readOnly: true}
# Те же Secret'ы и имена файлов, что у коллекторов (плюс ключи MinIO).
- {name: secrets, mountPath: /vault/secrets, readOnly: true}
volumes:
- name: config
configMap: {name: audit-processor-config}
- name: secrets
projected:
sources:
- secret:
name: security-audit-kafka
items:
- {key: username, path: kafka-username}
- {key: password, path: kafka-password}
- secret:
name: kafka-ca
items:
- {key: ca.crt, path: kafka-ca.crt}
- secret:
name: security-audit-minio
items:
- {key: access_key, path: minio-access-key}
- {key: secret_key, path: minio-secret-key}