feedc0de 08c29d9a3a
Validate, publish and promote Asciinema chart / validate (push) Successful in 19s
Validate, publish and promote Asciinema chart / publish (push) Successful in 27s
Retire legacy Asciinema direct deployment path
2026-10-19 07:42:34 +02:00
2026-09-11 08:55:35 +02:00
2026-10-18 23:42:36 +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.

Chart releases

Git tags version the chart (v1.0.0 publishes chart version 1.0.0). Commits after a tag use the unique git describe --tags --long version, including the commit hash. Chart.yaml.appVersion is the exact upstream application image tag selected by the chart. 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%