Bind two ready-to-use dashboards at grafana.t4t-gateway.com:
- Logs — All services: per-service log volume timeseries + live tail,
with a service selector and a free-text search box.
- Hosted-gateway API — errors & PSS inbox: error rate, ack/deliver
counters, and a live tail filtered to PSS inbox traffic so the
webhook fallback is observable.
Datasources + dashboard providers are mounted via Docker configs from
hostinger/grafana/ so they survive grafana container restarts and live
in git rather than the Grafana UI.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Was added to debug the v3 multi-host parse error. Dashboard remains
reachable behind basicauth at traefik.t4t-gateway.com.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Why: prod_api router triggers ACME (cert issued for api.t4t-gateway.com)
but proxied requests return 404. Need the api endpoint to inspect why.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
v3 split the swarm provider out of `--providers.docker.swarmmode`. New
flags use `--providers.swarm.*`. v2.11.22 is well past its EoL.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Mirrors cipherdolls/devops layout. Hostinger Swarm stacks for the t4t
hosted-gateway and local docker-compose for development + e2e tests.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>