_helper.tpl 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. {{/* vim: set filetype=mustache: */}}
  2. {{- if or (and .Values.server.ingress.tls.cert (not .Values.server.ingress.tls.key)) (and .Values.server.ingress.tls.key (not .Values.server.ingress.tls.cert)) }}
  3. {{ fail "Both server.ingress.tls.cert and server.ingress.tls.key must be set together or both be empty." }}
  4. {{- end }}
  5. {{- if gt (int .Values.server.replicas) 1 }}
  6. {{- if not .Values.server.externalDatabaseURL }}
  7. {{ fail "server.externalDatabaseURL is required when server.replicas > 1." }}
  8. {{- end }}
  9. {{- end }}
  10. {{ define "gpustack.imageTag" -}}
  11. {{ default (printf "v%s" .Chart.AppVersion) .Values.image.tag -}}
  12. {{ end -}}
  13. {{ define "system_default_registry" -}}
  14. {{ if .Values.systemDefaultContainerRegistry -}}
  15. {{ trimSuffix "/" .Values.systemDefaultContainerRegistry }}/
  16. {{- end -}}
  17. {{ end -}}
  18. {{ define "gpustack.image" -}}
  19. {{ printf "%s%s" (include "system_default_registry" .) .Values.image.repository -}}
  20. {{ end -}}
  21. {{ define "server_config" -}}
  22. {{ include "server_external_url" . }}
  23. GPUSTACK_DEBUG: "{{ .Values.debug }}"
  24. GPUSTACK_API_PORT: "{{ .Values.server.apiPort }}"
  25. GPUSTACK_METRICS_PORT: "{{ .Values.server.metricsPort }}"
  26. {{ if .Values.server.externalDatabaseURL -}}
  27. GPUSTACK_DATABASE_URL: "{{ .Values.server.externalDatabaseURL }}"
  28. {{- end }}
  29. {{- with .Values.server.environmentConfig }}
  30. {{- range $key, $value := . }}
  31. {{ $key }}: "{{ $value }}"
  32. {{- end }}
  33. {{- end }}
  34. {{- end -}}
  35. {{ define "worker_config" -}}
  36. GPUSTACK_DEBUG: "{{ .Values.debug }}"
  37. GPUSTACK_WORKER_PORT: "{{ .Values.worker.port }}"
  38. GPUSTACK_WORKER_METRICS_PORT: "{{ .Values.worker.metricsPort }}"
  39. {{- with .Values.worker.environmentConfig }}
  40. {{- range $key, $value := . }}
  41. {{ $key }}: "{{ $value }}"
  42. {{- end -}}
  43. {{- end -}}
  44. {{- end -}}
  45. {{ define "higressPlugins.image" -}}
  46. {{ printf "%s%s" (include "system_default_registry" .) .Values.higressPlugins.image.repository }}:{{ required "higressPlugins.image.tag is required" .Values.higressPlugins.image.tag }}
  47. {{- end -}}
  48. {{ define "chart_labels" -}}
  49. app.kubernetes.io/name: {{ .Chart.Name }}
  50. app.kubernetes.io/instance: {{ .Release.Name }}
  51. app.kubernetes.io/version: {{ .Chart.AppVersion }}
  52. app.kubernetes.io/managed-by: {{ .Release.Service }}
  53. helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
  54. {{- end -}}
  55. {{ define "server_external_url" -}}
  56. {{- if not .Values.server.environmentConfig.GPUSTACK_SERVER_EXTERNAL_URL -}}
  57. {{- $schema := "http" -}}
  58. {{- if and .Values.server.ingress.tls.cert .Values.server.ingress.tls.key }}
  59. {{- $schema = "https" -}}
  60. {{- end }}
  61. {{- if .Values.server.ingress.hostname -}}
  62. GPUSTACK_SERVER_EXTERNAL_URL: {{ printf "%s://%s" $schema .Values.server.ingress.hostname }}
  63. {{- end -}}
  64. {{- end -}}
  65. {{- end -}}
  66. {{ define "tls_secret_name" -}}
  67. {{- if .Values.server.ingress.hostname -}}
  68. {{ printf "tls-%s" (.Values.server.ingress.hostname | replace "." "-") }}
  69. {{- end -}}
  70. {{- end -}}
  71. {{ define "ingress_tls" -}}
  72. {{- if and .Values.server.ingress.tls.cert .Values.server.ingress.tls.key .Values.server.ingress.hostname }}
  73. tls:
  74. - secretName: {{ include "tls_secret_name" . }}
  75. hosts:
  76. - {{ .Values.server.ingress.hostname }}
  77. {{- end }}
  78. {{- end -}}