Deploy Rocketship on Your Cloud
Rocketship can run anywhere Kubernetes is available. The CLI embeds the engine and worker binaries for local auto mode, but real deployments separate the components and connect them to a Temporal cluster.
This section outlines the supported deployment paths and what each delivers so you can pick the right starting point.
Core Components
Every deployment provisions:
- Temporal – Durable workflow orchestration. The Helm chart from Temporal provides a ready-made stack with Cassandra, Elasticsearch, and UI components for development and staging clusters.
- Rocketship Engine – gRPC API that accepts suite executions, manages profiles, and streams results.
- Rocketship Worker – Executes plugin steps inside Temporal workflows.
Both Rocketship services require the Temporal frontend host and namespace; everything else (ingress, TLS, auth) is layered on top through Kubernetes objects.
Deployment Paths
| Scenario | Guide | Highlights |
|---|---|---|
| Local iteration | Run on Minikube | Single script (scripts/install-minikube.sh) that starts Minikube, installs Temporal, builds local engine/worker images, and deploys the Rocketship chart. Great for fast feedback and integration testing inside CI. |
| Production-ready proof of concept | Deploy on DigitalOcean Kubernetes | Walks through preparing a managed cluster, wiring an NGINX ingress with TLS, publishing custom images to DigitalOcean Container Registry, and installing the Rocketship + Temporal Helm releases. |
| Web UI with OIDC front-door | Deploy on DigitalOcean Kubernetes | Layer oauth2-proxy + NGINX annotations. Use values-github-selfhost.yaml + values-github-web.yaml for GitHub device-flow reuse, or values-oidc-web.yaml to integrate with an external IdP. |
Looking for another cloud? The DigitalOcean flow covers all building blocks: registry authentication, TLS secrets, ingress, and chart overrides. Adapt the same pattern for EKS, GKE, AKS, or on-prem clusters by swapping provider-specific commands. If you do not already operate Postgres, enable the bundled Bitnami dependency with
--set postgres.enabled=trueand provide a password viapostgres.auth.password.