Skip to content
Merged
Show file tree
Hide file tree
Changes from 52 commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
d58030e
v4 helm chart
nicktrn Jun 23, 2025
8c9eb03
ignore packaged chart archives
nicktrn Jun 23, 2025
8239580
chart publish prep
nicktrn Jun 23, 2025
fa6b179
add helm chart release workflow
nicktrn Jun 23, 2025
24b22fc
enable draft gh release
nicktrn Jun 23, 2025
21f0382
stateful services should be statefulsets
nicktrn Jun 23, 2025
f39d93d
expose internal otel config
nicktrn Jun 23, 2025
b2222fd
podAnnotations for all services
nicktrn Jun 23, 2025
eb2c8ae
postgresql.extraArgs
nicktrn Jun 23, 2025
a80415b
postgresql -> postgres
nicktrn Jun 23, 2025
db6ca9d
add clickhouse vars as extraEnv examples
nicktrn Jun 23, 2025
ac2998d
support external secrets
nicktrn Jun 23, 2025
534804a
improve clickhouse config
nicktrn Jun 23, 2025
3f4c4ce
disable internal otel config by default
nicktrn Jun 23, 2025
4fa4cfb
allow nil internal config
nicktrn Jun 23, 2025
2128799
fix gh release permission
nicktrn Jun 23, 2025
8eacb1e
fix validation step for ci
nicktrn Jun 24, 2025
65e2dcf
secrets.enabled
nicktrn Jun 24, 2025
c42da87
simplify secret keys
nicktrn Jun 24, 2025
1f74f6b
bump chart version
nicktrn Jun 24, 2025
fb51b99
fix contents permission
nicktrn Jun 24, 2025
854e3fc
remove redundant print steps
nicktrn Jun 24, 2025
6d1eeea
remove helm release heading
nicktrn Jun 24, 2025
bff80c1
optimise clickhouse config
nicktrn Jun 24, 2025
c7fb6a3
support wait-for-it.sh
nicktrn Jun 24, 2025
d7687a9
fix ch overrides
nicktrn Jun 24, 2025
c443227
add low-resource ch overrides to compose setup
nicktrn Jun 24, 2025
ae45a16
supervisor bootstrap config
nicktrn Jun 24, 2025
c5cf485
disable otel trace logging
nicktrn Jun 24, 2025
4327b14
retain shared volume
nicktrn Jun 24, 2025
c16d388
enable clickhouse for compose setup
nicktrn Jun 24, 2025
17f6ba6
disable trace logging
nicktrn Jun 24, 2025
062e4b5
bump chart
nicktrn Jun 24, 2025
bb0bd9d
add extraManifests
nicktrn Jun 24, 2025
89d6e2a
telemetry config
nicktrn Jun 25, 2025
840f325
add repo namespace config
nicktrn Jun 25, 2025
c2642ba
scope cluster role to namespace to support multiple installs
nicktrn Jun 25, 2025
017ba3a
external s3 config
nicktrn Jun 25, 2025
a9138b6
values tweaks
nicktrn Jun 25, 2025
6a1bab3
helm docs
nicktrn Jun 25, 2025
9c01c20
Merge remote-tracking branch 'origin/main' into v4/helm
nicktrn Jun 25, 2025
3139105
bump chart
nicktrn Jun 25, 2025
f883736
set contents read permission
nicktrn Jun 25, 2025
4e6ea2e
add object store root credentials warning
nicktrn Jun 25, 2025
4523ca4
run init containers as uid 1000
nicktrn Jun 25, 2025
dadf215
pass ch user creds with explicit flag
nicktrn Jun 25, 2025
4beeafc
improve ingress anotation handling
nicktrn Jun 25, 2025
591108d
remove duplicate colume claim block
nicktrn Jun 25, 2025
04934aa
trim htpasswd auth
nicktrn Jun 25, 2025
91798f0
lock curl images used for tests
nicktrn Jun 25, 2025
50c4f59
add v4-beta package version warning
nicktrn Jun 25, 2025
a9c91c5
make schema and sslmode configurable
nicktrn Jun 25, 2025
a953d46
package tag info -> warning
nicktrn Jun 25, 2025
078976c
improve secrets config example
nicktrn Jun 25, 2025
9a4bfaf
update docs
nicktrn Jun 25, 2025
c67e80c
bump version
nicktrn Jun 25, 2025
7d17ecb
bump webapp reqs to account for ch
nicktrn Jun 25, 2025
03be569
make ch creds more easily configurable
nicktrn Jun 25, 2025
ac1e6c3
publish ch http port
nicktrn Jun 25, 2025
4ec6a03
example point at latest beta chart
nicktrn Jun 25, 2025
b8ded45
small docs tweaks
nicktrn Jun 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
127 changes: 127 additions & 0 deletions .github/workflows/release-helm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
name: 🧭 Helm Chart Release

on:
push:
tags:
- 'helm-v*'
workflow_dispatch:
inputs:
chart_version:
description: 'Chart version to release'
required: true
type: string

env:
REGISTRY: ghcr.io
CHART_NAME: trigger

jobs:
lint-and-test:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: "3.18.3"

- name: Lint Helm Chart
run: |
helm lint ./hosting/k8s/helm/

- name: Render templates
run: |
helm template test-release ./hosting/k8s/helm/ \
--values ./hosting/k8s/helm/values.yaml \
--output-dir ./helm-output

- name: Validate manifests
uses: docker://ghcr.io/yannh/kubeconform:v0.7.0
with:
entrypoint: '/kubeconform'
args: "-summary -output json ./helm-output"

release:
needs: lint-and-test
runs-on: ubuntu-latest
permissions:
contents: write # for gh-release
packages: write
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Set up Helm
uses: azure/setup-helm@v4
with:
version: "3.18.3"

- name: Log in to Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract version from tag or input
id: version
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
VERSION="${{ github.event.inputs.chart_version }}"
else
VERSION="${{ github.ref_name }}"
VERSION="${VERSION#helm-v}"
fi
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Releasing version: $VERSION"

- name: Check Chart.yaml version matches release version
run: |
VERSION="${{ steps.version.outputs.version }}"
CHART_VERSION=$(grep '^version:' ./hosting/k8s/helm/Chart.yaml | awk '{print $2}')
echo "Chart.yaml version: $CHART_VERSION"
echo "Release version: $VERSION"
if [ "$CHART_VERSION" != "$VERSION" ]; then
echo "❌ Chart.yaml version does not match release version!"
exit 1
fi
echo "✅ Chart.yaml version matches release version."

- name: Package Helm Chart
run: |
helm package ./hosting/k8s/helm/ --destination /tmp/

- name: Push Helm Chart to GHCR
run: |
VERSION="${{ steps.version.outputs.version }}"
CHART_PACKAGE="/tmp/${{ env.CHART_NAME }}-${VERSION}.tgz"

# Push to GHCR OCI registry
helm push "$CHART_PACKAGE" "oci://${{ env.REGISTRY }}/${{ github.repository_owner }}/charts"

- name: Create GitHub Release
id: release
uses: softprops/action-gh-release@v1
if: github.event_name == 'push'
with:
tag_name: ${{ github.ref_name }}
name: "Helm Chart ${{ steps.version.outputs.version }}"
body: |
### Installation
```bash
helm upgrade --install trigger \
oci://${{ env.REGISTRY }}/${{ github.repository_owner }}/charts/${{ env.CHART_NAME }} \
--version ${{ steps.version.outputs.version }}
```

### Changes
See commit history for detailed changes in this release.
files: |
/tmp/${{ env.CHART_NAME }}-${{ steps.version.outputs.version }}.tgz
token: ${{ secrets.GITHUB_TOKEN }}
draft: true
prerelease: true
1 change: 1 addition & 0 deletions docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@
"pages": [
"self-hosting/overview",
"self-hosting/docker",
"self-hosting/kubernetes",
{
"group": "Environment variables",
"pages": ["self-hosting/env/webapp", "self-hosting/env/supervisor"]
Expand Down
4 changes: 4 additions & 0 deletions docs/self-hosting/docker.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,10 @@ TRIGGER_IMAGE_TAG=v4.0.0-v4-beta.21

This section highlights some of the CLI commands and options that are useful when self-hosting. Please check the [CLI reference](/cli-introduction) for more in-depth documentation.

<Note>
While v4 is in beta, always use `@v4-beta` instead of `@latest`. For example: `npx trigger.dev@v4-beta dev`
</Note>

### Login

To avoid being redirected to [Trigger.dev Cloud](https://cloud.trigger.dev) when using the CLI, you need to specify the URL of your self-hosted instance with the `--api-url` or `-a` flag. For example:
Expand Down
Loading