From 76c0618aa08752480de977a80cf8d02689092d1c Mon Sep 17 00:00:00 2001 From: Valeriano Manassero <14011549+valeriano-manassero@users.noreply.github.com> Date: Thu, 21 Mar 2024 14:45:52 +0100 Subject: [PATCH] Added: async delete --- charts/clearml/Chart.yaml | 2 + .../apiserver-asyncdelete-deployment.yaml | 139 ++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 charts/clearml/templates/apiserver-asyncdelete-deployment.yaml diff --git a/charts/clearml/Chart.yaml b/charts/clearml/Chart.yaml index 1878ae4..8de2230 100644 --- a/charts/clearml/Chart.yaml +++ b/charts/clearml/Chart.yaml @@ -34,3 +34,5 @@ annotations: artifacthub.io/changes: | - kind: changed description: application version 1.15 + - kind: added + description: async delete deployment diff --git a/charts/clearml/templates/apiserver-asyncdelete-deployment.yaml b/charts/clearml/templates/apiserver-asyncdelete-deployment.yaml new file mode 100644 index 0000000..80000b0 --- /dev/null +++ b/charts/clearml/templates/apiserver-asyncdelete-deployment.yaml @@ -0,0 +1,139 @@ +{{- if .Values.apiserver.enabled }} +{{- if (include "clearml.fileUrl" .) }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{ include "apiserver.referenceName" . }}-asyncdelete + labels: + {{- include "clearml.labels" . | nindent 4 }} +spec: + replicas: 1 + selector: + matchLabels: + {{- include "apiserver.selectorLabels" . | nindent 6 }} + template: + metadata: + {{- with .Values.apiserver.podAnnotations }} + annotations: + {{- toYaml . | nindent 8 }} + {{- end }} + labels: + {{- include "apiserver.selectorLabels" . | nindent 8 }} + spec: + serviceAccountName: {{ .Values.apiserver.serviceAccountName }}-apiserver + {{- if .Values.imageCredentials.enabled }} + imagePullSecrets: + {{- if .Values.imageCredentials.existingSecret }} + - name: {{ .Values.imageCredentials.existingSecret }} + {{- else }} + - name: clearml-registry-key + {{- end }} + {{- end }} + {{- if or .Values.apiserver.additionalConfigs .Values.apiserver.existingAdditionalConfigsConfigMap .Values.apiserver.existingAdditionalConfigsSecret }} + volumes: + - name: apiserver-config + {{- if or .Values.apiserver.existingAdditionalConfigsConfigMap }} + configMap: + name: {{ .Values.apiserver.existingAdditionalConfigsConfigMap }} + {{- else if or .Values.apiserver.existingAdditionalConfigsSecret }} + secret: + secretName: {{ .Values.apiserver.existingAdditionalConfigsSecret }} + {{- else if or .Values.apiserver.additionalConfigs }} + configMap: + name: "{{ include "apiserver.referenceName" . }}-configmap" + {{- end }} + {{- end }} + securityContext: + {{ toYaml .Values.apiserver.podSecurityContext | nindent 8 }} + initContainers: + - name: init-apiserver + image: "{{ include "registryNamePrefix" (dict "globalValues" .Values.global "imageRegistryValue" .Values.apiserver.image.registry) }}{{ .Values.apiserver.image.repository }}:{{ .Values.apiserver.image.tag }}" + command: + - /bin/sh + - -c + - > + set -x; + {{- if .Values.elasticsearch.enabled }} + while [ $(curl -sw '%{http_code}' "http://{{ include "elasticsearch.servicename" . }}:{{ include "elasticsearch.serviceport" . }}/_cluster/health" -o /dev/null) -ne 200 ] ; do + echo "waiting for elasticsearch" ; + sleep 5 ; + done ; + {{- end }} + {{- if .Values.mongodb.enabled }} + while [ $(curl --telnet-option BOGUS --connect-timeout 2 -s "telnet://{{ .Release.Name }}-{{ include "mongodb.hostname" . }}:27017" -o /dev/null; echo $?) -ne 49 ] ; do + echo "waiting for mongodb" ; + sleep 5 ; + done ; + {{- end }} + {{- if .Values.redis.enabled }} + while [ $(curl --telnet-option BOGUS --connect-timeout 2 -s "telnet://{{ include "redis.servicename" . }}:{{ include "redis.serviceport" . }}" -o /dev/null; echo $?) -ne 49 ] ; do + echo "waiting for redis" ; + sleep 5 ; + done ; + {{- end }} + securityContext: + {{ toYaml .Values.apiserver.containerSecurityContext | nindent 12 }} + resources: + {{- toYaml .Values.apiserver.initContainers.resources | nindent 12 }} + containers: + - name: clearml-apiserver + image: "{{ include "registryNamePrefix" (dict "globalValues" .Values.global "imageRegistryValue" .Values.apiserver.image.registry) }}{{ .Values.apiserver.image.repository }}:{{ .Values.apiserver.image.tag }}" + imagePullPolicy: {{ .Values.apiserver.image.pullPolicy }} + command: + - /bin/sh + - -c + - > + python3 -m jobs.async_urls_delete --fileserver-host http://{{ include "fileserver.referenceName" . }}:{{ .Values.fileserver.service.port }} + env: + - name: CLEARML_REDIS_SERVICE_HOST + value: {{ include "redis.servicename" . }} + - name: CLEARML_REDIS_SERVICE_PORT + value: "{{ include "redis.serviceport" . }}" + {{- if .Values.mongodb.enabled }} + - name: CLEARML_MONGODB_SERVICE_CONNECTION_STRING + value: {{ include "mongodb.connectionstring" . | quote }} + {{- else }} + - name: CLEARML__HOSTS__MONGO__BACKEND__HOST + value: {{ .Values.externalServices.mongodbConnectionStringBackend | quote }} + - name: CLEARML__HOSTS__MONGO__AUTH__HOST + value: {{ .Values.externalServices.mongodbConnectionStringAuth | quote }} + {{- end }} + - name: CLEARML__HOSTS__ELASTIC__WORKERS__HOSTS + value: {{ include "elasticsearch.connectionstring" . }} + - name: CLEARML__HOSTS__ELASTIC__EVENTS__HOSTS + value: {{ include "elasticsearch.connectionstring" . }} + - name: CLEARML__HOSTS__ELASTIC__DATASETS__HOSTS + value: {{ include "elasticsearch.connectionstring" . }} + - name: CLEARML__HOSTS__ELASTIC__LOGS__HOSTS + value: {{ include "elasticsearch.connectionstring" . }} + - name: CLEARML__logging__handlers__text_file__filename + value: "/dev/null" + - name: PYTHONPATH + value: /opt/clearml/apiserver + - name: CLEARML__apiserver__default_company + value: "{{ .Values.clearml.defaultCompanyGuid }}" + - name: CLEARML__services__async_urls_delete__fileserver__url_prefixes + value: "[\"{{ include "clearml.fileUrl" . }}\"]" + - name: CLEARML__secure__auth__token_secret + valueFrom: + secretKeyRef: + name: {{ include "clearml.confSecretName" .}} + key: secure_auth_token_secret + resources: + {{- toYaml .Values.apiserver.resources | nindent 12 }} + securityContext: + {{ toYaml .Values.apiserver.containerSecurityContext | nindent 12 }} + {{- with .Values.apiserver.nodeSelector }} + nodeSelector: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.apiserver.affinity }} + affinity: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.apiserver.tolerations }} + tolerations: + {{- toYaml . | nindent 8 }} + {{- end }} +{{- end }} +{{- end }}