_ddns.tpl 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. {{- define "ddns.workload" -}}
  2. workload:
  3. ddns:
  4. enabled: true
  5. primary: true
  6. type: Deployment
  7. podSpec:
  8. hostNetwork: {{ .Values.ddnsNetwork.hostNetwork }}
  9. containers:
  10. ddns:
  11. enabled: true
  12. primary: true
  13. imageSelector: image
  14. securityContext:
  15. runAsUser: {{ .Values.ddnsRunAs.user }}
  16. runAsGroup: {{ .Values.ddnsRunAs.group }}
  17. env:
  18. LISTENING_ADDRESS: {{ printf ":%v" .Values.ddnsNetwork.webPort }}
  19. DATADIR: /updater/data
  20. BACKUP_DIRECTORY: /updater/data
  21. envFrom:
  22. - configMapRef:
  23. name: ddns-config
  24. {{ with .Values.ddnsConfig.additionalEnvs }}
  25. envList:
  26. {{ range $env := . }}
  27. - name: {{ $env.name }}
  28. value: {{ $env.value }}
  29. {{ end }}
  30. {{ end }}
  31. probes:
  32. liveness:
  33. enabled: {{ not .Values.ci }}
  34. type: exec
  35. command:
  36. - /updater/app
  37. - healthcheck
  38. readiness:
  39. enabled: {{ not .Values.ci }}
  40. type: exec
  41. command:
  42. - /updater/app
  43. - healthcheck
  44. startup:
  45. enabled: {{ not .Values.ci }}
  46. type: exec
  47. command:
  48. - /updater/app
  49. - healthcheck
  50. initContainers:
  51. {{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions"
  52. "UID" .Values.ddnsRunAs.user
  53. "GID" .Values.ddnsRunAs.group
  54. "mode" "check"
  55. "type" "init") | nindent 8 }}
  56. {{/* Service */}}
  57. service:
  58. ddns:
  59. enabled: true
  60. primary: true
  61. type: NodePort
  62. targetSelector: ddns
  63. ports:
  64. webui:
  65. enabled: true
  66. primary: true
  67. port: {{ .Values.ddnsNetwork.webPort }}
  68. nodePort: {{ .Values.ddnsNetwork.webPort }}
  69. targetSelector: ddns
  70. {{/* Persistence */}}
  71. persistence:
  72. data:
  73. enabled: true
  74. type: {{ .Values.ddnsStorage.data.type }}
  75. datasetName: {{ .Values.ddnsStorage.data.datasetName | default "" }}
  76. hostPath: {{ .Values.ddnsStorage.data.hostPath | default "" }}
  77. targetSelector:
  78. ddns:
  79. ddns:
  80. mountPath: /updater/data
  81. 01-permissions:
  82. mountPath: /mnt/directories/data
  83. {{- end -}}