Deploy channels: thin server + Postgres, behind chart channels.enabled #29

Closed
opened 2026-06-02 05:59:26 +00:00 by coilysiren · 1 comment
Owner

Follow-up from the Helm chart work (#25). The chart shipped relay-only in v1.

otel-a2a-relay-channels is a router-only library: no standalone server, no create_app, no __main__. Its only consumer is the backend repo, which injects the pool/auth. So deploying channels is not "package an existing service" - it needs new application code.

To chart channels:

  • Write a thin o2r-channels-server entrypoint (FastAPI app that mounts make_router(...), bootstraps the schema, builds an asyncpg pool from DATABASE_URL).
  • Add a second Deployment + Service to chart/ behind a channels.enabled flag (values keys are already namespaced so this is non-breaking).
  • Decide Postgres: bundled postgres:17 StatefulSet (forgejo's homelab pattern) vs an external DB via DATABASE_URL from a Secret.
  • Wire the DB secret through external-secrets from SSM, like the peer registry in deploy/namespace.yml.

Acceptance: a deployed channels endpoint coordinating real cross-host agents, events landing as OTel spans in SigNoz alongside the A2A traces.

Follow-up from the Helm chart work (#25). The chart shipped relay-only in v1. `otel-a2a-relay-channels` is a router-only library: no standalone server, no `create_app`, no `__main__`. Its only consumer is the `backend` repo, which injects the pool/auth. So deploying channels is not "package an existing service" - it needs new application code. To chart channels: - Write a thin `o2r-channels-server` entrypoint (FastAPI app that mounts `make_router(...)`, bootstraps the schema, builds an asyncpg pool from `DATABASE_URL`). - Add a second Deployment + Service to `chart/` behind a `channels.enabled` flag (values keys are already namespaced so this is non-breaking). - Decide Postgres: bundled `postgres:17` StatefulSet (forgejo's homelab pattern) vs an external DB via `DATABASE_URL` from a Secret. - Wire the DB secret through external-secrets from SSM, like the peer registry in `deploy/namespace.yml`. Acceptance: a deployed channels endpoint coordinating real cross-host agents, events landing as OTel spans in SigNoz alongside the A2A traces.
Author
Owner

Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag: burndown-2026-06.

Backlog burndown 2026-06-17: closing low-priority (P3/P4) to bring the open count to a manageable level. Nothing lost — reopen if this resurfaces. Batch tag: `burndown-2026-06`.
coilysiren 2026-06-17 08:23:51 +00:00
Commenting is not possible because the repository is archived.
No description provided.