123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- {{- define "mumble.workload" -}}
- workload:
- mumble:
- enabled: true
- primary: true
- type: Deployment
- podSpec:
- hostNetwork: false
- containers:
- mumble:
- enabled: true
- primary: true
- imageSelector: image
- securityContext:
- runAsUser: 1000
- runAsGroup: 1000
- envFrom:
- - configMapRef:
- name: mumble-config
- - secretRef:
- name: mumble-secret
- {{ with .Values.mumbleConfig.additionalEnvs }}
- envList:
- {{ range $env := . }}
- - name: {{ $env.name }}
- value: {{ $env.value }}
- {{ end }}
- {{ end }}
- probes:
- # Probes are disabled because it fills the logs with
- # "connection attemps"
- liveness:
- enabled: {{ .Values.ci }}
- type: tcp
- port: "{{ .Values.mumbleNetwork.serverPort }}"
- readiness:
- enabled: {{ .Values.ci }}
- type: tcp
- port: "{{ .Values.mumbleNetwork.serverPort }}"
- startup:
- enabled: {{ .Values.ci }}
- type: tcp
- port: "{{ .Values.mumbleNetwork.serverPort }}"
- initContainers:
- {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions"
- "UID" 1000
- "GID" 1000
- "mode" "check"
- "type" "install") | nindent 8 }}
- {{/* Service */}}
- service:
- mumble:
- enabled: true
- primary: true
- type: NodePort
- targetSelector: mumble
- ports:
- tcp:
- enabled: true
- primary: true
- port: {{ .Values.mumbleNetwork.serverPort }}
- nodePort: {{ .Values.mumbleNetwork.serverPort }}
- targetSelector: mumble
- udp:
- enabled: true
- port: {{ .Values.mumbleNetwork.serverPort }}
- nodePort: {{ .Values.mumbleNetwork.serverPort }}
- protocol: udp
- targetSelector: mumble
- ice:
- enabled: true
- type: NodePort
- targetSelector: mumble
- ports:
- ice:
- enabled: true
- primary: true
- port: {{ .Values.mumbleNetwork.icePort }}
- nodePort: {{ .Values.mumbleNetwork.icePort }}
- targetSelector: mumble
- {{/* Persistence */}}
- persistence:
- data:
- enabled: true
- type: {{ .Values.mumbleStorage.data.type }}
- datasetName: {{ .Values.mumbleStorage.data.datasetName | default "" }}
- hostPath: {{ .Values.mumbleStorage.data.hostPath | default "" }}
- targetSelector:
- mumble:
- mumble:
- mountPath: /data
- 01-permissions:
- mountPath: /mnt/directories/data
- {{- if .Values.mumbleNetwork.certificateID }}
- cert:
- enabled: true
- type: secret
- objectName: mumble-cert
- defaultMode: "0600"
- items:
- - key: tls.key
- path: private.key
- - key: tls.crt
- path: public.crt
- targetSelector:
- mumble:
- mumble:
- mountPath: /certs
- readOnly: true
- scaleCertificate:
- mumble-cert:
- enabled: true
- id: {{ .Values.mumbleNetwork.certificateID }}
- {{- end -}}
- {{- end -}}
|