-
Notifications
You must be signed in to change notification settings - Fork 3.2k
feat(helm): added helm charts for self-hosting #813
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Greptile Summary
This PR implements comprehensive Helm charts for self-hosting Sim Studio on Kubernetes, addressing issue #391. The implementation provides a complete Kubernetes deployment solution with templates for all core services including the main application, realtime WebSocket server, PostgreSQL database, and optional Ollama AI models.
The Helm chart follows standard Kubernetes patterns with proper resource management, security contexts, health checks, and service discovery. Key components include:
- Core Services: Deployment templates for the main app (
deployment-app.yaml), realtime service (deployment-realtime.yaml), and optional Ollama AI service (deployment-ollama.yaml) - Database Support: StatefulSet for internal PostgreSQL (
statefulset-postgresql.yaml) with configurable external database options - Infrastructure: Ingress controllers, ServiceMonitors for Prometheus integration, HPA for autoscaling, and NetworkPolicies for security
- Cloud Provider Examples: Production-ready values files for AWS (
values-aws.yaml), Azure (values-azure.yaml), and GCP (values-gcp.yaml) with cloud-specific optimizations - Deployment Scenarios: Multiple example configurations including development (
values-development.yaml), production (values-production.yaml), and external database (values-external-db.yaml) setups
The chart integrates with the existing Docker Compose architecture while adapting it for Kubernetes deployment patterns. The comprehensive helper functions in _helpers.tpl provide consistent naming, labeling, and configuration across all resources. The implementation includes GPU support for AI workloads, OpenTelemetry integration for observability, and extensive security validations through JSON schema (values.schema.json).
Additionally, the PR includes a minor branding consistency fix in the email template component, updating 'SimStudio' to 'Sim Studio' to align with current naming conventions.
Confidence score: 3/5
- This PR significantly enhances deployment capabilities but contains several security and configuration issues that need attention before production use
- Security concerns include placeholder secrets in example files, overly permissive network policies, and potential YAML formatting issues in telemetry configuration
- Files requiring review:
helm/sim/templates/gpu-device-plugin.yaml(conflicting nodeSelector configurations),helm/sim/examples/values-external-db.yaml(empty required secrets),helm/sim/templates/telemetry.yaml(missing schema definitions), andhelm/sim/templates/networkpolicy.yaml(overly permissive ingress rules)
28 files reviewed, 26 comments
* feat(helm): added helm charts for self-hosting * ack PR comments, use sim instead of simstudio --------- Co-authored-by: waleedlatif <waleedlatif@waleedlatifs-MacBook-Pro.local>
Description
Added helm charts for self-hosting, with examples for GCP, Azure, and AWS
Fixes #391
Type of change
How Has This Been Tested?
Tested manual deployment to ensure everything works as advertised.
Checklist:
bun run test)Security Considerations: