mirror of
https://github.com/GothenburgBitFactory/taskchampion-sync-server.git
synced 2026-07-16 08:24:45 +00:00
Helm-chart GitHub action (#199)
This commit is contained in:
1
.github/workflows/publish-docs.yml
vendored
1
.github/workflows/publish-docs.yml
vendored
@ -28,3 +28,4 @@ jobs:
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./docs/book
|
||||
keep_files: true
|
||||
|
||||
37
.github/workflows/publish-helm.yml
vendored
Normal file
37
.github/workflows/publish-helm.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
||||
name: Publish Helm Charts
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'helm/**'
|
||||
|
||||
jobs:
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Configure Git
|
||||
run: |
|
||||
git config user.name "$GITHUB_ACTOR"
|
||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||
|
||||
- name: Install Helm
|
||||
uses: azure/setup-helm@v4
|
||||
|
||||
- name: Run chart-releaser
|
||||
uses: helm/chart-releaser-action@v1.6.0
|
||||
env:
|
||||
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
|
||||
with:
|
||||
charts_dir: helm
|
||||
charts_repo_url: https://gothenburgbitfactory.org/taskchampion-sync-server/helm-chart
|
||||
pages_index_path: helm-charts
|
||||
@ -2,9 +2,10 @@
|
||||
|
||||
- [Introduction](./introduction.md)
|
||||
- [Usage](./usage.md)
|
||||
- [Docker Compose](./usage/docker-compose.md)
|
||||
- [Docker Images](./usage/docker-images.md)
|
||||
- [Binaries](./usage/binaries.md)
|
||||
- [Docker Images](./usage/docker-images.md)
|
||||
- [Docker Compose](./usage/docker-compose.md)
|
||||
- [Helm](./usage/helm.md)
|
||||
- [Integration](./integration.md)
|
||||
- [Pre-built Images](./integration/pre-built.md)
|
||||
- [Rust Crates](./integration/crates.md)
|
||||
|
||||
60
docs/src/usage/helm.md
Normal file
60
docs/src/usage/helm.md
Normal file
@ -0,0 +1,60 @@
|
||||
# Helm
|
||||
|
||||
A Helm chart is available for deploying taskchampion-sync-server on Kubernetes.
|
||||
|
||||
## Adding the Repository
|
||||
|
||||
```sh
|
||||
helm repo add taskchampion https://gothenburgbitfactory.org/taskchampion-sync-server/helm-charts
|
||||
helm repo update
|
||||
```
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
The chart requires exactly one storage backend to be enabled. To install with
|
||||
the SQLite backend:
|
||||
|
||||
```sh
|
||||
helm install taskchampion-sync-server taskchampion/taskchampion-sync-server \
|
||||
--set sqlite.enabled=true
|
||||
```
|
||||
|
||||
To install with the Postgres backend, provide the connection details:
|
||||
|
||||
```sh
|
||||
helm install taskchampion-sync-server taskchampion/taskchampion-sync-server \
|
||||
--set postgres.enabled=true \
|
||||
--set postgres.host=my-postgres \
|
||||
--set postgres.database=taskchampion \
|
||||
--set postgres.username=myuser \
|
||||
--set postgres.password=mypassword
|
||||
```
|
||||
|
||||
Alternatively, pass an existing Secret name via `postgres.existingSecret`. The
|
||||
secret must contain a `connection` key holding a [LibPQ-style connection
|
||||
URI](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING-URIS).
|
||||
|
||||
## Configuration
|
||||
|
||||
The chart does not implement TLS. The expectation is that a Kubernetes ingress
|
||||
or gateway will terminate TLS and proxy HTTP traffic to the server container.
|
||||
Enable one of the built-in options or configure your own:
|
||||
|
||||
```sh
|
||||
# NGINX ingress
|
||||
--set ingress.enabled=true --set ingress.hosts[0]=taskchampion.example.com
|
||||
|
||||
# Gateway API HTTPRoute
|
||||
--set httpRoute.enabled=true \
|
||||
--set httpRoute.gateway=my-gateway \
|
||||
--set httpRoute.host=taskchampion.example.com
|
||||
```
|
||||
|
||||
To restrict which client IDs the server accepts, create a Secret containing a
|
||||
newline-separated list of UUIDs and reference it:
|
||||
|
||||
```sh
|
||||
--set clientIdSecret=my-client-ids-secret
|
||||
```
|
||||
|
||||
See the chart's `values.yaml` for the full set of configuration options.
|
||||
Reference in New Issue
Block a user