bittorrent-benchmarks/k8s/charts/deluge/templates/deluge-statefulset.yaml

66 lines
2.3 KiB
YAML
Raw Normal View History

apiVersion: apps/v1
kind: StatefulSet
metadata:
name: deluge-nodes-{{ include "experiment.fullId" . }}
namespace: {{ .Release.Namespace }}
spec:
replicas: {{ .Values.experiment.networkSize }}
serviceName: deluge-nodes-service-{{ include "experiment.fullId" . }}
podManagementPolicy: Parallel
selector:
matchLabels:
app.kubernetes.io/component: deluge-node
{{- include "deluge-benchmarks.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
app.kubernetes.io/component: deluge-node
{{- include "deluge-benchmarks.labels" . | nindent 8 }}
spec:
containers:
- name: deluge-node
image: codexstorage/deluge
imagePullPolicy: Always
ports:
- containerPort: 6890
env:
- name: EXPERIMENT_GROUP_ID
value: {{ include "experiment.groupId" . }}
- name: CLIENT_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: DELUGE_RPC_PORT
value: "6890"
- name: DELUGE_LISTEN_PORTS
value: "6891,6892"
- name: DELUGE_LOG_LEVEL
value: "info"
command: [ "/bin/bash", "--login", "-c" ]
args:
- |
export DELUGE_NODE_ID=${CLIENT_POD_NAME}-${EXPERIMENT_GROUP_ID}
2024-12-06 15:42:56 -03:00
# Sadly we can't mount a subpath, so need add the correct prefix
# into all of the config directories.
export DELUGE_CONFIG_DIR=/var/lib/deluge/${CLIENT_POD_NAME}
2024-12-06 15:42:56 -03:00
export DELUGE_DOWNLOAD_DIR=${DELUGE_CONFIG_DIR}/downloads
export DELUGE_TORRENTFILE_DIR=${DELUGE_CONFIG_DIR}/downloads
export DELUGE_PLUGINS_DIR=${DELUGE_CONFIG_DIR}/plugins
# Makes sure there's no previous garbage in there.
rm -rf ${DELUGE_CONFIG_DIR}
mkdir -p ${DELUGE_CONFIG_DIR}
${DELUGE_APP}/docker/bin/start.sh
volumeMounts:
- name: deluge-{{ .Release.Name }}-volume
mountPath: /var/lib/deluge
volumes:
- name: deluge-{{ .Release.Name }}-volume
persistentVolumeClaim:
claimName: {{ include "deluge.pvc" . }}