chart pages carry no version numbers any more

Both version rows leave every chart page's at-a-glance table; the image
repository stays, because it does not rot. A plain app-version bump obliges
no wiki edit — that rule is deliberate and stays — so any number written
here is stale within a Renovate round, as urlaubsverwaltung's already was.
Chart.yaml is where the pair is read, exactly as the chart index has said
from the start.

Home and Workflow no longer promise version snapshots. Forge and tooling
described remotes named github and JLab-Git; the checkout has exactly one,
origin, pointing at Gitea. Workflow gains the rule the wiki never had:
fetch and rebase before every push, never force-push.
jklein committed 2026-09-26 21:42:15 +00:00
1 parent 1df52f7989
commit 311293e164
29 files changed
+61 -57

No files matched your search

+1 -1
@@ -2,7 +2,7 @@
25 directories: 24 installable charts plus the `template-chart` scaffold. Each page holds prerequisites, an installation walkthrough, the complete list of configurable values, and the chart's operating traps. 25 directories: 24 installable charts plus the `template-chart` scaffold. Each page holds prerequisites, an installation walkthrough, the complete list of configurable values, and the chart's operating traps.
**Versions are not listed here on purpose.** Renovate moves app versions continuously; a table of numbers in a wiki is wrong within days. Read the current pair off the chart: **Versions are not listed here on purpose** — and not on the chart pages either. Renovate moves app versions continuously; a table of numbers in a wiki is wrong within days. Read the current pair off the chart:
```bash ```bash
grep -E '^(version|appVersion):' <chart>/Chart.yaml grep -E '^(version|appVersion):' <chart>/Chart.yaml
+7 -4
@@ -23,14 +23,17 @@ tea pr create --base main --head <branch> --title … --description …
`op plugin run -- tea` is the older instruction and applies only where `op` actually exists. Where it does, every call costs a 1Password confirmation, so bundle calls and never poll. `op plugin run -- tea` is the older instruction and applies only where `op` actually exists. Where it does, every call costs a 1Password confirmation, so bundle calls and never poll.
## Remotes are named, and `origin` is not one of them ## The remote is `origin`, and it points at Gitea
The workspace checkout — and every worktree cut from it — has exactly one remote:
``` ```
github the push mirror origin ssh://git@git.jk-dev.de:30022/jlab-cluster/helm-charts.git
JLab-Git the leading copy
``` ```
There is no `origin`, so `git push` without a remote is ambiguous here. Say which remote you mean, in commands and in prose. So a bare `git push` goes to Gitea, the leading copy. The GitHub mirror is fed by Gitea itself and is not a remote here; nothing is ever pushed to it by hand.
A clone elsewhere may have more than one — the maintainer's machine also carries the mirror, as a remote named `github`. Wherever a second remote exists, say which one you mean, in commands and in prose.
## Signed commits are enforced ## Signed commits are enforced
+1 -1
@@ -30,7 +30,7 @@ Two properties shape almost everything else:
## Two conventions about this wiki ## Two conventions about this wiki
- **`Chart.yaml` is authoritative for versions.** Version numbers quoted on chart pages are snapshots from the day the page was written; Renovate moves app versions continuously and does not edit this wiki. - **`Chart.yaml` is authoritative for versions.** The chart pages carry **no** version numbers at all — Renovate moves app versions continuously and does not edit this wiki, so a number written here would be stale within days. Read the current pair off `<chart>/Chart.yaml`; the [chart index](Charts) has the command.
- **`#n` in the repo's files means the GitHub tracker**, not Gitea. Numbers changed with the move — see [Forge and tooling](Forge-and-Tooling#issue-numbers-changed-with-the-move). - **`#n` in the repo's files means the GitHub tracker**, not Gitea. Numbers changed with the move — see [Forge and tooling](Forge-and-Tooling#issue-numbers-changed-with-the-move).
## Keeping this wiki current is a required step ## Keeping this wiki current is a required step
+3 -1
@@ -36,7 +36,7 @@ This wiki is the knowledge base. A change that lands in `main` while the wiki st
| a Renovate rule added or changed | [Renovate](Renovate) | | a Renovate rule added or changed | [Renovate](Renovate) |
| something broke in a way that a rule now prevents | [Lessons learned](Lessons-Learned) | | something broke in a way that a rule now prevents | [Lessons learned](Lessons-Learned) |
**What does not oblige an edit:** a plain app-version bump. Renovate automerges those continuously and does not touch the wiki; chart pages therefore quote versions as snapshots and point at `Chart.yaml` as the source of truth. If an app-version bump *does* change behaviour or values, it is no longer a plain bump and the table above applies. **What does not oblige an edit:** a plain app-version bump. Renovate automerges those continuously and does not touch the wiki; chart pages therefore carry no version numbers at all and point at `Chart.yaml` instead. If an app-version bump *does* change behaviour or values, it is no longer a plain bump and the table above applies.
**Where the duty sits in the workflow:** the development agent updates the wiki as part of its issue, before asking for the merge, so that the reviewer sees code and documentation together. The manager checks it at step 8, along with the issue closure. **Where the duty sits in the workflow:** the development agent updates the wiki as part of its issue, before asking for the merge, so that the reviewer sees code and documentation together. The manager checks it at step 8, along with the issue closure.
@@ -51,6 +51,8 @@ git -C helm-charts.wiki push
Page names are file names: `outline.md` is the page `outline`. Links between pages are relative page names without the extension — `[CI/CD](CI-CD)`. `_Sidebar.md` is the navigation shown beside every page; a new page that is not listed there is reachable only by search. Page names are file names: `outline.md` is the page `outline`. Links between pages are relative page names without the extension — `[CI/CD](CI-CD)`. `_Sidebar.md` is the navigation shown beside every page; a new page that is not listed there is reachable only by search.
**Fetch and rebase before every push, and never force-push.** The wiki has no PR flow and no review, so two people — or two agents — edit the same page at the same time without noticing: during Gitea #16 and #18 that happened twice within minutes, and only luck made the rebase clean. A force push here deletes the other edit silently, with nothing left to report it.
## Rules for every commit, PR, issue and comment ## Rules for every commit, PR, issue and comment
- **No `Co-Authored-By` trailer and no "Generated with Claude Code" footer.** - **No `Co-Authored-By` trailer and no "Generated with Claude Code" footer.**
+2 -2
@@ -4,8 +4,8 @@ Deploys the [Apache Tika](https://tika.apache.org/) server, a content-extraction
| | | | | |
|---|---| |---|---|
| Chart version | `10.0.1+up3.3.1.0.full` | | Image | `apache/tika` |
| App version | `3.3.1.0-full` (image `apache/tika`) | | Versions | not listed on purpose — read the current pair off `apache-tika/Chart.yaml`, see [Chart index](Charts) |
| Workloads | Deployment (1 replica) | | Workloads | Deployment (1 replica) |
| Storage | none — one emptyDir on `/tmp` | | Storage | none — one emptyDir on `/tmp` |
| Ingress | **no** — ClusterIP Service only | | Ingress | **no** — ClusterIP Service only |
+2 -2
@@ -4,8 +4,8 @@ Deploys [BentoPDF](https://github.com/alam00000/bentopdf), a browser-side PDF to
| | | | | |
|---|---| |---|---|
| Chart version | `1.0.2+up2.8.8` | | Image | `ghcr.io/alam00000/bentopdf-simple` |
| App version | `2.8.8` (image `ghcr.io/alam00000/bentopdf-simple`) | | Versions | not listed on purpose — read the current pair off `bentopdf/Chart.yaml`, see [Chart index](Charts) |
| Workloads | Deployment (1 replica) | | Workloads | Deployment (1 replica) |
| Storage | none — two emptyDirs for nginx, no PVC | | Storage | none — two emptyDirs for nginx, no PVC |
| Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required while enabled | | Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required while enabled |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Calibre-Web Automated](https://github.com/crocodilestick/Calibre-Web-Au
| | | | | |
|---|---| |---|---|
| Chart version | `7.0.0+upv4.0.6` | | Image | `ghcr.io/crocodilestick/calibre-web-automated` |
| App version | `v4.0.6` (image `ghcr.io/crocodilestick/calibre-web-automated`) | | Versions | not listed on purpose — read the current pair off `calibre-web-automated/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica) | | Workloads | StatefulSet (1 replica) |
| Storage | one RWO PVC (`cwa.storage`, mounted three times by `subPath`) + one **RWX** consume PVC fixed at `1Gi` | | Storage | one RWO PVC (`cwa.storage`, mounted three times by `subPath`) + one **RWX** consume PVC fixed at `1Gi` |
| Ingress | optional; `ingress.domain` + `ingress.clusterIssuer` required only while enabled | | Ingress | optional; `ingress.domain` + `ingress.clusterIssuer` required only while enabled |
+2 -2
@@ -4,8 +4,8 @@ Deploys [CyberChef](https://github.com/gchq/CyberChef), the "Cyber Swiss Army Kn
| | | | | |
|---|---| |---|---|
| Chart version | `9.0.1+up11.4.0` | | Image | `ghcr.io/gchq/cyberchef` |
| App version | `11.4.0` (image `ghcr.io/gchq/cyberchef`) | | Versions | not listed on purpose — read the current pair off `cyberchef/Chart.yaml`, see [Chart index](Charts) |
| Workloads | Deployment (1 replica) | | Workloads | Deployment (1 replica) |
| Storage | none — one emptyDir on `/tmp` for nginx | | Storage | none — one emptyDir on `/tmp` for nginx |
| Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required while `ingress.enabled` | | Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required while `ingress.enabled` |
+1 -2
@@ -4,8 +4,7 @@ Deploys a Wireguard-tunneled media automation stack as a **single StatefulSet po
| | | | | |
|---|---| |---|---|
| Chart version | `3.1.0+up1.0.0` | | Versions | not listed on purpose — read the current pair off `freesailarr/Chart.yaml`, see [Chart index](Charts). The app version is a hand-maintained marker and **not** the source of any image tag (see [Ten upstreams, no app version](#ten-upstreams-no-app-version)) |
| App version | `1.0.0` — a hand-maintained marker, **not** the source of any image tag (see [Ten upstreams, no app version](#ten-upstreams-no-app-version)) |
| Workloads | one StatefulSet, 1 replica, 10 containers (9 by default) + one init container | | Workloads | one StatefulSet, 1 replica, 10 containers (9 by default) + one init container |
| Storage | one RWO `volumeClaimTemplate` per enabled app (config, 1Gi each) + up to three **pre-existing** media claims | | Storage | one RWO `volumeClaimTemplate` per enabled app (config, 1Gi each) + up to three **pre-existing** media claims |
| Ingress | two shapes that mix: one host per app (default) or one shared `ingress.host` with sub-paths. There is **no** `ingress.domain` | | Ingress | two shapes that mix: one host per app (default) or one shared `ingress.host` with sub-paths. There is **no** `ingress.domain` |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Gotenberg](https://gotenberg.dev/), a stateless HTTP API that converts
| | | | | |
|---|---| |---|---|
| Chart version | `8.0.2+up8.37.0` | | Image | `gotenberg/gotenberg` |
| App version | `8.37.0` (image `gotenberg/gotenberg`) | | Versions | not listed on purpose — read the current pair off `gotenberg/Chart.yaml`, see [Chart index](Charts) |
| Workloads | Deployment (1 replica) | | Workloads | Deployment (1 replica) |
| Storage | none — emptyDirs on `/tmp` and `/home/gotenberg` | | Storage | none — emptyDirs on `/tmp` and `/home/gotenberg` |
| Ingress | **no** — ClusterIP Service only | | Ingress | **no** — ClusterIP Service only |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Home Assistant](https://www.home-assistant.io/) as a single-replica Sta
| | | | | |
|---|---| |---|---|
| Chart version | `6.1.0+up2026.8.3` | | Image | `ghcr.io/home-assistant/home-assistant` |
| App version | `2026.8.3` (image `ghcr.io/home-assistant/home-assistant`) | | Versions | not listed on purpose — read the current pair off `homeassistant/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica) | | Workloads | StatefulSet (1 replica) |
| Storage | one RWO PVC mounted at `/config` (subPath `hass-config`) | | Storage | one RWO PVC mounted at `/config` (subPath `hass-config`) |
| Ingress | optional and **off by default**; upstream-style `hosts`/`tls` lists, **no required values** | | Ingress | optional and **off by default**; upstream-style `hosts`/`tls` lists, **no required values** |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Matrix Synapse](https://element-hq.github.io/synapse/) as a single-repl
| | | | | |
|---|---| |---|---|
| Chart version | `7.1.0+upv1.159.0` | | Image | `ghcr.io/element-hq/synapse` |
| App version | `v1.159.0` (image `ghcr.io/element-hq/synapse`) | | Versions | not listed on purpose — read the current pair off `matrix-synapse/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica); optional delegation nginx Deployment + Service | | Workloads | StatefulSet (1 replica); optional delegation nginx Deployment + Service |
| Storage | one RWO PVC, two subPaths: `/data` and `/media_store` | | Storage | one RWO PVC, two subPaths: `/data` and `/media_store` |
| Ingress | yes, gated by `ingress.enabled`; `ingress.domain` survives the gate — see [§12.1](Chart-Style-Guide#12-values-that-must-not-lie) | | Ingress | yes, gated by `ingress.enabled`; `ingress.domain` survives the gate — see [§12.1](Chart-Style-Guide#12-values-that-must-not-lie) |
+2 -2
@@ -4,8 +4,8 @@ Deploys [mc-router](https://github.com/itzg/mc-router) as a stateless Deployment
| | | | | |
|---|---| |---|---|
| Chart version | `4.1.1+up1.46.5` | | Image | `docker.io/itzg/mc-router` |
| App version | `1.46.5` (image `docker.io/itzg/mc-router`) | | Versions | not listed on purpose — read the current pair off `minecraft-router/Chart.yaml`, see [Chart index](Charts) |
| Workloads | Deployment (1 replica) | | Workloads | Deployment (1 replica) |
| Storage | none — the only mount is the routing ConfigMap | | Storage | none — the only mount is the routing ConfigMap |
| Ingress | no; a **NodePort** Service, TCP only | | Ingress | no; a **NodePort** Service, TCP only |
+2 -2
@@ -4,8 +4,8 @@ Deploys a Minecraft server ([itzg/minecraft-server](https://github.com/itzg/dock
| | | | | |
|---|---| |---|---|
| Chart version | `6.0.0+up2026.8.2.java25` | | Image | `itzg/minecraft-server` — the tag fixes the JVM |
| App version | `2026.8.2-java25` (image `itzg/minecraft-server`) — the tag fixes the JVM | | Versions | not listed on purpose — read the current pair off `minecraft-server/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica), plus an init container with `curseforgeServerpack` | | Workloads | StatefulSet (1 replica), plus an init container with `curseforgeServerpack` |
| Storage | one RWO PVC, `<release>-mc-volume-claim`, two subPaths (`mc-data` → `/data`, `mc-modpacks` → `/modpacks`) | | Storage | one RWO PVC, `<release>-mc-volume-claim`, two subPaths (`mc-data` → `/data`, `mc-modpacks` → `/modpacks`) |
| Ingress | none — `ClusterIP` by default, `NodePort` optional | | Ingress | none — `ClusterIP` by default, `NodePort` optional |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Outline](https://www.getoutline.com/), a team knowledge base, as a sing
| | | | | |
|---|---| |---|---|
| Chart version | `7.1.2+up1.10.1` | | Image | `outlinewiki/outline` |
| App version | `1.10.1` (image `outlinewiki/outline`) | | Versions | not listed on purpose — read the current pair off `outline/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica) | | Workloads | StatefulSet (1 replica) |
| Storage | one RWO PVC for uploads (`FILE_STORAGE=local`) | | Storage | one RWO PVC for uploads (`FILE_STORAGE=local`) |
| Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required | | Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Paperless-ngx](https://docs.paperless-ngx.com/), a document management
| | | | | |
|---|---| |---|---|
| Chart version | `12.1.1+up3.1.0` | | Image | `ghcr.io/paperless-ngx/paperless-ngx` |
| App version | `3.1.0` (image `ghcr.io/paperless-ngx/paperless-ngx`) | | Versions | not listed on purpose — read the current pair off `paperless-ngx/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica) with a root init container; optional consume CronJob | | Workloads | StatefulSet (1 replica) with a root init container; optional consume CronJob |
| Storage | main PVC (RWO, `paperless.files.storage`) + consume PVC (RWX, **hardcoded 1Gi**); both on the hardcoded storage class `longhorn` | | Storage | main PVC (RWO, `paperless.files.storage`) + consume PVC (RWX, **hardcoded 1Gi**); both on the hardcoded storage class `longhorn` |
| Ingress | yes, **always rendered** — this chart has no `ingress.enabled` | | Ingress | yes, **always rendered** — this chart has no `ingress.enabled` |
+2 -2
@@ -4,8 +4,8 @@ Deploys [PatchMon](https://patchmon.net/), a patch-status monitor for Linux and
| | | | | |
|---|---| |---|---|
| Chart version | `7.0.1+up2.1.3` | | Image | `ghcr.io/patchmon/patchmon-server` |
| App version | `2.1.3` (image `ghcr.io/patchmon/patchmon-server`) | | Versions | not listed on purpose — read the current pair off `patchmon/Chart.yaml`, see [Chart index](Charts) |
| Workloads | one Deployment (1 replica), optional `guacd` sidecar in the same pod | | Workloads | one Deployment (1 replica), optional `guacd` sidecar in the same pod |
| Storage | none — the image is stateless; `/tmp` is an emptyDir | | Storage | none — the image is stateless; `/tmp` is an emptyDir |
| Ingress | yes, gated by `ingress.enabled`; `ingress.domain` survives the gate | | Ingress | yes, gated by `ingress.enabled`; `ingress.domain` survives the gate |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Rallly](https://rallly.co/), a self-hosted scheduling and poll app, as
| | | | | |
|---|---| |---|---|
| Chart version | `8.1.4+up4.15.1` | | Image | `lukevella/rallly` |
| App version | `4.15.1` (image `lukevella/rallly`) | | Versions | not listed on purpose — read the current pair off `rallly/Chart.yaml`, see [Chart index](Charts) |
| Workloads | Deployment (1 replica) | | Workloads | Deployment (1 replica) |
| Storage | none persistent — an emptyDir mounted over the Next.js cache directory | | Storage | none persistent — an emptyDir mounted over the Next.js cache directory |
| Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required | | Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required |
+2 -2
@@ -4,8 +4,8 @@ Deploys [RSS-Bridge](https://github.com/RSS-Bridge/rss-bridge), which turns webs
| | | | | |
|---|---| |---|---|
| Chart version | `1.0.2+up2025.08.05` | | Image | `docker.io/rssbridge/rss-bridge` |
| App version | `2025-08-05` (image `docker.io/rssbridge/rss-bridge`) | | Versions | not listed on purpose — read the current pair off `rss-bridge/Chart.yaml`, see [Chart index](Charts) |
| Workloads | Deployment (1 replica) | | Workloads | Deployment (1 replica) |
| Storage | none — five emptyDirs, feed cache included | | Storage | none — five emptyDirs, feed cache included |
| Ingress | yes, `ingress.hosts` (a **list**) + `ingress.clusterIssuer` required while enabled | | Ingress | yes, `ingress.hosts` (a **list**) + `ingress.clusterIssuer` required while enabled |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Samba](https://www.samba.org/) (image `ghcr.io/dockur/samba`) as a sing
| | | | | |
|---|---| |---|---|
| Chart version | `7.1.0+up4.23.10` | | Image | `ghcr.io/dockur/samba` |
| App version | `4.23.10` (image `ghcr.io/dockur/samba`) | | Versions | not listed on purpose — read the current pair off `samba/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica) | | Workloads | StatefulSet (1 replica) |
| Storage | one RWO PVC per share (`<release>-<share>-volume-claim`) | | Storage | one RWO PVC per share (`<release>-<share>-volume-claim`) |
| Ingress | none — NodePort Service on 445/tcp and 139/tcp | | Ingress | none — NodePort Service on 445/tcp and 139/tcp |
+2 -2
@@ -4,8 +4,8 @@ Deploys a [Satisfactory](https://www.satisfactorygame.com/) dedicated server ([w
| | | | | |
|---|---| |---|---|
| Chart version | `7.0.1+upv1.9.10` (snapshot; `Chart.yaml` is the source of truth) | | Image | `ghcr.io/wolveix/satisfactory-server` |
| App version | `v1.9.10` (image `ghcr.io/wolveix/satisfactory-server`) | | Versions | not listed on purpose — read the current pair off `satisfactory/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica) | | Workloads | StatefulSet (1 replica) |
| Storage | one RWO PVC `<release>-satisfactory-vc`, storage class **hardcoded** `longhorn` | | Storage | one RWO PVC `<release>-satisfactory-vc`, storage class **hardcoded** `longhorn` |
| Ingress | no; a **NodePort** Service with three ports (UDP game, TCP API, TCP messaging) | | Ingress | no; a **NodePort** Service with three ports (UDP game, TCP API, TCP messaging) |
+2 -2
@@ -4,8 +4,8 @@ Deploys [SearXNG](https://docs.searxng.org/), a metasearch engine, as a stateles
| | | | | |
|---|---| |---|---|
| Chart version | `1.0.6+up2026.9.13.3b8009065` | | Image | `docker.io/searxng/searxng` |
| App version | `2026.9.13-3b8009065` (image `docker.io/searxng/searxng`) | | Versions | not listed on purpose — read the current pair off `searxng/Chart.yaml`, see [Chart index](Charts) |
| Workloads | Deployment (1 replica) | | Workloads | Deployment (1 replica) |
| Storage | none — two emptyDirs (`/tmp`, `/var/cache/searxng`) | | Storage | none — two emptyDirs (`/tmp`, `/var/cache/searxng`) |
| Ingress | yes, `ingress.domain` **always** required, `ingress.clusterIssuer` only while the Ingress is on | | Ingress | yes, `ingress.domain` **always** required, `ingress.clusterIssuer` only while the Ingress is on |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Sure](https://github.com/we-promise/sure), the maintained community for
| | | | | |
|---|---| |---|---|
| Chart version | `1.0.0+up0.7.4` | | Image | `ghcr.io/we-promise/sure` |
| App version | `0.7.4` (image `ghcr.io/we-promise/sure`) | | Versions | not listed on purpose — read the current pair off `sure/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica, 2 containers: `web` + `worker`, plus one init container) | | Workloads | StatefulSet (1 replica, 2 containers: `web` + `worker`, plus one init container) |
| Storage | one RWO PVC at `/rails/storage`, mounted into **both** containers | | Storage | one RWO PVC at `/rails/storage`, mounted into **both** containers |
| Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required | | Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required |
+2 -2
@@ -4,8 +4,8 @@ Deploys a [TeamSpeak 6](https://teamspeak.com/) server as a single-replica State
| | | | | |
|---|---| |---|---|
| Chart version | `5.1.0+up6.0.0.beta12.1` | | Image | `teamspeaksystems/teamspeak6-server` |
| App version | `6.0.0-beta12.1` (image `teamspeaksystems/teamspeak6-server`) | | Versions | not listed on purpose — read the current pair off `teamspeak-server/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica) | | Workloads | StatefulSet (1 replica) |
| Storage | one RWO PVC on `/var/tsserver` — no scratch volume, no emptyDir | | Storage | one RWO PVC on `/var/tsserver` — no scratch volume, no emptyDir |
| Ingress | **no** — NodePort Service on both ports | | Ingress | **no** — NodePort Service on both ports |
+2 -2
@@ -6,8 +6,8 @@ This page is the practical companion to [Creating a new chart](New-Chart): what
| | | | | |
|---|---| |---|---|
| Chart version | `4.1.0+upxxx` (the scaffold's own; meaningless for a copy) | | Image | placeholder `ghcr.io/ORG/IMAGE:xxx`, which does not exist |
| App version | `"xxx"` — placeholder image `ghcr.io/ORG/IMAGE:xxx`, which does not exist | | Versions | not listed on purpose — the scaffold's own pair in `template-chart/Chart.yaml` is meaningless for a copy, see [Chart index](Charts) |
| Workloads | a Deployment **and** a StatefulSet — the two shapes to choose between | | Workloads | a Deployment **and** a StatefulSet — the two shapes to choose between |
| Storage | one RWO PVC `<release>-xxx-pvc` (optional for a copy) | | Storage | one RWO PVC `<release>-xxx-pvc` (optional for a copy) |
| Ingress | yes, gated by `ingress.enabled`; `domain` + `clusterIssuer` required | | Ingress | yes, gated by `ingress.enabled`; `domain` + `clusterIssuer` required |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Urlaubsverwaltung](https://urlaubsverwaltung.cloud/), a leave and absen
| | | | | |
|---|---| |---|---|
| Chart version | `10.0.0+up6.13.1` | | Image | `docker.io/urlaubsverwaltung/urlaubsverwaltung` |
| App version | `6.13.1` (image `docker.io/urlaubsverwaltung/urlaubsverwaltung`) | | Versions | not listed on purpose — read the current pair off `urlaubsverwaltung/Chart.yaml`, see [Chart index](Charts) |
| Workloads | Deployment (1 replica) | | Workloads | Deployment (1 replica) |
| Storage | none — `/tmp` is an emptyDir, all state is in the external database | | Storage | none — `/tmp` is an emptyDir, all state is in the external database |
| Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required while enabled | | Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required while enabled |
+2 -2
@@ -4,8 +4,8 @@ Deploys [VoucherVault](https://github.com/l4rm4nd/VoucherVault), a Django applic
| | | | | |
|---|---| |---|---|
| Chart version | `6.1.1+up1.30.2` | | Image | `docker.io/l4rm4nd/vouchervault` |
| App version | `1.30.2` (image `docker.io/l4rm4nd/vouchervault`) | | Versions | not listed on purpose — read the current pair off `voucher-vault/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica) plus an `init-static` init container | | Workloads | StatefulSet (1 replica) plus an `init-static` init container |
| Storage | one RWO PVC mounted at `/opt/app/database`; three emptyDirs for the read-only root filesystem | | Storage | one RWO PVC mounted at `/opt/app/database`; three emptyDirs for the read-only root filesystem |
| Ingress | yes, `ingress.domain` required **always**, `ingress.clusterIssuer` while enabled | | Ingress | yes, `ingress.domain` required **always**, `ingress.clusterIssuer` while enabled |
+2 -2
@@ -4,8 +4,8 @@ Deploys [ytdlp_web_player](https://github.com/matszwe02/ytdlp_web_player), a web
| | | | | |
|---|---| |---|---|
| Chart version | `1.0.0+upv1.2.0` | | Image | `docker.io/matszwe02/ytdlp_web_player` |
| App version | `v1.2.0` (image `docker.io/matszwe02/ytdlp_web_player`) | | Versions | not listed on purpose — read the current pair off `ytdlp-web-player/Chart.yaml`, see [Chart index](Charts) |
| Workloads | Deployment (1 replica); plus the oauth2-proxy subchart's own when enabled | | Workloads | Deployment (1 replica); plus the oauth2-proxy subchart's own when enabled |
| Storage | none — two emptyDirs (`/data`, `/cache`) | | Storage | none — two emptyDirs (`/data`, `/cache`) |
| Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required **only while the Ingress is on** | | Ingress | yes, `ingress.domain` + `ingress.clusterIssuer` required **only while the Ingress is on** |
+2 -2
@@ -4,8 +4,8 @@ Deploys [Zipline](https://zipline.diced.sh/), a file- and image-sharing server,
| | | | | |
|---|---| |---|---|
| Chart version | `7.1.0+up4.7.0` | | Image | `ghcr.io/diced/zipline` |
| App version | `4.7.0` (image `ghcr.io/diced/zipline`) | | Versions | not listed on purpose — read the current pair off `zipline/Chart.yaml`, see [Chart index](Charts) |
| Workloads | StatefulSet (1 replica) | | Workloads | StatefulSet (1 replica) |
| Storage | one RWO PVC, three `subPath` mounts (`uploads`, `public`, `themes`) + `/tmp` emptyDir | | Storage | one RWO PVC, three `subPath` mounts (`uploads`, `public`, `themes`) + `/tmp` emptyDir |
| Ingress | yes; `ingress.domain` required **always**, `ingress.clusterIssuer` only while the Ingress is enabled | | Ingress | yes; `ingress.domain` required **always**, `ingress.clusterIssuer` only while the Ingress is enabled |