Files
microdao-daarion/infrastructure/nats/init-streams-kubectl.sh
Apple a688666fa1
Some checks failed
Update Documentation / update-repos-info (push) Has been cancelled
🔧 Worker Daemon: базова реалізація v1
- Capability Registry (Postgres heartbeat)
- NATS Client (підписка на streams)
- Job Executor (виконання jobs)
- Metrics Exporter (Prometheus)
- Dockerfile для deployment
- Виправлено server_name в NATS (emptyDir)

TODO: Реальна реалізація embed/retrieve/summarize, Matrix Gateway, Auth
2026-01-10 10:24:13 -08:00

77 lines
2.5 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Ініціалізація NATS JetStream streams через kubectl exec
# Використання: ./init-streams-kubectl.sh
set -e
echo "🚀 Ініціалізація NATS JetStream streams через kubectl..."
# Встановлюємо NATS CLI в pod (якщо потрібно)
echo "=== Встановлення NATS CLI в pod ==="
kubectl exec -n nats nats-0 -- sh -c 'apk add --no-cache curl && curl -L https://github.com/nats-io/natscli/releases/latest/download/nats-linux-amd64.zip -o /tmp/nats.zip && unzip -o /tmp/nats.zip -d /tmp && chmod +x /tmp/nats' || echo "NATS CLI встановлення..."
NATS_URL="nats://nats-client.nats:4222"
echo ""
echo "=== Створення Stream MM_ONLINE ==="
kubectl exec -n nats nats-0 -- /tmp/nats stream add MM_ONLINE \
--server="$NATS_URL" \
--subjects="mm.embed.online,mm.retrieve.online,mm.summarize.online" \
--storage=file \
--replicas=2 \
--max-age=30m \
--max-deliver=3 \
--ack \
--discard=old \
--duplicate-window=5m \
--retention=limits \
--yes || echo "Stream вже існує або помилка"
echo ""
echo "=== Створення Stream MM_OFFLINE ==="
kubectl exec -n nats nats-0 -- /tmp/nats stream add MM_OFFLINE \
--server="$NATS_URL" \
--subjects="mm.embed.offline,mm.index.offline,mm.backfill.offline" \
--storage=file \
--replicas=2 \
--max-age=7d \
--max-deliver=10 \
--ack \
--discard=old \
--retention=limits \
--yes || echo "Stream вже існує або помилка"
echo ""
echo "=== Створення Stream MM_WRITE ==="
kubectl exec -n nats nats-0 -- /tmp/nats stream add MM_WRITE \
--server="$NATS_URL" \
--subjects="mm.qdrant.upsert,mm.pg.write,mm.neo4j.write" \
--storage=file \
--replicas=2 \
--max-age=7d \
--max-deliver=10 \
--ack \
--discard=old \
--retention=limits \
--yes || echo "Stream вже існує або помилка"
echo ""
echo "=== Створення Stream MM_EVENTS ==="
kubectl exec -n nats nats-0 -- /tmp/nats stream add MM_EVENTS \
--server="$NATS_URL" \
--subjects="mm.event.audit,mm.event.status" \
--storage=file \
--replicas=2 \
--max-age=30d \
--ack \
--discard=old \
--retention=limits \
--yes || echo "Stream вже існує або помилка"
echo ""
echo "=== Перевірка streams ==="
kubectl exec -n nats nats-0 -- /tmp/nats stream ls --server="$NATS_URL" || echo "Помилка перевірки"
echo ""
echo "✅ Streams створено!"