feedc0de af6196d4a9
Validate, publish and promote Asciinema chart / validate (push) Successful in 15s
Validate, publish and promote Asciinema chart / publish (push) Successful in 28s
Support external PostgreSQL deployments
2026-10-25 11:35:37 +01:00
2026-09-11 08:55:35 +02:00

Asciinema Server Helm chart

This repository maintains a Helm chart for the upstream asciinema-server image. The chart declares the application Deployment, PostgreSQL StatefulSet and claim, Services, probes, optional Ingress, and optional S3 bucket bootstrap. CI publishes versioned releases to the public brunner.ninja Helm repository and promotes each main-branch release to the homelab GitOps repository.

For the homelab deployment, cluster-specific values and the Argo CD Application are maintained in homelab-gitops/apps/asciinema.

Install

The chart expects an existing Kubernetes Secret containing the database URL, database password, Phoenix signing key, release cookie, and S3 credentials. Create it with your own secure secret-management method before installation; the chart never creates or prints secret values.

To install the current source checkout with custom values:

cp examples/values.yaml values.yaml
# Edit values.yaml for your hostname, SMTP relay, and S3-compatible endpoint.
./install.sh

To install a published version:

helm repo add brunner.ninja https://brunner.ninja/charts
helm repo update brunner.ninja
helm upgrade --install asciinema brunner.ninja/asciinema \
  --namespace asciinema --create-namespace \
  --values values.yaml --wait --timeout 10m

The example enables Ingress and uses example hostnames. Set your own values for config.urlHost, config.s3.endpoint, and the SMTP fields. If using S3, the bucket must already exist unless bucketBootstrap.enabled is explicitly enabled. PostgreSQL uses a persistent volume claim; set postgresql.persistence.storageClass and its size as appropriate for your cluster. Set postgresql.enabled: false when supplying an external PostgreSQL service; configure the application Secret's database-url for that service.

Chart releases

The upstream image uses a date tag, currently 20260626. The chart maps it to SemVer tag v2026.6.26, which publishes chart 2026.6.26. Later chart commits append the git describe --tags --long count and hash. Chart.yaml.appVersion remains the exact upstream image tag. The workflow requires PACKAGE_USERNAME, PACKAGE_TOKEN, and GITOPS_TOKEN repository secrets; it does not access Kubernetes.

Validate locally

./test.sh
S
Description
Deployment files for asciinema in my cluster
Readme GPL-3.0
106 KiB
0 Stars 1 Watchers 0 Forks
Languages
Shell 78.5%
Go Template 21.5%