Files
poimen-memory/k8s
Story Crater Bot 630a125778 deploy: OpenSearch + Dashboards StatefulSet
OpenSearch Cluster (k8s/infra/databases/opensearch.yaml):
   StatefulSet: 2 replicas (opensearch-0, opensearch-1) for HA
   Image: opensearchproject/opensearch:2.11.0
   Services: opensearch (headless), opensearch-internal (ClusterIP:9200)
   ConfigMap: opensearch.yml with cluster discovery
   PVC: 30Gi per pod using Longhorn storage class
   Init container: sysctl vm.max_map_count=262144
   Probes: liveness (60s), readiness (30s)
   Resources: 512Mi-1Gi memory, 250m-500m CPU
   Security: plugins.security.disabled=true (K8s network isolation)
   NetworkPolicy: Memory Service + Dashboards access only

OpenSearch Dashboards (UI):
   Deployment: 1 replica opensearch-dashboards
   Image: opensearchproject/opensearch-dashboards:2.11.0
   Service: opensearch-dashboards:5601 (ClusterIP)
   Config: connects to opensearch-internal:9200
   Auth: admin/admin (production: change in secret)
   Port-forward: kubectl port-forward svc/opensearch-dashboards 5601:5601
   Access: http://localhost:5601 (dev) or ingress (prod)

Deployment Status:
  kubectl get pods -n poimen -l app.kubernetes.io/name=opensearch
  kubectl get pods -n poimen -l app.kubernetes.io/name=opensearch-dashboards

Verify Cluster Health:
  kubectl port-forward -n poimen svc/opensearch-internal 9200:9200
  curl http://localhost:9200/_cluster/health

Next Steps:
  1. Configure Memory Service: OPENSEARCH_HOSTS env var
  2. Restart Memory Service pods
  3. Test vault endpoints
  4. Test hybrid search (with OpenSearch fallback)
2026-08-27 21:11:16 -07:00
..