Files
skill-seekers-reference/helm/skill-seekers/values.yaml
yusyus 8b3f31409e fix: Enforce min_chunk_size in RAG chunker
- Filter out chunks smaller than min_chunk_size (default 100 tokens)
- Exception: Keep all chunks if entire document is smaller than target size
- All 15 tests passing (100% pass rate)

Fixes edge case where very small chunks (e.g., 'Short.' = 6 chars) were
being created despite min_chunk_size=100 setting.

Test: pytest tests/test_rag_chunker.py -v
2026-02-07 20:59:03 +03:00

314 lines
5.3 KiB
YAML

# Default values for skill-seekers Helm chart
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
# Global configuration
global:
# Environment: development, staging, production
environment: production
# Main application (CLI)
app:
enabled: true
name: skill-seekers
replicaCount: 1
image:
repository: skill-seekers
pullPolicy: IfNotPresent
tag: "latest"
imagePullSecrets: []
nameOverride: ""
fullnameOverride: ""
serviceAccount:
create: true
annotations: {}
name: ""
podAnnotations: {}
podSecurityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 1000
securityContext:
capabilities:
drop:
- ALL
readOnlyRootFilesystem: false
allowPrivilegeEscalation: false
resources:
limits:
cpu: 2000m
memory: 4Gi
requests:
cpu: 500m
memory: 1Gi
nodeSelector: {}
tolerations: []
affinity: {}
# MCP Server
mcpServer:
enabled: true
name: mcp-server
replicaCount: 2
image:
repository: skill-seekers-mcp
pullPolicy: IfNotPresent
tag: "latest"
service:
type: ClusterIP
port: 8765
targetPort: 8765
protocol: TCP
podAnnotations: {}
podSecurityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 1000
securityContext:
capabilities:
drop:
- ALL
readOnlyRootFilesystem: false
allowPrivilegeEscalation: false
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 250m
memory: 512Mi
# Horizontal Pod Autoscaler
autoscaling:
enabled: true
minReplicas: 2
maxReplicas: 10
targetCPUUtilizationPercentage: 70
targetMemoryUtilizationPercentage: 80
# Health checks
livenessProbe:
httpGet:
path: /health
port: 8765
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 5
successThreshold: 1
failureThreshold: 3
readinessProbe:
httpGet:
path: /health
port: 8765
initialDelaySeconds: 10
periodSeconds: 5
timeoutSeconds: 3
successThreshold: 1
failureThreshold: 3
nodeSelector: {}
tolerations: []
affinity: {}
# Environment variables (non-sensitive)
env:
MCP_TRANSPORT: "http"
MCP_PORT: "8765"
PYTHONUNBUFFERED: "1"
PYTHONDONTWRITEBYTECODE: "1"
# Secrets (sensitive values)
# Set these via --set or external secret management
secrets:
# Claude AI / Anthropic API
anthropicApiKey: ""
# Google Gemini API (optional)
googleApiKey: ""
# OpenAI API (optional)
openaiApiKey: ""
# GitHub Token (optional)
githubToken: ""
# Persistent storage
persistence:
enabled: true
data:
enabled: true
storageClass: ""
accessMode: ReadWriteOnce
size: 10Gi
existingClaim: ""
output:
enabled: true
storageClass: ""
accessMode: ReadWriteOnce
size: 20Gi
existingClaim: ""
configs:
enabled: true
storageClass: ""
accessMode: ReadOnlyMany
size: 1Gi
existingClaim: ""
# Vector Databases
vectorDatabases:
# Weaviate
weaviate:
enabled: true
replicaCount: 1
image:
repository: semitechnologies/weaviate
tag: latest
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 8080
resources:
limits:
cpu: 2000m
memory: 4Gi
requests:
cpu: 500m
memory: 1Gi
persistence:
enabled: true
storageClass: ""
size: 50Gi
# Qdrant
qdrant:
enabled: true
replicaCount: 1
image:
repository: qdrant/qdrant
tag: latest
pullPolicy: IfNotPresent
service:
type: ClusterIP
httpPort: 6333
grpcPort: 6334
resources:
limits:
cpu: 2000m
memory: 4Gi
requests:
cpu: 500m
memory: 1Gi
persistence:
enabled: true
storageClass: ""
size: 50Gi
# Chroma
chroma:
enabled: true
replicaCount: 1
image:
repository: ghcr.io/chroma-core/chroma
tag: latest
pullPolicy: IfNotPresent
service:
type: ClusterIP
port: 8000
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 250m
memory: 512Mi
persistence:
enabled: true
storageClass: ""
size: 30Gi
# Ingress configuration
ingress:
enabled: false
className: "nginx"
annotations:
cert-manager.io/cluster-issuer: "letsencrypt-prod"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
hosts:
- host: skill-seekers.example.com
paths:
- path: /mcp
pathType: Prefix
backend:
service:
name: mcp-server
port: 8765
tls:
- secretName: skill-seekers-tls
hosts:
- skill-seekers.example.com
# Service Monitor (Prometheus)
serviceMonitor:
enabled: false
interval: 30s
scrapeTimeout: 10s
labels: {}
# Network Policies
networkPolicy:
enabled: false
policyTypes:
- Ingress
- Egress
ingress:
- from:
- namespaceSelector:
matchLabels:
name: monitoring
egress:
- to:
- namespaceSelector: {}
# RBAC
rbac:
create: true
rules: []
# Pod Disruption Budget
podDisruptionBudget:
enabled: true
minAvailable: 1
# Resource Quotas
resourceQuota:
enabled: false
hard:
requests.cpu: "10"
requests.memory: "20Gi"
persistentvolumeclaims: "10"