Stage 16: deploy infra & test contour
- 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)
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# 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]
|
||||
Reference in New Issue
Block a user