diff --git a/rflood/templates/service.yaml b/rflood/templates/service.yaml index 5c1a6ac..4b736e7 100644 --- a/rflood/templates/service.yaml +++ b/rflood/templates/service.yaml @@ -6,7 +6,10 @@ metadata: app.kubernetes.io/name: {{ .Chart.Name }} app.kubernetes.io/instance: {{ .Release.Name }} spec: - type: ClusterIP + type: {{ .Values.service.type }} + {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.externalTrafficPolicy }} + externalTrafficPolicy: {{ .Values.service.externalTrafficPolicy }} + {{- end }} selector: app: {{ .Release.Name }} ports: @@ -14,15 +17,27 @@ spec: port: {{ .Values.webuiPort }} targetPort: {{ .Values.webuiPort }} protocol: TCP + {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.nodePorts.webui }} + nodePort: {{ .Values.service.nodePorts.webui }} + {{- end }} - name: rpc port: {{ .Values.rpcPort }} targetPort: {{ .Values.rpcPort }} protocol: TCP + {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.nodePorts.rpc }} + nodePort: {{ .Values.service.nodePorts.rpc }} + {{- end }} - name: torrent-tcp port: {{ .Values.torrentPort }} targetPort: {{ .Values.torrentPort }} protocol: TCP + {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.nodePorts.torrentTcp }} + nodePort: {{ .Values.service.nodePorts.torrentTcp }} + {{- end }} - name: torrent-udp port: {{ .Values.torrentPort }} targetPort: {{ .Values.torrentPort }} protocol: UDP + {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) .Values.service.nodePorts.torrentUdp }} + nodePort: {{ .Values.service.nodePorts.torrentUdp }} + {{- end }} diff --git a/rflood/values.yaml b/rflood/values.yaml index 2d5161b..4fbd395 100644 --- a/rflood/values.yaml +++ b/rflood/values.yaml @@ -7,6 +7,15 @@ webuiPort: 3000 rpcPort: 5000 torrentPort: 50000 +service: + type: ClusterIP + externalTrafficPolicy: "" + nodePorts: + webui: null + rpc: null + torrentTcp: null + torrentUdp: null + env: PUID: "1001" PGID: "1001"