MnemoCore / helm /mnemocore /values.yaml
Granis87's picture
Initial upload of MnemoCore
dbb04e4 verified
# MnemoCore Helm Chart - Default Values
# ======================================
# Override these values in your own values file or via --set flags
# Global settings
global:
imageRegistry: ""
imagePullSecrets: []
storageClass: ""
namespace: mnemocore
# MnemoCore API Configuration
mnemocore:
# Number of replicas (ignored if autoscaling.enabled is true)
replicaCount: 2
# Container image
image:
repository: mnemocore
tag: "latest"
pullPolicy: IfNotPresent
# Container ports
ports:
api: 8100
metrics: 9090
# Resource limits and requests
resources:
limits:
cpu: "2"
memory: "2Gi"
requests:
cpu: "500m"
memory: "512Mi"
# Probes configuration
probes:
liveness:
enabled: true
initialDelaySeconds: 40
periodSeconds: 30
timeoutSeconds: 10
failureThreshold: 3
successThreshold: 1
readiness:
enabled: true
initialDelaySeconds: 20
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 3
successThreshold: 1
startup:
enabled: true
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 30
successThreshold: 1
# HAIM Configuration (mounted as config.yaml)
config:
version: "3.0"
dimensionality: 16384
encoding:
mode: "binary"
token_method: "bundle"
tiers:
hot:
max_memories: 2000
ltp_threshold_min: 0.7
eviction_policy: "lru"
warm:
max_memories: 100000
ltp_threshold_min: 0.3
consolidation_interval_hours: 1
storage_backend: "mmap"
cold:
storage_backend: "filesystem"
compression: "gzip"
archive_threshold_days: 30
ltp:
initial_importance: 0.5
decay_lambda: 0.01
permanence_threshold: 0.95
half_life_days: 30.0
hysteresis:
promote_delta: 0.15
demote_delta: 0.10
gpu:
enabled: false
device: "cuda:0"
batch_size: 1000
fallback_to_cpu: true
observability:
metrics_port: 9090
log_level: "INFO"
structured_logging: true
paths:
data_dir: "/app/data"
memory_file: "/app/data/memory.jsonl"
codebook_file: "/app/data/codebook.json"
concepts_file: "/app/data/concepts.json"
synapses_file: "/app/data/synapses.json"
warm_mmap_dir: "/app/data/warm_tier"
cold_archive_dir: "/app/data/cold_archive"
mcp:
enabled: false
transport: "stdio"
host: "127.0.0.1"
port: 8110
api_base_url: "http://localhost:8100"
timeout_seconds: 15
allow_tools:
- "memory_store"
- "memory_query"
- "memory_get"
- "memory_delete"
- "memory_stats"
- "memory_health"
# Environment variables
env:
logLevel: "INFO"
host: "0.0.0.0"
port: 8100
# API Key (set via secret)
apiKey:
# Use existing secret
existingSecret: ""
# Key in the secret containing the API key
key: "HAIM_API_KEY"
# If not using existing secret, set value here (NOT RECOMMENDED for production)
value: ""
# Persistence
persistence:
enabled: true
accessModes:
- ReadWriteOnce
size: 10Gi
# storageClass: ""
annotations: {}
# Service configuration
service:
type: ClusterIP
port: 8100
targetPort: 8100
metricsPort: 9090
annotations: {}
labels: {}
# Ingress configuration
ingress:
enabled: false
className: ""
annotations: {}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hosts:
- host: mnemocore.local
paths:
- path: /
pathType: Prefix
tls: []
# - secretName: mnemocore-tls
# hosts:
# - mnemocore.local
# Autoscaling configuration
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 70
targetMemoryUtilizationPercentage: 80
# Custom metrics
metrics: []
behavior: {}
# Pod Disruption Budget
podDisruptionBudget:
enabled: true
minAvailable: 1
# maxUnavailable: 1
# Pod security context
podSecurityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
# Container security context
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
runAsNonRoot: true
# Node selector
nodeSelector: {}
# Tolerations
tolerations: []
# Affinity
affinity: {}
# Pod annotations
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9090"
prometheus.io/path: "/metrics"
# Pod labels
podLabels: {}
# Priority class name
priorityClassName: ""
# Termination grace period
terminationGracePeriodSeconds: 30
# Service account
serviceAccount:
create: true
name: ""
annotations: {}
# Init containers
initContainers: []
# Extra volumes
extraVolumes: []
# Extra volume mounts
extraVolumeMounts: []
# Redis Configuration
redis:
# Enable Redis as part of this chart
enabled: true
# Use Bitnami Redis chart or embedded config
embedded:
enabled: false
# When not using Bitnami chart
image:
repository: redis
tag: "7.2-alpine"
pullPolicy: IfNotPresent
# Redis configuration
config:
maxmemory: "512mb"
maxmemoryPolicy: "allkeys-lru"
save: "60 1"
logLevel: "warning"
# Resource limits
resources:
limits:
cpu: "1"
memory: "512Mi"
requests:
cpu: "100m"
memory: "128Mi"
# Probes
probes:
liveness:
enabled: true
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
readiness:
enabled: true
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 5
# Service
service:
type: ClusterIP
port: 6379
# Persistence
persistence:
enabled: true
accessModes:
- ReadWriteOnce
size: 5Gi
# storageClass: ""
# URL override (if using external Redis)
url: ""
existingSecret: ""
# Qdrant Configuration
qdrant:
# Enable Qdrant as part of this chart
enabled: true
# Use official Qdrant chart or embedded config
embedded:
enabled: false
# When not using official chart
image:
repository: qdrant/qdrant
tag: "latest"
pullPolicy: IfNotPresent
# Qdrant configuration
config:
grpcPort: 6334
logLevel: "INFO"
# HAIM-specific collection settings
collections:
hot:
name: "haim_hot"
binaryQuantization: true
alwaysRam: true
hnswM: 16
hnswEfConstruct: 100
warm:
name: "haim_warm"
binaryQuantization: true
alwaysRam: true
hnswM: 16
hnswEfConstruct: 100
# Resource limits
resources:
limits:
cpu: "2"
memory: "4Gi"
requests:
cpu: "500m"
memory: "1Gi"
# Probes
probes:
liveness:
enabled: true
initialDelaySeconds: 15
periodSeconds: 10
timeoutSeconds: 5
failureThreshold: 5
readiness:
enabled: true
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 3
failureThreshold: 5
# Services
service:
type: ClusterIP
httpPort: 6333
grpcPort: 6334
# Persistence
persistence:
enabled: true
accessModes:
- ReadWriteOnce
size: 20Gi
# storageClass: ""
# URL override (if using external Qdrant)
url: ""
existingSecret: ""
# Network Policies
networkPolicy:
enabled: false
ingress:
- from:
- namespaceSelector:
matchLabels:
name: mnemocore
ports:
- protocol: TCP
port: 8100
- protocol: TCP
port: 9090
# Service Monitor (Prometheus Operator)
serviceMonitor:
enabled: false
namespace: ""
interval: 30s
scrapeTimeout: 10s
labels: {}
annotations: {}
relabelings: []
metricRelabelings: []
# Grafana Dashboard
grafana:
dashboard:
enabled: false
namespace: ""
labels:
grafana_dashboard: "1"
annotations: {}
# Prometheus Rules
prometheusRule:
enabled: false
namespace: ""
additionalLabels: {}
rules: []
# Test configuration
test:
enabled: false
image:
repository: busybox
tag: "latest"