apiVersion: apps/v1 kind: StatefulSet metadata: name: deluge-nodes namespace: codex-benchmarks spec: replicas: 10 serviceName: deluge-service podManagementPolicy: Parallel selector: matchLabels: app: deluge-nodes template: metadata: labels: app: deluge-nodes spec: containers: - name: deluge image: codexstorage/deluge imagePullPolicy: Always ports: - containerPort: 6890 env: - 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} # 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} 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-volume mountPath: /var/lib/deluge volumes: - name: deluge-volume persistentVolumeClaim: claimName: deluge-pvc