[transmission] use string config and showoff initContainer (#813)

This commit is contained in:
ᗪєνιη ᗷυнʟ 2021-04-22 12:36:00 -04:00 committed by GitHub
parent 4d2332b8ca
commit 6c5afb5550
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 151 additions and 180 deletions

View File

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

View File

@ -1,6 +1,6 @@
# transmission
![Version: 4.0.0](https://img.shields.io/badge/Version-4.0.0-informational?style=flat-square) ![AppVersion: v3.00](https://img.shields.io/badge/AppVersion-v3.00-informational?style=flat-square)
![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)
Transmission is a cross-platform BitTorrent client
@ -76,6 +76,7 @@ N/A
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| config | string | string | Transmission's settings.json configuration |
| env | object | `{}` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"ghcr.io/k8s-at-home/transmission"` | |
@ -92,93 +93,9 @@ N/A
| persistence.watch.mountPath | string | `"/watch"` | |
| probes.liveness.spec.timeoutSeconds | int | `30` | |
| probes.readiness.spec.timeoutSeconds | int | `30` | |
| service.additionalServices[0].annotations | object | `{}` | |
| service.additionalServices[0].enabled | bool | `true` | |
| service.additionalServices[0].nameSuffix | string | `"utptcp"` | |
| service.additionalServices[0].port.name | string | `"utptcp"` | |
| service.additionalServices[0].port.port | int | `51413` | |
| service.additionalServices[0].port.protocol | string | `"TCP"` | |
| service.additionalServices[0].port.targetport | int | `51413` | |
| service.additionalServices[0].type | string | `"ClusterIP"` | |
| service.additionalServices[1].annotations | object | `{}` | |
| service.additionalServices[1].enabled | bool | `true` | |
| service.additionalServices[1].nameSuffix | string | `"utpudp"` | |
| service.additionalServices[1].port.name | string | `"utpudp"` | |
| service.additionalServices[1].port.port | int | `51413` | |
| service.additionalServices[1].port.protocol | string | `"UDP"` | |
| service.additionalServices[1].port.targetport | int | `51413` | |
| service.additionalServices[1].type | string | `"ClusterIP"` | |
| service.port.name | string | `"http"` | |
| service.port.port | int | `9091` | |
| strategy.type | string | `"Recreate"` | |
| transmissionConfig.alt-speed-down | int | `50` | |
| transmissionConfig.alt-speed-enabled | bool | `false` | |
| transmissionConfig.alt-speed-time-begin | int | `540` | |
| transmissionConfig.alt-speed-time-day | int | `127` | |
| transmissionConfig.alt-speed-time-enabled | bool | `false` | |
| transmissionConfig.alt-speed-time-end | int | `1020` | |
| transmissionConfig.alt-speed-up | int | `50` | |
| transmissionConfig.bind-address-ipv4 | string | `"0.0.0.0"` | |
| transmissionConfig.bind-address-ipv6 | string | `"::\""` | |
| transmissionConfig.blocklist-enabled | bool | `true` | |
| transmissionConfig.blocklist-url | string | `"http://john.bitsurge.net/public/biglist.p2p.gz"` | |
| transmissionConfig.cache-size-mb | int | `4` | |
| transmissionConfig.dht-enabled | bool | `true` | |
| transmissionConfig.download-dir | string | `"/downloads/complete"` | |
| transmissionConfig.download-queue-enabled | bool | `true` | |
| transmissionConfig.download-queue-size | int | `5` | |
| transmissionConfig.encryption | int | `1` | |
| transmissionConfig.idle-seeding-limit | int | `30` | |
| transmissionConfig.idle-seeding-limit-enabled | bool | `false` | |
| transmissionConfig.incomplete-dir | string | `"/downloads/incomplete"` | |
| transmissionConfig.incomplete-dir-enabled | bool | `true` | |
| transmissionConfig.lpd-enabled | bool | `false` | |
| transmissionConfig.message-level | int | `2` | |
| transmissionConfig.peer-congestion-algorithm | string | `""` | |
| transmissionConfig.peer-id-ttl-hours | int | `6` | |
| transmissionConfig.peer-limit-global | int | `200` | |
| transmissionConfig.peer-limit-per-torrent | int | `50` | |
| transmissionConfig.peer-port | int | `51413` | |
| transmissionConfig.peer-port-random-high | int | `65535` | |
| transmissionConfig.peer-port-random-low | int | `49152` | |
| transmissionConfig.peer-port-random-on-start | bool | `false` | |
| transmissionConfig.peer-socket-tos | string | `"default"` | |
| transmissionConfig.pex-enabled | bool | `true` | |
| transmissionConfig.port-forwarding-enabled | bool | `false` | |
| transmissionConfig.preallocation | int | `1` | |
| transmissionConfig.prefetch-enabled | bool | `true` | |
| transmissionConfig.queue-stalled-enabled | bool | `true` | |
| transmissionConfig.queue-stalled-minutes | int | `30` | |
| transmissionConfig.ratio-limit | int | `2` | |
| transmissionConfig.ratio-limit-enabled | bool | `false` | |
| transmissionConfig.rename-partial-files | bool | `true` | |
| transmissionConfig.rpc-authentication-required | bool | `false` | |
| transmissionConfig.rpc-bind-address | string | `"0.0.0.0"` | |
| transmissionConfig.rpc-enabled | bool | `true` | |
| transmissionConfig.rpc-host-whitelist | string | `""` | |
| transmissionConfig.rpc-host-whitelist-enabled | bool | `false` | |
| transmissionConfig.rpc-password | string | `"CHANGEME"` | |
| transmissionConfig.rpc-port | int | `9091` | |
| transmissionConfig.rpc-url | string | `"/transmission/"` | |
| transmissionConfig.rpc-username | string | `""` | |
| transmissionConfig.rpc-whitelist | string | `""` | |
| transmissionConfig.rpc-whitelist-enabled | bool | `false` | |
| transmissionConfig.scrape-paused-torrents-enabled | bool | `true` | |
| transmissionConfig.script-torrent-done-enabled | bool | `false` | |
| transmissionConfig.script-torrent-done-filename | string | `""` | |
| transmissionConfig.seed-queue-enabled | bool | `false` | |
| transmissionConfig.seed-queue-size | int | `10` | |
| transmissionConfig.speed-limit-down | int | `100` | |
| transmissionConfig.speed-limit-down-enabled | bool | `false` | |
| transmissionConfig.speed-limit-up | int | `100` | |
| transmissionConfig.speed-limit-up-enabled | bool | `false` | |
| transmissionConfig.start-added-torrents | bool | `true` | |
| transmissionConfig.trash-original-torrent-files | bool | `false` | |
| transmissionConfig.umask | int | `2` | |
| transmissionConfig.upload-slots-per-torrent | int | `14` | |
| transmissionConfig.utp-enabled | bool | `true` | |
| transmissionConfig.watch-dir | string | `"/watch"` | |
| transmissionConfig.watch-dir-enabled | bool | `false` | |
## Changelog
@ -186,6 +103,16 @@ 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).
### [5.0.0]
#### Added
- Example initContainer to showcase adding a custom web ui
#### Changed
- **Breaking**: `transmissionConfig` became `config` and is now a string not a object
### [4.0.0]
#### Changed
@ -204,6 +131,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Initial commit
[5.0.0]: #5.0.0
[4.0.0]: #4.0.0
[1.0.0]: #1.0.0

View File

@ -9,6 +9,16 @@ 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).
### [5.0.0]
#### Added
- Example initContainer to showcase adding a custom web ui
#### Changed
- **Breaking**: `transmissionConfig` became `config` and is now a string not an object
### [4.0.0]
#### Changed
@ -27,6 +37,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
- Initial commit
[5.0.0]: #5.0.0
[4.0.0]: #4.0.0
[1.0.0]: #1.0.0
{{- end -}}

View File

@ -0,0 +1,18 @@
initContainers:
- name: custom-webui
image: curlimages/curl:7.76.1
command:
- "/bin/sh"
- "-c"
- "curl -fsSL -o /tmp/flood-for-transmission.tar.gz https://github.com/johman10/flood-for-transmission/releases/download/latest/flood-for-transmission.tar.gz"
- "mkdir -p /config/flood"
- "tar xf /tmp/flood-for-transmission.tar.gz --strip-components 1 -C /config/flood"
volumeMounts:
- name: config
mountPath: /config
persistence:
config:
enabled: true
emptyDir:
enabled: true

View File

@ -6,4 +6,4 @@ metadata:
{{- include "common.labels" . | nindent 4 }}
data:
settings.json: |
{{- .Values.transmissionConfig | mustToPrettyJson | nindent 4 }}
{{- .Values.config | nindent 4 }}

View File

@ -5,6 +5,20 @@
# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml
#
# # Use an initContainer to download a custom web ui
# initContainers:
# - name: custom-webui
# image: curlimages/curl:7.76.1
# command:
# - "/bin/sh"
# - "-c"
# - "curl -fsSL -o /tmp/flood-for-transmission.tar.gz https://github.com/johman10/flood-for-transmission/releases/download/latest/flood-for-transmission.tar.gz"
# - "mkdir -p /config/flood"
# - "tar xf /tmp/flood-for-transmission.tar.gz --strip-components 1 -C /config/flood"
# volumeMounts:
# - name: config
# mountPath: /config
image:
repository: ghcr.io/k8s-at-home/transmission
pullPolicy: IfNotPresent
@ -13,37 +27,33 @@ image:
strategy:
type: Recreate
# See more environment variables in the transmission documentation
# https://hub.docker.com/r/linuxserver/transmission
env: {}
# PUID: 1000
# PGID: 1000
# TZ: UTC
# TRANSMISSION_WEB_HOME: /config/flood
service:
port:
port: 9091
name: http
additionalServices:
- enabled: true
nameSuffix: utptcp
type: ClusterIP
annotations: {}
port:
port: 51413
name: utptcp
protocol: TCP
targetport: 51413
- enabled: true
nameSuffix: utpudp
type: ClusterIP
annotations: {}
port:
port: 51413
name: utpudp
protocol: UDP
targetport: 51413
# additionalServices:
# - enabled: true
# nameSuffix: utptcp
# type: ClusterIP
# annotations: {}
# port:
# port: 51413
# name: utptcp
# protocol: TCP
# targetport: 51413
# - enabled: true
# nameSuffix: utpudp
# type: ClusterIP
# annotations: {}
# port:
# port: 51413
# name: utpudp
# protocol: UDP
# targetport: 51413
## transmission runs the gui and io on the same thread - heavy bandwith usage
## may stall the UI and result in restarts.
@ -102,72 +112,76 @@ persistence:
enabled: false
mountPath: /watch
transmissionConfig:
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
# -- 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
}