chore(search): wire Meilisearch — local compose + prod k8s manifests

Add a meilisearch service to the dev docker-compose (port 7700, persistent volume)
and MEILI_URL/MEILI_KEY (+ IIOS_CRED_KEY, IIOS_MEDIA_GC_INTERVAL_MS) to .env.example.
Add deploy/meilisearch.yaml — a ready-to-apply k8s Deployment/Service/PVC/Secret for
the ArgoCD prod stack (copy into k8s-pods/services/iios/), with wiring notes for the
iios-service env (MEILI_URL=http://meilisearch:7700, MEILI_KEY from the secret).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-23 14:35:07 +05:30
parent 8af25def83
commit f5c89159f4
3 changed files with 132 additions and 0 deletions
+15
View File
@@ -6,3 +6,18 @@ DATABASE_URL="postgresql://iios:iios@localhost:5434/iios?schema=public"
JWT_SECRET="dev-only-change-me"
# Per-app HS256 secrets, JSON map keyed by appId (the `session` platform port)
APP_SECRETS={"portal-demo":"dev-secret"}
# Full-text message search (Meilisearch). Unset MEILI_URL → search is disabled (no-op).
# MEILI_KEY must equal the meilisearch server's MEILI_MASTER_KEY (docker-compose default below).
MEILI_URL="http://localhost:7700"
MEILI_KEY="dev-meili-master-key"
# Consumed by docker-compose's meilisearch service; keep in sync with MEILI_KEY.
MEILI_MASTER_KEY="dev-meili-master-key"
# BYO integration credentials at rest (Twilio SMS, SMTP): 32-byte base64 AES-256-GCM key.
# Generate with: openssl rand -base64 32
IIOS_CRED_KEY=""
# Orphaned-media garbage collection (uploaded-but-never-sent attachments).
# Interval 0 = off; set e.g. 3600000 (hourly) in prod. Grace defaults to 24h.
IIOS_MEDIA_GC_INTERVAL_MS=0