k8s/ is now a faithful port of the mentor's Ansible Grafana stack (Prometheus, Alertmanager, Loki, Tempo, Alloy, Grafana, node-exporter) for the ledgerline-observability namespace on falken: same versions and configs, one *.vione.cloud ingress per tool behind Traefik basic auth, secrets generated by create-secrets.sh into gitignored files. Two fixes over the Ansible role, both verified live: Tempo's metrics-generator needs traces_storage or it runs no processors, and Prometheus needs exemplar-storage to keep exemplars. Ledgerline stays on czy; an Alloy agent in the Traefik override ships its container logs to Loki. Roadmap and CLAUDE.md now point at k8s/. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
43 lines
1.3 KiB
YAML
43 lines
1.3 KiB
YAML
# Two hosts, both behind basic auth:
|
|
# otlp.vione.cloud -> OTLP/HTTP ingest (:4318). Apps use
|
|
# OTEL_EXPORTER_OTLP_ENDPOINT=https://otlp.vione.cloud,
|
|
# OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf and an
|
|
# Authorization header. OTLP/gRPC (:4317) is
|
|
# cluster-internal only.
|
|
# alloy.vione.cloud -> Alloy UI (:12345), the component graph.
|
|
apiVersion: networking.k8s.io/v1
|
|
kind: Ingress
|
|
metadata:
|
|
name: alloy
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
traefik.ingress.kubernetes.io/router.middlewares: ledgerline-observability-basic-auth@kubernetescrd
|
|
spec:
|
|
ingressClassName: traefik
|
|
tls:
|
|
- hosts:
|
|
- otlp.vione.cloud
|
|
- alloy.vione.cloud
|
|
secretName: alloy-tls
|
|
rules:
|
|
- host: otlp.vione.cloud
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: alloy
|
|
port:
|
|
number: 4318
|
|
- host: alloy.vione.cloud
|
|
http:
|
|
paths:
|
|
- path: /
|
|
pathType: Prefix
|
|
backend:
|
|
service:
|
|
name: alloy
|
|
port:
|
|
number: 12345
|