| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209 | ---apiVersion: v1kind: Secretmetadata:  name: pia-authdata:  username: cDk1MDkyMDU=  password: N2lrSjhrc0ozSw==---kind: DeploymentapiVersion: apps/v1metadata:  name: transmission  labels:    app: transmissionspec:  replicas: 1  selector:    matchLabels:      app: transmission  template:    metadata:      labels:        app: transmission    spec:      containers:      - name: transmission        image: haugene/transmission-openvpn        securityContext:          capabilities:            add:              - NET_ADMIN        env:        - name: LOCAL_NETWORK          value: 10.42.0.0/16        - name: PUID          value: "1000"        - name: PGID          value: "1000"        - name: OPENVPN_PROVIDER          value: PIA        - name: TRANSMISSION_DOWNLOAD_DIR          value: "/downloads/transmission"        - name: OPENVPN_USERNAME          valueFrom:            secretKeyRef:              name: pia-auth              key: username        - name: OPENVPN_PASSWORD          valueFrom:            secretKeyRef:              name: pia-auth              key: password        ports:        - name: web          containerPort: 9091        volumeMounts:        - name: media-volume          mountPath: "/downloads/transmission"          subPath: "downloads/transmission"        - name: "transmission-settings-json"          mountPath: "/config/transmission-home/settings.json"          subPath: "settings.json"      volumes:      - name: media-volume        persistentVolumeClaim:          claimName: media-pvc      - name: "transmission-settings-json"        configMap:          name:  "transmission-settings-json"---apiVersion: v1kind: Servicemetadata:  name: transmissionspec:  type: ClusterIP  ports:    - name: web      port: 9091      targetPort: 9091  selector:    app: transmission---apiVersion: traefik.containo.us/v1alpha1kind: IngressRoutemetadata:  name: transmission-ingress-route  namespace: defaultspec:  entryPoints:    - web  routes:  - match: Host(`transmission.dezendorf.net`)    kind: Rule    middlewares:    - name: redirecthttps    services:    - name: transmission      port: 9091---apiVersion: traefik.containo.us/v1alpha1kind: IngressRoutemetadata:  name: transmission-websecure-route  namespace: defaultspec:  entryPoints:    - websecure  routes:  - match: Host(`transmission.dezendorf.net`)    kind: Rule    services:    - name: transmission      port: 9091  tls:    certResolver: myresolver---apiVersion: v1kind: ConfigMapmetadata:  name: transmission-settings-json  namespace: defaultdata:  settings.json: |    {        "alt-speed-down": 50,        "alt-speed-enabled": false,        "alt-speed-time-begin": 540,        "alt-speed-time-day": 127,        "alt-speed-time-enabled": false,        "alt-speed-time-end": 1020,        "alt-speed-up": 50,        "announce-ip": "",        "announce-ip-enabled": false,        "anti-brute-force-enabled": false,        "anti-brute-force-threshold": 100,        "bind-address-ipv4": "10.9.112.109",        "bind-address-ipv6": "::",        "blocklist-enabled": false,        "blocklist-url": "http://www.example.com/blocklist",        "cache-size-mb": 4,        "default-trackers": "",        "dht-enabled": true,        "download-dir": "/downloads/transmission",        "download-queue-enabled": true,        "download-queue-size": 5,        "encryption": 1,        "idle-seeding-limit": 30,        "idle-seeding-limit-enabled": false,        "incomplete-dir": "/data/incomplete",        "incomplete-dir-enabled": true,        "lpd-enabled": false,        "message-level": 2,        "peer-congestion-algorithm": "",        "peer-id-ttl-hours": 6,        "peer-limit-global": 240,        "peer-limit-per-torrent": 60,        "peer-port": 51413,        "peer-port-random-high": 65535,        "peer-port-random-low": 49152,        "peer-port-random-on-start": false,        "peer-socket-tos": "le",        "pex-enabled": true,        "port-forwarding-enabled": false,        "preallocation": 1,        "prefetch-enabled": true,        "queue-stalled-enabled": true,        "queue-stalled-minutes": 30,        "ratio-limit": 2,        "ratio-limit-enabled": false,        "rename-partial-files": true,        "rpc-authentication-required": false,        "rpc-bind-address": "0.0.0.0",        "rpc-enabled": true,        "rpc-host-whitelist": "",        "rpc-host-whitelist-enabled": false,        "rpc-password": "{932ba2846f4c1b58f4ebab3870e6209c2648d924t3CWARdo",        "rpc-port": 9091,        "rpc-socket-mode": "0750",        "rpc-url": "/transmission/",        "rpc-username": "",        "rpc-whitelist": "127.0.0.1,::1",        "rpc-whitelist-enabled": false,        "scrape-paused-torrents-enabled": true,        "script-torrent-added-enabled": false,        "script-torrent-added-filename": "",        "script-torrent-done-enabled": false,        "script-torrent-done-filename": "",        "script-torrent-done-seeding-enabled": false,        "script-torrent-done-seeding-filename": "",        "seed-queue-enabled": false,        "seed-queue-size": 10,        "speed-limit-down": 100,        "speed-limit-down-enabled": false,        "speed-limit-up": 100,        "speed-limit-up-enabled": false,        "start-added-torrents": true,        "tcp-enabled": true,        "torrent-added-verify-mode": "fast",        "trash-original-torrent-files": false,        "umask": "002",        "upload-slots-per-torrent": 14,        "utp-enabled": false,        "watch-dir": "/data/watch",        "watch-dir-enabled": true,        "watch-dir-force-generic": false    }
 |