8700fbfae1
- backend + gateway multi-stage distroless Dockerfiles; the gateway embeds and
serves the SPA at / and /telegram/ via go:embed (committed dist placeholder,
real build baked in by the image's node stage)
- deploy/docker-compose.yml: backend + gateway + Postgres + Telegram connector
(VPN sidecar) + OTel Collector + Prometheus (15d) + Tempo (72h) + Grafana,
fronted by a caddy owning a single /_gm Basic-Auth (admin console + Grafana
subpath); inter-service on a private network, only caddy on the edge network
- new metrics: backend accounts_created_total{kind} (robots excluded) and an
in-memory gateway active_users{window=24h,7d} gauge
- CI: single .gitea/workflows/ci.yaml (unit/integration/ui + a gated test-contour
deploy) on the new feature/* -> development -> master branch model; the old
go-unit/integration/ui-test workflows are folded in; the connector-scoped
compose is retired (superseded by deploy/)
- docs: ARCHITECTURE §11/§12/§13, root + gateway READMEs, CLAUDE.md branching,
PLAN.md (stage 16 done + refinements + Stage 17 forward-notes)
39 lines
1.1 KiB
YAML
39 lines
1.1 KiB
YAML
# OpenTelemetry Collector for the Scrabble contour. Receives OTLP/gRPC from the
|
|
# three services (backend, gateway, connector — pkg/telemetry exports OTLP only),
|
|
# fans metrics out to a Prometheus scrape endpoint and traces to Tempo.
|
|
receivers:
|
|
otlp:
|
|
protocols:
|
|
grpc:
|
|
endpoint: 0.0.0.0:4317
|
|
|
|
processors:
|
|
batch: {}
|
|
|
|
exporters:
|
|
# Exposes the collected metrics for Prometheus to scrape (otelcol:9464/metrics).
|
|
# add_metric_suffixes:false keeps the instrument names verbatim (no _seconds /
|
|
# _total unit/type suffixes) so the dashboards' PromQL matches the names defined
|
|
# in code; resource_to_telemetry_conversion promotes service.name to a label.
|
|
prometheus:
|
|
endpoint: 0.0.0.0:9464
|
|
add_metric_suffixes: false
|
|
resource_to_telemetry_conversion:
|
|
enabled: true
|
|
# Forwards traces to Tempo's OTLP ingest.
|
|
otlp/tempo:
|
|
endpoint: tempo:4317
|
|
tls:
|
|
insecure: true
|
|
|
|
service:
|
|
pipelines:
|
|
traces:
|
|
receivers: [otlp]
|
|
processors: [batch]
|
|
exporters: [otlp/tempo]
|
|
metrics:
|
|
receivers: [otlp]
|
|
processors: [batch]
|
|
exporters: [prometheus]
|