From 4c123eee1bf23bef1fb5afb29e60b74124dd1750 Mon Sep 17 00:00:00 2001 From: thaoduc Date: Wed, 8 Oct 2025 23:37:43 +0700 Subject: [PATCH] asd --- label-studio/Chart.yaml | 2 +- label-studio/label-studio-1.1.tgz | Bin 8204 -> 19775 bytes label-studio/label-studio-1.2.tgz | Bin 0 -> 31381 bytes label-studio/templates/deployment.yaml | 383 ++++++++++++++++++++++--- label-studio/templates/ingress.yaml | 58 ++-- label-studio/templates/pvc.yaml | 36 +++ label-studio/templates/service.yaml | 35 ++- 7 files changed, 443 insertions(+), 71 deletions(-) create mode 100644 label-studio/label-studio-1.2.tgz create mode 100644 label-studio/templates/pvc.yaml diff --git a/label-studio/Chart.yaml b/label-studio/Chart.yaml index 6b14e97..48f9628 100644 --- a/label-studio/Chart.yaml +++ b/label-studio/Chart.yaml @@ -15,7 +15,7 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 1.1 +version: 1.2 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to diff --git a/label-studio/label-studio-1.1.tgz b/label-studio/label-studio-1.1.tgz index 4ce6f9f8a04b93d7115d8631b976346b0196bcb9..8d0c58f555e8faf891d9914b2d7e079ab5f49ff7 100644 GIT binary patch literal 19775 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 literal 8204 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 y+3z@%t$;)rbxn27es2YH5wZw(|29VcDc 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.18-0" .Capabilities.KubeVersion.GitVersion)) }} + {{- if not (hasKey .Values.app.ingress.annotations "kubernetes.io/ingress.class") }} + {{- $_ := set .Values.app.ingress.annotations "kubernetes.io/ingress.class" .Values.app.ingress.className}} + {{- end }} +{{- end }} +{{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} apiVersion: networking.k8s.io/v1 +{{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} +apiVersion: networking.k8s.io/v1beta1 +{{- else -}} +apiVersion: extensions/v1beta1 +{{- end }} kind: Ingress metadata: - name: {{ include "label-studio.fullname" . }} + name: {{ $fullName }} labels: - {{- include "label-studio.labels" . | nindent 4 }} - {{- with .Values.ingress.annotations }} + {{- include "ls-app.labels" . | nindent 4 }} + {{- with .Values.app.ingress.annotations }} annotations: {{- toYaml . | nindent 4 }} {{- end }} spec: - {{- with .Values.ingress.className }} - ingressClassName: {{ . }} + {{- if and .Values.app.ingress.className (semverCompare ">=1.18-0" .Capabilities.KubeVersion.GitVersion) }} + ingressClassName: {{ .Values.app.ingress.className | quote }} {{- end }} - {{- if .Values.ingress.tls }} + {{- if .Values.app.ingress.tls }} tls: - {{- range .Values.ingress.tls }} + {{- range .Values.app.ingress.tls }} - hosts: {{- range .hosts }} - {{ . | quote }} @@ -24,20 +37,29 @@ spec: {{- end }} {{- end }} rules: - {{- range .Values.ingress.hosts }} - - host: {{ .host | quote }} + - host: {{ .Values.app.ingress.host | quote }} http: paths: - {{- range .paths }} - - path: {{ .path }} - {{- with .pathType }} - pathType: {{ . }} - {{- end }} + {{- if .Values.app.ingress.extraPaths }} + {{- toYaml .Values.app.ingress.extraPaths | nindent 10 }} + {{- end }} + - path: {{ default "/" .Values.app.ingress.path }} + pathType: {{ .Values.app.ingress.pathType }} backend: service: - name: {{ include "label-studio.fullname" $ }} + name: {{ $fullName }} port: - number: {{ $.Values.service.port }} - {{- end }} + number: {{ $svcPort }} + {{- range .Values.app.ingress.extraHosts }} + - host: {{ .name }} + http: + paths: + - path: {{ default "/" .path }} + pathType: {{ default "ImplementationSpecific" .pathType }} + backend: + service: + name: {{ $fullName }} + port: + number: {{ $svcPort }} {{- end }} {{- end }} diff --git a/label-studio/templates/pvc.yaml b/label-studio/templates/pvc.yaml new file mode 100644 index 0000000..dee3694 --- /dev/null +++ b/label-studio/templates/pvc.yaml @@ -0,0 +1,36 @@ +{{- if .Values.global.persistence.enabled }} +{{- if and (eq .Values.global.persistence.type "volume") (not .Values.global.persistence.config.volume.existingClaim) }} +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: {{ include "ls-pvc.fullname" . }} + {{- if eq .Values.global.persistence.config.volume.resourcePolicy "keep" }} + annotations: + helm.sh/resource-policy: keep + {{- end }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "ls-pvc.labels" . | nindent 4 }} + {{- if .Values.global.persistence.config.volume.annotations }} + annotations: + {{- if .Values.global.persistence.config.volume.annotations }} + {{- include "tplvalues.render" ( dict "value" .Values.global.persistence.config.volume.annotations "context" $ ) | nindent 4 }} + {{- end }} + {{- end }} +spec: + accessModes: + {{- range .Values.global.persistence.config.volume.accessModes }} + - {{ . | quote }} + {{- end }} + resources: + requests: + storage: {{ .Values.global.persistence.config.volume.size | quote }} + {{- if .Values.global.persistence.config.volume.storageClass -}} + {{- if (eq "-" .Values.global.persistence.config.volume.storageClass) -}} + storageClassName: "" + {{- else }} + storageClassName: {{ .Values.global.persistence.config.volume.storageClass }} + {{- end -}} + {{- end -}} +{{- end }} +{{- end }} diff --git a/label-studio/templates/service.yaml b/label-studio/templates/service.yaml index 50d6127..76b36b1 100644 --- a/label-studio/templates/service.yaml +++ b/label-studio/templates/service.yaml @@ -1,15 +1,36 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "label-studio.fullname" . }} + name: {{ include "ls-app.fullname" . }} labels: - {{- include "label-studio.labels" . | nindent 4 }} + {{- include "ls-app.labels" . | nindent 4 }} + {{- with .Values.app.service.annotations }} + annotations: + {{- toYaml . | nindent 4 }} + {{- end }} spec: - type: {{ .Values.service.type }} + type: {{ .Values.app.service.type }} ports: - - port: {{ .Values.service.port }} - targetPort: http + - port: {{ .Values.app.service.port }} + targetPort: {{ .Values.app.service.targetPort }} protocol: TCP - name: http + name: {{ .Values.app.service.portName }} + {{- if and .Values.metrics.enabled .Values.metrics.uwsgiExporter.enabled }} + - port: 9117 + targetPort: "uwsgimetrics" + protocol: "TCP" + name: "uwsgimetrics" + {{- end }} + {{- if and .Values.metrics.enabled }} + - port: 8000 + targetPort: "djangometrics" + protocol: "TCP" + name: "djangometrics" + {{- end }} selector: - {{- include "label-studio.selectorLabels" . | nindent 4 }} + {{- include "ls-app.selectorLabels" . | nindent 4 }} + sessionAffinity: {{ .Values.app.service.sessionAffinity }} + {{- if .Values.app.service.sessionAffinityConfig }} + sessionAffinityConfig: + {{- toYaml .Values.app.service.sessionAffinityConfig | nindent 4 }} + {{- end }} \ No newline at end of file