Adds a second, optional ingress shape and fixes the download target of qBittorrent. The existing per-app-host shape stays the default and renders unchanged. Shared domain (#167) Setting ingress.host moves every app without a host of its own into one Ingress object with one path each (<app>.ingress.path, default /<app>), one TLS secret and therefore one DNS name and one certificate for the whole stack. A per-app host always wins and keeps its own object, so mixed operation needs no extra values. The apps differ in what they can do under a sub-path, and the chart follows that rather than pretending they are alike: - radarr, sonarr, prowlarr get <APP>__SERVER__URLBASE from the chart, but only when their own env block does not already carry the variable. - bazarr has no environment variable for its base path and stays one documented manual step (Settings -> General -> Base URL). - qbittorrent has no base path at all and renders a second object on the same host with a prefix-stripping rewrite. It repeats the same TLS secret name and deliberately omits the cert-manager annotation, so both objects state their own TLS while only one certificate is requested. - seerr has no base path either and cannot be rewritten, so it is pinned to "/" and a fail refuses any other path. A second fail refuses two apps claiming the same path. qBittorrent save path (#166) Without Session\DefaultSavePath qBittorrent writes to its built-in default /config/Downloads - the 1Gi config volume. It fills within minutes, every torrent goes to "errored" and qBittorrent can no longer write its own metadata to BT_backup, so a restart in that state costs the torrent list. The init container (renamed qbittorrent-config-interface -> qbittorrent-config-seed, since it no longer only sets the interface) now seeds qbittorrent.savePath, default /downloads. Unlike the interface binding it is inserted ONLY when the key is absent and never replaced: a path changed in the WebUI is a legitimate operator decision and must survive a restart. This is the reason for the major bump: an installation that never set the path writes somewhere else after the upgrade. Documentation NOTES.txt and the media block in values.yaml now spell out why a shared claim with three subPaths does not produce hardlinks: the kernel compares the vfsmount in do_linkat, not the superblock, so two bind mounts of one filesystem are EXDEV - while stat reports the same device number on both sides and suggests the opposite. The layout that would work (one claim, one mount, categories as sub-directories) is named as a possibility; the chart cannot express it today. README.md gains the shared domain as the second admissible ingress shape of the style guideline.
25 lines
1.2 KiB
YAML
25 lines
1.2 KiB
YAML
apiVersion: v2
|
|
name: freesailarr
|
|
description: A Helm chart to deploy a Wireguard-tunneled media automation stack on Kubernetes - a VPN gateway with indexer, downloader, library managers, subtitle fetcher and request front end in one pod, all reaching the internet only through the tunnel
|
|
# No icon on purpose: the stack has no single upstream, and every other chart's
|
|
# icon is its one project's logo. Picking any of the nine here would suggest
|
|
# the same false "main app" the versioning deliberately avoids. The field is
|
|
# optional, so it is omitted rather than filled with an arbitrary choice.
|
|
|
|
type: application
|
|
|
|
version: 3.0.0+up1.0.0
|
|
# The chart's own version marker, freely chosen and tied to no upstream. The
|
|
# stack bundles nine independently versioned projects, so there is no single
|
|
# "app version" to track here.
|
|
#
|
|
# It is NOT the source of any image tag: all nine images are pinned in
|
|
# values.yaml, where Renovate's helm-values manager proposes them. Nothing
|
|
# rewrites this field automatically - the chart has no app-version block in
|
|
# renovate.json5 and is not in the change-app-version.yml choice list. Raise it
|
|
# by hand when you want to mark a new edition of the chart as a whole.
|
|
appVersion: "1.0.0"
|
|
|
|
maintainers:
|
|
- name: jklein
|