Skip to content

Conversation

@waleedlatif1
Copy link
Collaborator

Description

Added helm charts for self-hosting, with examples for GCP, Azure, and AWS

Fixes #391

Type of change

  • New feature (non-breaking change which adds functionality)

How Has This Been Tested?

Tested manual deployment to ensure everything works as advertised.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have added tests that prove my fix is effective or that my feature works
  • All tests pass locally and in CI (bun run test)
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules
  • I have updated version numbers as needed (if needed)
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Security Considerations:

  • My changes do not introduce any new security vulnerabilities
  • I have considered the security implications of my changes

@vercel
Copy link

vercel bot commented Jul 28, 2025

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 29, 2025 1:00am
sim ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jul 29, 2025 1:00am

Copy link
Contributor

@greptile-apps greptile-apps bot left a 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), and helm/sim/templates/networkpolicy.yaml (overly permissive ingress rules)

28 files reviewed, 26 comments

Edit Code Review Bot Settings | Greptile

@waleedlatif1 waleedlatif1 merged commit cb17691 into staging Jul 29, 2025
5 checks passed
@waleedlatif1 waleedlatif1 deleted the feat/helm branch July 29, 2025 02:48
arenadeveloper02 pushed a commit to arenadeveloper02/p2-sim that referenced this pull request Sep 19, 2025
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants