6515e7f637
The vlselect query UI is only reachable in-cluster, so every log search needs a port-forward. Publish it at vlogs.unkin.net behind oauth2-proxy on the external (DMZ) Traefik. - Add `apps/base/logging/vlogs`: external Gateway, http->https redirect and main HTTPRoute - Terminate TLS with the reflected Let's Encrypt `*.unkin.net` wildcard; reflect it into `logging` - Publish the `vlogs` A record at the DMZ gateway VIP from the bind-operator `unkin.net` zone - Route all traffic through the `vlogs-oauth2` Service, upstreaming to `vlselect-logs:9471` - Gate on the Authentik `vlogs` application, group `akP-vlogs-admin` - Read OIDC credentials from `kv/kubernetes/namespace/logging/default/vlogs-oauth-credentials` Depends on unkin/terraform-authentik#40. Reviewed-on: #498 Co-authored-by: unkin-agent <unkin-agent@unkin.net> Co-committed-by: unkin-agent <unkin-agent@unkin.net>
53 lines
1.7 KiB
YAML
53 lines
1.7 KiB
YAML
---
|
|
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
|
|
- vlcluster.yaml
|
|
- gateway.yaml
|
|
- httproute.yaml
|
|
- serviceaccount_logarchiver.yaml
|
|
- configmap_logarchiver.yaml
|
|
- deployment_logarchiver.yaml
|
|
- logviewer
|
|
- vlogs
|
|
|
|
# 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
|