k8s_transmission-openvpn/transmission_deployment.yml

97 lines
2.5 KiB
YAML

---
apiVersion: apps/v1
kind: Deployment
metadata:
name: transmission
labels:
app: transmission
spec:
replicas: 1
selector:
matchLabels:
app: transmission
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: transmission
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- arm64
containers:
- name: transmission
image: haugene/transmission-openvpn
env:
- name: CREATE_TUN_DEVICE
value: "true"
- name: OPENVPN_PROVIDER
value: "PIA"
- name: OPENVPN_CONFIG
value: "ca_ontario"
- name: OPENVPN_OPTS
value: "--inactive 3600 --ping 10 --ping-exit 60"
- name: WEBPROXY_ENABLED
value: "false"
- name: LOCAL_NETWORK
value: "192.168.20.0/24"
- name: TRANSMISSION_RATIO_LIMIT
value: "1"
- name: TRANSMISSION_RATIO_LIMIT_ENABLED
value: "true"
- name: TRANSMISSION_RPC_USERNAME
value: "transmission"
- name: TRANSMISSION_RPC_PASSWORD
value: "transmission"
- name: TRANSMISSION_RPC_AUTHENTICATION_REQUIRED
value: "true"
- name: TRANSMISSION_RPC_WHITELIST_ENABLED
value: "false"
- name: TRANSMISSION_RPC_HOST_WHITELIST_ENABLED
value: "false"
- name: TRANSMISSION_START_ADDED_TORRENTS
value: "false"
- name: TZ
value: "America/Toronto"
- name: OPENVPN_USERNAME
valueFrom:
secretKeyRef:
name: openvpn-pass
key: OPENVPN_USERNAME
- name: OPENVPN_PASSWORD
valueFrom:
secretKeyRef:
name: openvpn-pass
key: OPENVPN_PASSWORD
ports:
- containerPort: 9091
volumeMounts:
- name: transmission-data
mountPath: /data
- name: tz-config
mountPath: /etc/localtime
securityContext:
capabilities:
add:
- NET_ADMIN
dnsConfig:
nameservers:
- 8.8.8.8
- 8.8.4.4
volumes:
- name: transmission-data
persistentVolumeClaim:
claimName: transmission-data-pvc
- name: tz-config
hostPath:
path: /usr/share/zoneinfo/EST5EDT
# EOF