8ce1b5f6bd
The internal intermediate CA re-key broke CA consumers because Reloader ignored Secrets and could not restart on the vault-ca-cert Secret. Enabling generic secret watching naively would restart every workload on each Vault/VSO secret rotation, so this scopes existing auto annotations to ConfigMaps and makes secret reload opt-in per Secret. - set reloader ignoreSecrets: false so Secrets are watched - convert every generic reloader.stakater.com/auto to the configmap-only configmap.reloader.stakater.com/auto form (22 annotations, 19 files) - add explicit secret.reloader.stakater.com/reload: "vault-ca-cert" to the CA consumers (artifactapi api, cephrgw-operator, puppetserver master+compiler, litellm, logarchiver) so CA rotation restarts them - add secret.reloader.stakater.com/reload: "kanidm-tls" so the cert-manager leaf renewal rolls kanidm - add docs/ca-rotation.md runbook and index it Closes #326 Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
60 lines
1.3 KiB
YAML
60 lines
1.3 KiB
YAML
# Vector VM-INGEST tier (Deployment) — VM front door. HTTP NDJSON in (behind the
|
|
# logs-ingest Gateway), publishes into JetStream. Stateless publisher.
|
|
# Pipeline: apps/base/logging/vector/vm-ingest.yaml (unit-tested in CI).
|
|
role: Stateless-Aggregator
|
|
fullnameOverride: vector-vm-ingest
|
|
replicas: 2
|
|
|
|
image:
|
|
repository: artifactapi.k8s.syd1.au.unkin.net/dockerhub/timberio/vector
|
|
tag: 0.57.0-distroless-libc
|
|
|
|
workloadResourceAnnotations:
|
|
configmap.reloader.stakater.com/auto: "true"
|
|
|
|
podLabels:
|
|
vector.dev/exclude: "true"
|
|
|
|
dataDir: /vector-data-dir
|
|
existingConfigMaps:
|
|
- vector-vm-ingest-config
|
|
|
|
env:
|
|
# Vector 0.57 disables ${VAR} config interpolation by default; auth needs it.
|
|
- name: VECTOR_DANGEROUSLY_ALLOW_ENV_VAR_INTERPOLATION
|
|
value: "true"
|
|
- name: NATS_PRODUCER_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: nats-auth
|
|
key: producer_password
|
|
|
|
containerPorts:
|
|
- name: http-ingest
|
|
containerPort: 8080
|
|
protocol: TCP
|
|
- name: api
|
|
containerPort: 8686
|
|
protocol: TCP
|
|
|
|
service:
|
|
enabled: true
|
|
type: ClusterIP
|
|
ports:
|
|
- name: http-ingest
|
|
port: 8080
|
|
targetPort: 8080
|
|
protocol: TCP
|
|
- name: api
|
|
port: 8686
|
|
targetPort: 8686
|
|
protocol: TCP
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 256Mi
|
|
limits:
|
|
cpu: "1"
|
|
memory: 1Gi
|