Convert baserow, letta, invoicing (DB/S3 consumers) #9

Merged
jschoubben merged 2 commits from feat/land-db-consumers into main 2026-09-05 23:14:30 +00:00
Owner

Lands the three converted consumer modules onto current main (cherry-picked off the stale feat/convert-db-consumers, which predated the mosquitto merge; re-based cleanly, no overlap):

  • baserow — postgres + redis consumer, own web UI, own tools. Complete.
  • letta — postgres consumer, own tools. Complete.
  • invoicing — the novox custom web app: mongodb + s3 consumer, invoicing-app (UI) + invoicing-api containers, correct ${bound:}/${secret:} env templating. Container-only (no mesh tools) is the right shape for a deployed app. Image host corrected from the registry-api.example placeholder to the real registry.

Verification: all three module.json parse and use the established consumer shape (requires/contributes/binds/secrets), which is already lab-proven green for postgres/redis/mongodb/s3 consumers (catalogue-small, catalogue-apps). baserow/letta TS is byte-identical to when it was authored and compiled. Their in-mesh proof comes with the whole-catalogue install; this PR is the conversion + tidy landing.

https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF

Lands the three converted consumer modules onto current main (cherry-picked off the stale `feat/convert-db-consumers`, which predated the mosquitto merge; re-based cleanly, no overlap): - **baserow** — postgres + redis consumer, own web UI, own tools. Complete. - **letta** — postgres consumer, own tools. Complete. - **invoicing** — the novox custom web app: mongodb + s3 consumer, `invoicing-app` (UI) + `invoicing-api` containers, correct `${bound:}`/`${secret:}` env templating. Container-only (no mesh tools) is the right shape for a deployed app. Image host corrected from the `registry-api.example` placeholder to the real registry. Verification: all three `module.json` parse and use the established consumer shape (`requires`/`contributes`/`binds`/`secrets`), which is already lab-proven green for postgres/redis/mongodb/s3 consumers (catalogue-small, catalogue-apps). baserow/letta TS is byte-identical to when it was authored and compiled. Their in-mesh proof comes with the whole-catalogue install; this PR is the conversion + tidy landing. https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
jschoubben added 2 commits 2026-09-05 23:14:26 +00:00
Mirror the postgres-consumer shape (keycloak/nextcloud): requires the
backing service(s), binds/secrets for the delivered credential, and a
server container that reads it from an interpolated env file.

- baserow: consumes postgres-database + redis-cache; tooled (dormant
  until an account is configured, like gitea's token).
- letta: consumes postgres-database; tooled, live via a mesh-minted
  server-password injected into both server and runtime.
- invoicing: consumes mongodb-database + s3-bucket; plain two-container
  service (app + api), no tools.

Digests pinned for baserow and letta; invoicing keeps private-registry
tags (DIGEST-UNRESOLVED). redis-cache and mongodb-database consumer
shapes are inferred (no prior consumer in the catalog).

Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
The conversion left the image host as a placeholder (registry-api.example).
Point both containers at the actual registry the built app/api images live in
(novox/invoicing-{app,api}, tags 51-55 + latest present). Tracks :latest to
match the app's continuous-deploy model; pin by digest later if reproducibility
of a specific build is wanted.

Claude-Session: https://claude.ai/code/session_01LrgweAeERJYBg88c5cKDzF
jschoubben merged commit 09b140fe86 into main 2026-09-05 23:14:30 +00:00
jschoubben deleted branch feat/land-db-consumers 2026-09-05 23:14:31 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#9