[transmission] use env config (#830)

* feat: use env config

* fix: update common yaml to remove configmap
This commit is contained in:
ᗪєνιη ᗷυнʟ 2021-04-25 15:14:18 -04:00 committed by GitHub
parent c2a547db04
commit c89748678f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 47 additions and 134 deletions

View File

@ -2,7 +2,7 @@ apiVersion: v2
appVersion: v3.00 appVersion: v3.00
description: Transmission is a cross-platform BitTorrent client description: Transmission is a cross-platform BitTorrent client
name: transmission name: transmission
version: 5.0.0 version: 6.0.0
kubeVersion: ">=1.16.0-0" kubeVersion: ">=1.16.0-0"
keywords: keywords:
- transmission - transmission

View File

@ -1,6 +1,6 @@
# transmission # transmission
![Version: 5.0.0](https://img.shields.io/badge/Version-5.0.0-informational?style=flat-square) ![AppVersion: v3.00](https://img.shields.io/badge/AppVersion-v3.00-informational?style=flat-square) ![Version: 6.0.0](https://img.shields.io/badge/Version-6.0.0-informational?style=flat-square) ![AppVersion: v3.00](https://img.shields.io/badge/AppVersion-v3.00-informational?style=flat-square)
Transmission is a cross-platform BitTorrent client Transmission is a cross-platform BitTorrent client
@ -68,7 +68,7 @@ helm install transmission k8s-at-home/transmission -f values.yaml
## Custom configuration ## Custom configuration
N/A To view more environment variables [see here](https://github.com/k8s-at-home/container-images/tree/main/apps/transmission/settings.json.tmpl)
## Values ## Values
@ -76,8 +76,14 @@ N/A
| Key | Type | Default | Description | | Key | Type | Default | Description |
|-----|------|---------|-------------| |-----|------|---------|-------------|
| config | string | string | Transmission's settings.json configuration | | env.TRANSMISSION_DOWNLOAD_DIR | string | `"/downloads/complete"` | Torrent download directory |
| env | object | `{}` | | | env.TRANSMISSION_INCOMPLETE_DIR | string | `"/downloads/incomplete"` | Incomplete download directory |
| env.TRANSMISSION_INCOMPLETE_DIR_ENABLED | bool | `false` | Enable incomplete download directory |
| env.TRANSMISSION_RPC_PASSWORD | string | `"CHANGEME"` | Password to access the Web UI |
| env.TRANSMISSION_WATCH_DIR | string | `"/watch"` | Watch directory |
| env.TRANSMISSION_WATCH_DIR_ENABLED | bool | `false` | Enable watch directory |
| env.TRANSMISSION_WEB_HOME | string | `"/web"` | Path in container where the Web UI is located |
| env.TZ | string | `"UTC"` | Container timezone |
| image.pullPolicy | string | `"IfNotPresent"` | | | image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"ghcr.io/k8s-at-home/transmission"` | | | image.repository | string | `"ghcr.io/k8s-at-home/transmission"` | |
| image.tag | string | `"v3.00"` | | | image.tag | string | `"v3.00"` | |
@ -103,6 +109,12 @@ All notable changes to this application Helm chart will be documented in this fi
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [6.0.0]
#### Changed
- **Breaking**: `.Values.config` is deprecated in favor of using environment variables for configuration. See [here](https://github.com/k8s-at-home/container-images/tree/main/apps/transmission/settings.json.tmpl) for more options.
### [5.0.0] ### [5.0.0]
#### Added #### Added
@ -111,7 +123,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
#### Changed #### Changed
- **Breaking**: `transmissionConfig` became `config` and is now a string not a object - **Breaking**: `transmissionConfig` became `config` and is now a string not an object
### [4.0.0] ### [4.0.0]
@ -131,6 +143,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Initial commit - Initial commit
[6.0.0]: #6.0.0
[5.0.0]: #5.0.0 [5.0.0]: #5.0.0
[4.0.0]: #4.0.0 [4.0.0]: #4.0.0
[1.0.0]: #1.0.0 [1.0.0]: #1.0.0

View File

@ -9,6 +9,12 @@ All notable changes to this application Helm chart will be documented in this fi
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
### [6.0.0]
#### Changed
- **Breaking**: `.Values.config` is deprecated in favor of using environment variables for configuration. See [here](https://github.com/k8s-at-home/container-images/tree/main/apps/transmission/settings.json.tmpl) for more options.
### [5.0.0] ### [5.0.0]
#### Added #### Added
@ -37,6 +43,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Initial commit - Initial commit
[6.0.0]: #6.0.0
[5.0.0]: #5.0.0 [5.0.0]: #5.0.0
[4.0.0]: #4.0.0 [4.0.0]: #4.0.0
[1.0.0]: #1.0.0 [1.0.0]: #1.0.0

View File

@ -5,5 +5,5 @@
{{- define "custom.custom.configuration" -}} {{- define "custom.custom.configuration" -}}
{{ template "custom.custom.configuration.header" . }} {{ template "custom.custom.configuration.header" . }}
N/A To view more environment variables [see here](https://github.com/k8s-at-home/container-images/tree/main/apps/transmission/settings.json.tmpl)
{{- end -}} {{- end -}}

View File

@ -1,31 +1 @@
{{/* Make sure all variables are set properly */}}
{{- include "common.values.setup" . }}
{{/* Append the configMap to the additionalVolumes */}}
{{- define "transmission.configmap.volume" -}}
name: transmission-settings
configMap:
name: {{ template "common.names.fullname" . }}-config
{{- end -}}
{{- $volume := include "transmission.configmap.volume" . | fromYaml -}}
{{- if $volume -}}
{{- $additionalVolumes := append .Values.additionalVolumes $volume }}
{{- $_ := set .Values "additionalVolumes" (deepCopy $additionalVolumes) -}}
{{- end -}}
{{/* Append the configMap volume to the additionalVolumeMounts */}}
{{- define "transmission.configmap.volumeMount" -}}
name: transmission-settings
mountPath: /config/settings.json
subPath: settings.json
{{- end -}}
{{- $volumeMount := include "transmission.configmap.volumeMount" . | fromYaml -}}
{{- if $volumeMount -}}
{{- $additionalVolumeMounts := append .Values.additionalVolumeMounts $volumeMount }}
{{- $_ := set .Values "additionalVolumeMounts" (deepCopy $additionalVolumeMounts) -}}
{{- end -}}
{{/* Render the templates */}}
{{ include "common.all" . }} {{ include "common.all" . }}

View File

@ -1,9 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ template "common.names.fullname" . }}-config
labels:
{{- include "common.labels" . | nindent 4 }}
data:
settings.json: |
{{- .Values.config | nindent 4 }}

View File

@ -27,9 +27,26 @@ image:
strategy: strategy:
type: Recreate type: Recreate
env: {} # To view more enviornment variables see here:
# TZ: UTC # https://github.com/k8s-at-home/container-images/tree/main/apps/transmission/settings.json.tmpl
# TRANSMISSION_WEB_HOME: /config/flood env:
# -- Container timezone
TZ: UTC
# -- Path in container where the Web UI is located
TRANSMISSION_WEB_HOME: /web
# -- Password to access the Web UI
TRANSMISSION_RPC_PASSWORD: CHANGEME
# -- Torrent download directory
TRANSMISSION_DOWNLOAD_DIR: /downloads/complete
# -- Enable incomplete download directory
TRANSMISSION_INCOMPLETE_DIR_ENABLED: false
# -- Incomplete download directory
TRANSMISSION_INCOMPLETE_DIR: /downloads/incomplete
# -- Enable watch directory
TRANSMISSION_WATCH_DIR_ENABLED: false
# -- Watch directory
TRANSMISSION_WATCH_DIR: /watch
service: service:
port: port:
@ -65,19 +82,8 @@ probes:
spec: spec:
timeoutSeconds: 30 timeoutSeconds: 30
ingress: ingress:
enabled: false enabled: false
# annotations: {}
# hosts:
# - host: example.com
# paths:
# - path: /
# pathType: Prefix
# tls:
# - secretName: example.com
# hosts:
# - example.com
persistence: persistence:
## Directory for storing active torrent files, resume list, ## Directory for storing active torrent files, resume list,
@ -111,77 +117,3 @@ persistence:
emptyDir: emptyDir:
enabled: false enabled: false
mountPath: /watch mountPath: /watch
# -- Transmission's settings.json configuration
# @default -- string
config: |
{
"alt-speed-down": 50,
"alt-speed-enabled": false,
"alt-speed-time-begin": 540,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": false,
"alt-speed-time-end": 1020,
"alt-speed-up": 50,
"bind-address-ipv4": "0.0.0.0",
"bind-address-ipv6": "::",
"blocklist-enabled": true,
"blocklist-url": "http://john.bitsurge.net/public/biglist.p2p.gz",
"cache-size-mb": 4,
"dht-enabled": true,
"download-dir": "/downloads/complete",
"download-queue-enabled": true,
"download-queue-size": 5,
"encryption": 1,
"idle-seeding-limit": 30,
"idle-seeding-limit-enabled": false,
"incomplete-dir": "/downloads/incomplete",
"incomplete-dir-enabled": true,
"lpd-enabled": false,
"message-level": 2,
"peer-congestion-algorithm": "",
"peer-id-ttl-hours": 6,
"peer-limit-global": 200,
"peer-limit-per-torrent": 50,
"peer-port": 51413,
"peer-port-random-high": 65535,
"peer-port-random-low": 49152,
"peer-port-random-on-start": false,
"peer-socket-tos": "default",
"pex-enabled": true,
"port-forwarding-enabled": false,
"preallocation": 1,
"prefetch-enabled": true,
"queue-stalled-enabled": true,
"queue-stalled-minutes": 30,
"ratio-limit": 2,
"ratio-limit-enabled": false,
"rename-partial-files": true,
"rpc-authentication-required": false,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-host-whitelist": "",
"rpc-host-whitelist-enabled": false,
"rpc-password": "CHANGEME",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "",
"rpc-whitelist": "",
"rpc-whitelist-enabled": false,
"scrape-paused-torrents-enabled": true,
"script-torrent-done-enabled": false,
"script-torrent-done-filename": "",
"seed-queue-enabled": false,
"seed-queue-size": 10,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"start-added-torrents": true,
"trash-original-torrent-files": false,
"umask": 2,
"upload-slots-per-torrent": 14,
"utp-enabled": true,
"watch-dir": "/watch",
"watch-dir-enabled": false
}