_mumble.tpl 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. {{- define "mumble.workload" -}}
  2. workload:
  3. mumble:
  4. enabled: true
  5. primary: true
  6. type: Deployment
  7. podSpec:
  8. hostNetwork: false
  9. containers:
  10. mumble:
  11. enabled: true
  12. primary: true
  13. imageSelector: image
  14. securityContext:
  15. runAsUser: 1000
  16. runAsGroup: 1000
  17. envFrom:
  18. - configMapRef:
  19. name: mumble-config
  20. - secretRef:
  21. name: mumble-secret
  22. {{ with .Values.mumbleConfig.additionalEnvs }}
  23. envList:
  24. {{ range $env := . }}
  25. - name: {{ $env.name }}
  26. value: {{ $env.value }}
  27. {{ end }}
  28. {{ end }}
  29. probes:
  30. # Probes are disabled because it fills the logs with
  31. # "connection attemps"
  32. liveness:
  33. enabled: {{ .Values.ci }}
  34. type: tcp
  35. port: "{{ .Values.mumbleNetwork.serverPort }}"
  36. readiness:
  37. enabled: {{ .Values.ci }}
  38. type: tcp
  39. port: "{{ .Values.mumbleNetwork.serverPort }}"
  40. startup:
  41. enabled: {{ .Values.ci }}
  42. type: tcp
  43. port: "{{ .Values.mumbleNetwork.serverPort }}"
  44. initContainers:
  45. {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions"
  46. "UID" 1000
  47. "GID" 1000
  48. "mode" "check"
  49. "type" "install") | nindent 8 }}
  50. {{/* Service */}}
  51. service:
  52. mumble:
  53. enabled: true
  54. primary: true
  55. type: NodePort
  56. targetSelector: mumble
  57. ports:
  58. tcp:
  59. enabled: true
  60. primary: true
  61. port: {{ .Values.mumbleNetwork.serverPort }}
  62. nodePort: {{ .Values.mumbleNetwork.serverPort }}
  63. targetSelector: mumble
  64. udp:
  65. enabled: true
  66. port: {{ .Values.mumbleNetwork.serverPort }}
  67. nodePort: {{ .Values.mumbleNetwork.serverPort }}
  68. protocol: udp
  69. targetSelector: mumble
  70. ice:
  71. enabled: true
  72. type: NodePort
  73. targetSelector: mumble
  74. ports:
  75. ice:
  76. enabled: true
  77. primary: true
  78. port: {{ .Values.mumbleNetwork.icePort }}
  79. nodePort: {{ .Values.mumbleNetwork.icePort }}
  80. targetSelector: mumble
  81. {{/* Persistence */}}
  82. persistence:
  83. data:
  84. enabled: true
  85. type: {{ .Values.mumbleStorage.data.type }}
  86. datasetName: {{ .Values.mumbleStorage.data.datasetName | default "" }}
  87. hostPath: {{ .Values.mumbleStorage.data.hostPath | default "" }}
  88. targetSelector:
  89. mumble:
  90. mumble:
  91. mountPath: /data
  92. 01-permissions:
  93. mountPath: /mnt/directories/data
  94. {{- if .Values.mumbleNetwork.certificateID }}
  95. cert:
  96. enabled: true
  97. type: secret
  98. objectName: mumble-cert
  99. defaultMode: "0600"
  100. items:
  101. - key: tls.key
  102. path: private.key
  103. - key: tls.crt
  104. path: public.crt
  105. targetSelector:
  106. mumble:
  107. mumble:
  108. mountPath: /certs
  109. readOnly: true
  110. scaleCertificate:
  111. mumble-cert:
  112. enabled: true
  113. id: {{ .Values.mumbleNetwork.certificateID }}
  114. {{- end -}}
  115. {{- end -}}