Files
2026-06-01 13:54:52 +08:00

141 lines
4.9 KiB
Smarty

{{/*
RCoder chart helper
*/}}
{{/* (Release + chart) */}}
{{- define "rcoder.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{/* Chart */}}
{{- define "rcoder.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/* () */}}
{{- define "rcoder.labels" -}}
helm.sh/chart: {{ include "rcoder.chart" . }}
app.kubernetes.io/name: rcoder
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
environment: {{ .Values.environment | quote }}
{{- end -}}
{{/* selector label (app=rcoder Kustomize , Service pod) */}}
{{- define "rcoder.selectorLabels" -}}
app: rcoder
component: rcoder-main
{{- end -}}
{{/* ============================================================
rcoder-own image -> {{ .Values.global.imageRegistry }}/{repo}:{tag}
third-party image -> {{ .Values.global.thirdPartyRegistry }}/{repo}:{tag}
( thirdPartyRegistry , repo)
============================================================ */}}
{{/* : dict {repository, tag, chartContext} */}}
{{- define "rcoder.ownImage" -}}
{{- $repo := .repository -}}
{{- $tag := .tag -}}
{{- $registry := .ctx.Values.global.imageRegistry -}}
{{- if empty $tag -}}{{- $tag = .ctx.Chart.AppVersion -}}{{- end -}}
{{- if $registry -}}
{{- printf "%s/%s:%s" $registry $repo $tag -}}
{{- else -}}
{{- printf "%s:%s" $repo $tag -}}
{{- end -}}
{{- end -}}
{{/* : dict {repository, tag, ctx} */}}
{{- define "rcoder.thirdPartyImage" -}}
{{- $repo := .repository -}}
{{- $tag := .tag -}}
{{- $registry := .ctx.Values.global.thirdPartyRegistry -}}
{{- if $registry -}}
{{- printf "%s/%s:%s" $registry $repo $tag -}}
{{- else -}}
{{- printf "%s:%s" $repo $tag -}}
{{- end -}}
{{- end -}}
{{/* : rcoder image */}}
{{- define "rcoder.image" -}}
{{- include "rcoder.ownImage" (dict "repository" .Values.rcoder.image.repository "tag" .Values.rcoder.image.tag "ctx" .) -}}
{{- end -}}
{{/* : agent-runner image ( rcoder env var 使) */}}
{{- define "rcoder.agentRunnerImage" -}}
{{- include "rcoder.ownImage" (dict "repository" .Values.agentRunner.image.repository "tag" .Values.agentRunner.image.tag "ctx" .) -}}
{{- end -}}
{{/* (config.yml docker_config.multi_image_config.global_defaults.registry_prefix 使) */}}
{{- define "rcoder.registryPrefix" -}}
{{- default "" .Values.global.imageRegistry -}}
{{- end -}}
{{/* ============================================================
StorageClass (, Release )
- juicefs.storageClass.name ->
- 退 "juicefs-sc-{release}"
============================================================ */}}
{{- define "rcoder.storageClassName" -}}
{{- if .Values.juicefs.storageClass.name -}}
{{- .Values.juicefs.storageClass.name -}}
{{- else -}}
{{- printf "juicefs-sc-%s" .Release.Name -}}
{{- end -}}
{{- end -}}
{{/* ============================================================
ClusterRoleBinding (, )
============================================================ */}}
{{- define "rcoder.clusterRoleBindingName" -}}
{{- printf "%s-pods-crb" .Release.Name -}}
{{- end -}}
{{/* ClusterRole release ClusterRole, */}}
{{- define "rcoder.clusterRoleName" -}}
rcoder-pods-clusterrole
{{- end -}}
{{/* imagePullSecrets */}}
{{- define "rcoder.imagePullSecrets" -}}
{{- if .Values.global.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.global.imagePullSecrets }}
- name: {{ .name }}
{{- end }}
{{- end -}}
{{- end -}}
{{/* PostgreSQL service (namespace ) */}}
{{- define "rcoder.postgresqlHost" -}}
{{- printf "postgresql.%s.svc.cluster.local" .Release.Namespace -}}
{{- end -}}
{{/* MinIO service */}}
{{- define "rcoder.minioHost" -}}
{{- printf "minio-service.%s.svc.cluster.local" .Release.Namespace -}}
{{- end -}}
{{/* JuiceFS metaurl */}}
{{- define "rcoder.juicefsMetaurl" -}}
{{- printf "postgres://%s:%s@postgresql.%s:5432/juicefs" .Values.credentials.postgresql.user .Values.credentials.postgresql.password .Release.Namespace -}}
{{- end -}}
{{/* JuiceFS bucket URL */}}
{{- define "rcoder.juicefsBucketUrl" -}}
{{- printf "http://minio-service.%s:9000/%s" .Release.Namespace .Values.juicefs.bucket -}}
{{- end -}}