🐾 feat(settings): register kairos-mail source bucket for ingest #3

Merged
r merged 1 commits from feat/kairos-mail-bucket into main 2026-07-12 11:50:53 +00:00
Owner

Companion to kairos2 PR #24 (Stage 10: Mnemosyne mail sync). Settings-only — no code changes.

Kairos is about to start announcing rendered mail documents to POST /library/api/ingest/ with source="kairos-mail". The ingest worker fetches each document from the source's bucket via the SOURCE_S3_BUCKETS registry; unknown sources fall back to the daedalus bucket, so without this entry every kairos-mail fetch would fail.

  • settings.py: KAIROS_S3_* env reads (pattern-copy of the spelunker block) + SOURCE_S3_BUCKETS["kairos-mail"] entry.
  • .env.example: annotated KAIROS_S3_* block ("Consumed by: worker only"; creds should be scoped read-only to the Kairos bucket).
  • docker-compose.yaml: the seven vars added to the worker service only, matching the daedalus/spelunker scoping.

All vars default to empty/safe values, so deploying this ahead of any Kairos-side traffic is a no-op. Deploy order: this first, then flip MNEMOSYNE_ENABLED=true on the Kairos side (kairos2 docs/deploy.md §6 has the full runbook: library uid, create_user_token, base URL).

🤖 Generated with Claude Code

Companion to kairos2 PR #24 (Stage 10: Mnemosyne mail sync). Settings-only — no code changes. Kairos is about to start announcing rendered mail documents to `POST /library/api/ingest/` with `source="kairos-mail"`. The ingest worker fetches each document from the *source's* bucket via the `SOURCE_S3_BUCKETS` registry; unknown sources fall back to the daedalus bucket, so without this entry every kairos-mail fetch would fail. - `settings.py`: `KAIROS_S3_*` env reads (pattern-copy of the spelunker block) + `SOURCE_S3_BUCKETS["kairos-mail"]` entry. - `.env.example`: annotated `KAIROS_S3_*` block ("Consumed by: worker only"; creds should be scoped read-only to the Kairos bucket). - `docker-compose.yaml`: the seven vars added to the **worker** service only, matching the daedalus/spelunker scoping. All vars default to empty/safe values, so deploying this ahead of any Kairos-side traffic is a no-op. Deploy order: this first, then flip `MNEMOSYNE_ENABLED=true` on the Kairos side (kairos2 `docs/deploy.md` §6 has the full runbook: library uid, `create_user_token`, base URL). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
r added 1 commit 2026-07-12 11:36:25 +00:00
Kairos is about to start announcing rendered mail documents to
POST /library/api/ingest/ with source="kairos-mail". Without a registry
entry, unknown sources fall back to the daedalus bucket and every worker
fetch fails — this adds the KAIROS_S3_* env vars (pattern-copy of the
spelunker block) and the SOURCE_S3_BUCKETS["kairos-mail"] entry, plumbed
through .env.example and the worker service in docker-compose.

Settings-only; no code changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
r merged commit d6b541636a into main 2026-07-12 11:50:53 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: r/mnemosyne#3