From 9a4bfaff5653cea0f1a1a5e6f3fbb1ef4f8d1d2b Mon Sep 17 00:00:00 2001 From: nicktrn <55853254+nicktrn@users.noreply.github.com> Date: Wed, 25 Jun 2025 16:06:39 +0100 Subject: [PATCH] update docs --- docs/self-hosting/kubernetes.mdx | 54 +++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 19 deletions(-) diff --git a/docs/self-hosting/kubernetes.mdx b/docs/self-hosting/kubernetes.mdx index c3b5eb673..edabd965a 100644 --- a/docs/self-hosting/kubernetes.mdx +++ b/docs/self-hosting/kubernetes.mdx @@ -16,11 +16,11 @@ Should the burden ever get too much, we'd be happy to see you on [Trigger.dev cl ### Prerequisites - Kubernetes cluster 1.19+ - Helm 3.8+ -- Kubectl configured with cluster access +- Kubectl with cluster access -### Resource requirements +### Resources -The following are minimum requirements for running the entire Trigger.dev stack on Kubernetes: +The following are minimum requirements for running the entire stack on Kubernetes: **Cluster resources:** - 6+ vCPU total @@ -53,11 +53,15 @@ webapp: ### Quick start + +The examples in this guide do NOT use the latest chart version. Please check [this page](https://github.com/triggerdotdev/trigger.dev/pkgs/container/charts%2Ftrigger). + + 1. Install with default values (for testing only): ```bash helm upgrade -n trigger --install trigger \ - oci://ghcr.io/triggerdotdev/charts/trigger:4.0.0-beta.3 \ + oci://ghcr.io/triggerdotdev/charts/trigger:4.0.0-beta.5 \ --create-namespace ``` @@ -82,8 +86,6 @@ While v4 is in beta, always use `@v4-beta` instead of `@latest`. For example: `n ## Configuration -The default installation uses insecure secrets and is only suitable for testing. You _will_ need to configure your own secrets as a bare minimum. - Most values map directly to the environment variables documented in the [webapp](/self-hosting/env/webapp) and [supervisor](/self-hosting/env/supervisor) environment variable overview. **Naming convention:** @@ -100,19 +102,28 @@ config: appOrigin: "https://trigger.example.com" ``` +### Default values + +The default values are insecure and are only suitable for testing. You _will_ need to configure your own secrets as a bare minimum. The following commands will display the default values: + +```bash +helm show values oci://ghcr.io/triggerdotdev/charts/trigger:4.0.0-beta.5 +``` + ### Custom values -Create a `values-custom.yaml` file. For example: +Create a `values-custom.yaml` file to override the default values. For example: ```yaml # Generate new secrets with `openssl rand -hex 16` -# WARNING: You should probably use existingSecret instead of hardcoding here +# WARNING: You should probably use an existingSecret instead secrets: + enabled: true sessionSecret: "your-32-char-hex-secret-1" magicLinkSecret: "your-32-char-hex-secret-2" # ... -# Recommended: Use existing secret - must contain at least the following keys: +# Recommended: existingSecret, must contain at least the following keys: # - SESSION_SECRET # - MAGIC_LINK_SECRET # - ENCRYPTION_KEY @@ -153,7 +164,7 @@ Deploy with your custom values: ```bash helm upgrade -n trigger --install trigger \ - oci://ghcr.io/triggerdotdev/charts/trigger:4.0.0-beta.3 \ + oci://ghcr.io/triggerdotdev/charts/trigger:4.0.0-beta.5 \ --create-namespace \ -f values-custom.yaml ``` @@ -238,7 +249,7 @@ supervisor: key: "token" ``` -## Registry Setup +## Registry setup See the [Docker registry setup](/self-hosting/docker#registry-setup) for conceptual information. The configuration is specified in your `values.yaml`: @@ -261,7 +272,7 @@ registry: The internal registry (`registry.external: false`) is experimental and requires proper TLS setup and additional cluster configuration. Use an external registry for production. -## Object Storage +## Object storage See the [Docker object storage setup](/self-hosting/docker#object-storage) for conceptual information. The defaults will use built-in MinIO, but you can use an external S3-compatible storage. The configuration is specified in your `values.yaml`: @@ -317,19 +328,23 @@ webapp: value: "user1@company\\.com|user2@company\\.com" ``` -## Version Locking +## Version locking You can lock versions in two ways: -**Helm Chart Version (recommended):** +**Helm chart version (recommended):** ```bash # Ensure specific chart version helm upgrade -n trigger --install trigger \ - oci://ghcr.io/triggerdotdev/charts/trigger:4.0.0-beta.3 \ - --version 4.0.0-beta.3 + oci://ghcr.io/triggerdotdev/charts/trigger:4.0.0-beta.5 \ + --version 4.0.0-beta.5 + +# Check the appVersion, which will be different from the chart version +helm show chart \ + oci://ghcr.io/triggerdotdev/charts/trigger:4.0.0-beta.5 | grep appVersion ``` -**Specific Image Tags:** +**Specific image tags:** ```yaml webapp: image: @@ -367,7 +382,8 @@ kubectl describe pod -n trigger # Delete the release helm uninstall trigger -n trigger -# Delete persistent volumes (if needed) - careful, this will delete all data +# Delete persistent volumes (optional) +# WARNING: This will delete all your data! kubectl delete pvc -l app.kubernetes.io/instance=trigger -n trigger # Delete the namespace (optional) @@ -380,7 +396,7 @@ kubectl delete namespace trigger - **Pods stuck pending**: Describe the pod and check the events - **Worker token issues**: Check webapp and supervisor logs for errors -## CLI Usage +## CLI usage See the [Docker CLI usage](/self-hosting/docker#cli-usage) section, the commands are identical regardless of deployment method.