Some checks failed
Update Documentation / update-repos-info (push) Has been cancelled
- 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
77 lines
2.5 KiB
Bash
Executable File
77 lines
2.5 KiB
Bash
Executable File
#!/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 створено!"
|