apiVersion: v1 kind: ConfigMap metadata: name: {{ template "common.names.fullname" . }}-scripts labels: {{- include "common.labels" . | nindent 4 }} data: {{- /* Determine if the bittorrent port is set somewhere */ -}} {{- $bittorrentPort := "" -}} {{- range $extraServices := .Values.service.additionalServices }} {{- if and .enabled (eq "bittorrent" .nameSuffix) -}} {{- $bittorrentPort = .port.port -}} {{- end }} {{- end }} {{- if $bittorrentPort }} 31-update-port: |- #!/bin/bash QBITTORRENT_CONFIGFILE="/config/qBittorrent/qBittorrent.conf" INCOMING_PORT={{- $bittorrentPort }} incoming_port_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin='${INCOMING_PORT}) if [[ -z "${incoming_port_exist}" ]]; then incoming_exist=$(cat ${QBITTORRENT_CONFIGFILE} | grep -m 1 'Connection\\PortRangeMin') if [[ ! -z "${incoming_exist}" ]]; then # Get line number of Incoming LINE_NUM=$(grep -Fn -m 1 'Connection\PortRangeMin' ${QBITTORRENT_CONFIGFILE} | cut -d: -f 1) sed -i "${LINE_NUM}s@.*@Connection\\\PortRangeMin=${INCOMING_PORT}@" ${QBITTORRENT_CONFIGFILE} else echo "Connection\\PortRangeMin=${INCOMING_PORT}" >> ${QBITTORRENT_CONFIGFILE} fi fi {{- end }}