-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Closed
Description
Feature Request: Kubernetes Deployment Support
Is your feature request related to a problem? Please describe.
I'd like to deploy Open Notebook on my Kubernetes cluster (EKS/GKE/AKS/minikube) but there's currently no official K8s deployment method. Manual deployment requires creating multiple Kubernetes resources (Deployments, Services, ConfigMaps, Secrets, etc.) which is error-prone and hard to maintain.
Describe the solution you'd like
Add official Kubernetes deployment support. Options could include:
-
Helm Chart (recommended)
- Industry standard for K8s application packaging
- Easy installation:
helm install open-notebook ./chart - Simple upgrades and rollbacks
- Configurable via values files
- Example: Bitnami Charts
-
Kubectl manifests
- Simple YAML manifests in
k8s/directory - Apply with
kubectl apply -f k8s/ - Less flexible but simpler to understand
- Simple YAML manifests in
-
Kustomize
- Base manifests + overlays
- Native Kubernetes tool
- Good for multi-environment configs
Describe alternatives you've considered
- Docker Compose → Kubernetes conversion tools (imperfect, complex)
- Manual manifest creation (tedious, error-prone)
- Third-party charts (none exist, would need community maintenance)
Additional context
What Kubernetes deployment would enable:
- ✅ Cloud-native deployment (AWS EKS, GCP GKE, Azure AKS)
- ✅ Auto-scaling with HPA (Horizontal Pod Autoscaler)
- ✅ Self-healing deployments
- ✅ Rolling updates and rollbacks
- ✅ Resource management (CPU/memory limits)
- ✅ Persistent volume management for SurrealDB
- ✅ Service discovery and load balancing
- ✅ Ingress for domain access + TLS
- ✅ Multi-environment support (dev/staging/prod)
Key requirements:
- Support all 17 AI providers (OpenAI, Anthropic, Google, FPT Cloud, etc.)
- SurrealDB deployment (StatefulSet for persistence)
- Secret management for API keys
- Health checks and probes
- Persistent volume claims
- Ingress configuration
- Configurable replicas, resources, and security contexts
Example Helm chart structure:
helm/open-notebook/
├── Chart.yaml # Chart metadata
├── values.yaml # All configuration options
├── values.schema.json # JSON schema validation
├── README.md # Documentation
└── templates/ # Kubernetes manifests
├── deployment.yaml
├── service.yaml
├── ingress.yaml
├── pvc.yaml
└── secret.yaml
Related PR
#363 - Draft implementation with Helm chart (for reference)
Would you be open to this feature?
If there's interest, I can help implement and maintain the Kubernetes deployment manifests.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels