apiVersion: apps/v1 kind: Deployment metadata: name: transmission spec: selector: matchLabels: app: transmission template: metadata: labels: app: transmission spec: containers: - name: transmission image: transmission resources: limits: memory: "128Mi" cpu: "500m" ports: - containerPort: 9091 env: - name: OPENVPN_PROVIDER value: PROTONVPN - name: LOCAL_NETWORK value: 10.42.0.0/16 - name: OPENVPN_CONFIG valueFrom: secretKeyRef: name: protonvpn key: country - name: OPENVPN_USERNAME valueFrom: secretKeyRef: name: protonvpn key: username - name: OPENVPN_PASSWORD valueFrom: secretKeyRef: name: protonvpn key: password volumeMounts: - name: media mountPath: /data - name: config mountPath: /config securityContext: capabilities: add: ["NET_ADMIN"] volumes: - name: media persistentVolumeClaim: claimName: media-downloads - name: config persistentVolumeClaim: claimName: transmission-config --- apiVersion: v1 kind: Service metadata: name: transmission spec: selector: app: transmission ports: - protocol: TCP port: 9091 targetPort: 9091 type: ClusterIP --- apiVersion: v1 kind: Secret metadata: name: protonvpn type: Opaque stringData: country: at.protonvpn.udp,fr.protonvpn.udp,pl.protonvpn.udp,ch.protonvpn.udp username: VOYkNuZs5PHjeB8w password: WvKCOPijcXKOqcL5d7zjXzOPToS4zPid