mirror of
https://github.com/shadoll/helm-charts.git
synced 2026-08-28 19:43:12 +00:00
feat(rflood): switch to jesec/rtorrent-flood to fix scheduler crash
hotio/rflood bundles rtorrent with a scheduler assertion bug that fires on torrent delete and shutdown. jesec/rtorrent-flood uses an actively maintained rtorrent fork with this fixed. Changes: - Image: hotio/rflood → jesec/rtorrent-flood:4.14.2 - webuiPort: 3000 → 3001 - Add ConfigMap for .rtorrent.rc (jesec requires explicit config) - Replace PUID/PGID env vars with pod securityContext (runAsUser/Group 1001) - Liveness probe: exec rtxmlrpc → httpGet on webui port - Remove TCP RPC port from service (jesec uses Unix socket) - Update version-source to dockerhub-tags-pattern for jesec tags Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+4
-4
@@ -1,8 +1,8 @@
|
|||||||
apiVersion: v2
|
apiVersion: v2
|
||||||
name: rflood
|
name: rflood
|
||||||
description: rTorrent + Flood (hotio/rflood) Helm chart
|
description: rTorrent + Flood (jesec/rtorrent-flood) Helm chart
|
||||||
type: application
|
type: application
|
||||||
version: 0.1.9
|
version: 0.2.0
|
||||||
appVersion: "release-51028c6"
|
appVersion: "4.14.2"
|
||||||
annotations:
|
annotations:
|
||||||
version-source: ghcr-tags-build:hotio/rflood:^release-[a-f0-9]+-[0-9]+-linux-amd64$
|
version-source: dockerhub-tags-pattern:jesec/rtorrent-flood:^[0-9]+\.[0-9]+\.[0-9]+$
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ .Release.Name }}-rtorrent-config
|
||||||
|
namespace: {{ .Release.Namespace }}
|
||||||
|
data:
|
||||||
|
rtorrent.rc: |
|
||||||
|
method.insert = cfg.basedir, private|const|string, (cat,(system.env,HOME),"/.local/share/rtorrent/")
|
||||||
|
session.path.set = (cat,(cfg.basedir),".session/")
|
||||||
|
directory.default.set = /data
|
||||||
|
network.scgi.open_local = (cat,(cfg.basedir),"rtorrent.sock")
|
||||||
|
network.port_range.set = {{ .Values.torrentPort }}-{{ .Values.torrentPort }}
|
||||||
|
network.port_random.set = no
|
||||||
|
network.max_open_files.set = 600
|
||||||
|
network.max_open_sockets.set = 300
|
||||||
@@ -21,6 +21,10 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
app: {{ .Release.Name }}
|
app: {{ .Release.Name }}
|
||||||
spec:
|
spec:
|
||||||
|
{{- with .Values.securityContext }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
{{- with .Values.nodeSelector }}
|
{{- with .Values.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
@@ -37,16 +41,16 @@ spec:
|
|||||||
- name: {{ .Chart.Name }}
|
- name: {{ .Chart.Name }}
|
||||||
image: "{{ .Values.image.repository }}:{{ .Chart.AppVersion }}"
|
image: "{{ .Values.image.repository }}:{{ .Chart.AppVersion }}"
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
{{- if .Values.env }}
|
||||||
env:
|
env:
|
||||||
{{- range $key, $value := .Values.env }}
|
{{- range $key, $value := .Values.env }}
|
||||||
- name: {{ $key }}
|
- name: {{ $key }}
|
||||||
value: {{ $value | quote }}
|
value: {{ $value | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
ports:
|
ports:
|
||||||
- containerPort: {{ .Values.webuiPort }}
|
- containerPort: {{ .Values.webuiPort }}
|
||||||
name: webui
|
name: webui
|
||||||
- containerPort: {{ .Values.rpcPort }}
|
|
||||||
name: rpc
|
|
||||||
- containerPort: {{ .Values.torrentPort }}
|
- containerPort: {{ .Values.torrentPort }}
|
||||||
name: torrent-tcp
|
name: torrent-tcp
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
@@ -57,18 +61,16 @@ spec:
|
|||||||
{{- toYaml .Values.resources | nindent 12 }}
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
{{- if .Values.livenessProbe.enabled }}
|
{{- if .Values.livenessProbe.enabled }}
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
exec:
|
{{- omit .Values.livenessProbe "enabled" | toYaml | nindent 12 }}
|
||||||
{{- toYaml .Values.livenessProbe.exec | nindent 14 }}
|
|
||||||
initialDelaySeconds: {{ .Values.livenessProbe.initialDelaySeconds }}
|
|
||||||
periodSeconds: {{ .Values.livenessProbe.periodSeconds }}
|
|
||||||
timeoutSeconds: {{ .Values.livenessProbe.timeoutSeconds }}
|
|
||||||
failureThreshold: {{ .Values.livenessProbe.failureThreshold }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: config
|
- name: config
|
||||||
mountPath: /config
|
mountPath: /config
|
||||||
- name: data
|
- name: data
|
||||||
mountPath: /data
|
mountPath: /data
|
||||||
|
- name: rtorrent-config
|
||||||
|
mountPath: /config/.rtorrent.rc
|
||||||
|
subPath: rtorrent.rc
|
||||||
volumes:
|
volumes:
|
||||||
- name: config
|
- name: config
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
@@ -77,3 +79,6 @@ spec:
|
|||||||
hostPath:
|
hostPath:
|
||||||
path: {{ .Values.volumes.data.hostPath }}
|
path: {{ .Values.volumes.data.hostPath }}
|
||||||
type: DirectoryOrCreate
|
type: DirectoryOrCreate
|
||||||
|
- name: rtorrent-config
|
||||||
|
configMap:
|
||||||
|
name: {{ .Release.Name }}-rtorrent-config
|
||||||
|
|||||||
@@ -20,13 +20,6 @@ spec:
|
|||||||
{{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.nodePorts.webui }}
|
{{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.nodePorts.webui }}
|
||||||
nodePort: {{ .Values.service.nodePorts.webui }}
|
nodePort: {{ .Values.service.nodePorts.webui }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
- name: rpc
|
|
||||||
port: {{ .Values.rpcPort }}
|
|
||||||
targetPort: {{ .Values.rpcPort }}
|
|
||||||
protocol: TCP
|
|
||||||
{{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.nodePorts.rpc }}
|
|
||||||
nodePort: {{ .Values.service.nodePorts.rpc }}
|
|
||||||
{{- end }}
|
|
||||||
- name: torrent-tcp
|
- name: torrent-tcp
|
||||||
port: {{ .Values.torrentPort }}
|
port: {{ .Values.torrentPort }}
|
||||||
targetPort: {{ .Values.torrentPort }}
|
targetPort: {{ .Values.torrentPort }}
|
||||||
|
|||||||
+13
-17
@@ -1,10 +1,9 @@
|
|||||||
# Default values for rflood Helm Chart (hotio/rflood)
|
# Default values for rflood Helm Chart (jesec/rtorrent-flood)
|
||||||
image:
|
image:
|
||||||
repository: ghcr.io/hotio/rflood
|
repository: jesec/rtorrent-flood
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
|
|
||||||
webuiPort: 3000
|
webuiPort: 3001
|
||||||
rpcPort: 5000
|
|
||||||
torrentPort: 50000
|
torrentPort: 50000
|
||||||
|
|
||||||
service:
|
service:
|
||||||
@@ -12,16 +11,15 @@ service:
|
|||||||
externalTrafficPolicy: ""
|
externalTrafficPolicy: ""
|
||||||
nodePorts:
|
nodePorts:
|
||||||
webui: null
|
webui: null
|
||||||
rpc: null
|
|
||||||
torrentTcp: null
|
torrentTcp: null
|
||||||
torrentUdp: null
|
torrentUdp: null
|
||||||
|
|
||||||
env:
|
securityContext:
|
||||||
PUID: "1001"
|
runAsUser: 1001
|
||||||
PGID: "1001"
|
runAsGroup: 1001
|
||||||
UMASK: "002"
|
fsGroup: 1001
|
||||||
TZ: "Europe/Kyiv"
|
|
||||||
FLOOD_AUTH: "false"
|
env: {}
|
||||||
|
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
@@ -33,14 +31,12 @@ resources:
|
|||||||
|
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
enabled: true
|
enabled: true
|
||||||
exec:
|
httpGet:
|
||||||
command:
|
path: /
|
||||||
- /bin/sh
|
port: 3001
|
||||||
- -c
|
|
||||||
- "timeout 10 rtxmlrpc system.time_seconds > /dev/null 2>&1"
|
|
||||||
initialDelaySeconds: 60
|
initialDelaySeconds: 60
|
||||||
periodSeconds: 30
|
periodSeconds: 30
|
||||||
timeoutSeconds: 15
|
timeoutSeconds: 10
|
||||||
failureThreshold: 3
|
failureThreshold: 3
|
||||||
|
|
||||||
persistence:
|
persistence:
|
||||||
|
|||||||
Reference in New Issue
Block a user