Single registry drives Traefik routing, Prometheus scraping, and
the dashboard. FQDN pattern: {service}.{DOMAIN}. Adding a service
= one line in the reef dict + a compose block.
- Parameterize .env (DOMAIN, HOST_IP, S3_*, etc.) and compose.yml
- Zero-trust: remove host port exposure from postgres, rustfs, jaeger
- Traefik Go template replaces 193-line hand-written routing config
- Fold middlewares.yml into the template, delete separate file
- Prometheus switches to file_sd_configs with targets registry
- Dashboard uses JS domain resolution (zero hardcoded FQDNs)
- Grafana provisioning: datasources for Prometheus, Loki, Jaeger
- Vendor rewrite-body plugin (remove nested .git, track as files)
- Trino catalog uses ${ENV:...} for S3 settings
- CI: split traefik validation (yamllint static + template render)
- Add .env.example documenting all deployment knobs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38 lines
734 B
YAML
38 lines
734 B
YAML
# ── Scrape Target Registry ───────────────────────────
|
|
# To add a service: append one entry below.
|
|
# Pattern: container_name:port, job label, optional __metrics_path__.
|
|
|
|
# Traefik
|
|
- targets: ['traefik:8080']
|
|
labels:
|
|
job: traefik
|
|
__metrics_path__: /metrics
|
|
|
|
# Jaeger
|
|
- targets: ['jaeger:14269']
|
|
labels:
|
|
job: jaeger
|
|
|
|
# Loki
|
|
- targets: ['loki:3100']
|
|
labels:
|
|
job: loki
|
|
|
|
# Nessie
|
|
- targets: ['nessie:9000']
|
|
labels:
|
|
job: nessie
|
|
__metrics_path__: /q/metrics
|
|
|
|
# Polaris
|
|
- targets: ['polaris:8182']
|
|
labels:
|
|
job: polaris
|
|
__metrics_path__: /q/metrics
|
|
|
|
# Trino
|
|
- targets: ['trino:8080']
|
|
labels:
|
|
job: trino
|
|
__metrics_path__: /v1/status
|