diff --git a/charts/clearml-agent/Chart.yaml b/charts/clearml-agent/Chart.yaml index f1137d0..8c419f3 100644 --- a/charts/clearml-agent/Chart.yaml +++ b/charts/clearml-agent/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: clearml-agent description: MLOps platform type: application -version: "3.1.0" +version: "3.1.1" appVersion: "1.24" kubeVersion: ">= 1.19.0-0 < 1.26.0-0" home: https://clear.ml diff --git a/charts/clearml-agent/README.md b/charts/clearml-agent/README.md index cc75d2e..8a07795 100644 --- a/charts/clearml-agent/README.md +++ b/charts/clearml-agent/README.md @@ -1,6 +1,6 @@ # ClearML Kubernetes Agent -![Version: 3.1.0](https://img.shields.io/badge/Version-3.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.24](https://img.shields.io/badge/AppVersion-1.24-informational?style=flat-square) +![Version: 3.1.1](https://img.shields.io/badge/Version-3.1.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.24](https://img.shields.io/badge/AppVersion-1.24-informational?style=flat-square) MLOps platform @@ -69,7 +69,7 @@ Kubernetes: `>= 1.19.0-0 < 1.26.0-0` | clearml.clearmlConfig | string | `"sdk {\n}"` | ClearML configuration file | | clearml.existingAgentk8sglueSecret | string | `""` | If this is set, chart will not generate a secret but will use what is defined here | | clearml.existingClearmlConfigSecret | string | `""` | If this is set, chart will not generate a secret but will use what is defined here | -| enterpriseFeatures | object | `{"applyVaultEnvVars":true,"enabled":false,"maxPods":10,"monitoredResources":{"maxResources":0,"maxResourcesFieldName":"resources|limits|nvidia.com/gpu","minResourcesFieldName":"resources|limits|nvidia.com/gpu"},"queues":{"default":{"templateOverrides":{}}},"serviceAccountClusterAccess":false,"useOwnerToken":true}` | Enterprise features (work only with an Enterprise license) | +| enterpriseFeatures | object | `{"applyVaultEnvVars":true,"enabled":false,"maxPods":10,"monitoredResources":{"maxResources":0,"maxResourcesFieldName":"resources|limits|nvidia.com/gpu","minResourcesFieldName":"resources|limits|nvidia.com/gpu"},"queues":null,"serviceAccountClusterAccess":false,"useOwnerToken":true}` | Enterprise features (work only with an Enterprise license) | | enterpriseFeatures.applyVaultEnvVars | bool | `true` | push env vars from Clear.ML Vault to task pods | | enterpriseFeatures.enabled | bool | `false` | Enable/Disable Enterprise features | | enterpriseFeatures.maxPods | int | `10` | maximum concurrent consume ClearML Task pod | @@ -77,9 +77,7 @@ Kubernetes: `>= 1.19.0-0 < 1.26.0-0` | enterpriseFeatures.monitoredResources.maxResources | int | `0` | Maximum resources counter | | enterpriseFeatures.monitoredResources.maxResourcesFieldName | string | `"resources|limits|nvidia.com/gpu"` | Field name used by Agent to count maximum resources | | enterpriseFeatures.monitoredResources.minResourcesFieldName | string | `"resources|limits|nvidia.com/gpu"` | Field name used by Agent to count minimum resources | -| enterpriseFeatures.queues | object | `{"default":{"templateOverrides":{}}}` | ClearML queues and related template OVERRIDES used this agent will consume | -| enterpriseFeatures.queues.default | object | `{"templateOverrides":{}}` | name of the queue will be used for this template | -| enterpriseFeatures.queues.default.templateOverrides | object | `{}` | overrides of the base template for this queue (must be declared even if empty!) | +| enterpriseFeatures.queues | string | `nil` | ClearML queues and related template OVERRIDES used this agent will consume | | enterpriseFeatures.serviceAccountClusterAccess | bool | `false` | service account access every namespace flag | | enterpriseFeatures.useOwnerToken | bool | `true` | Agent must use owner Token | | imageCredentials | object | `{"email":"someone@host.com","enabled":false,"existingSecret":"","password":"pwd","registry":"docker.io","username":"someone"}` | Private image registry configuration | diff --git a/charts/clearml-agent/templates/_helpers.tpl b/charts/clearml-agent/templates/_helpers.tpl index 610d502..3239bae 100644 --- a/charts/clearml-agent/templates/_helpers.tpl +++ b/charts/clearml-agent/templates/_helpers.tpl @@ -78,7 +78,7 @@ Create a string composed by queue names */}} {{- define "agentk8sglue.queues" -}} {{- $list := list }} -{{- range $key, $value := .Values.agentk8sglue.queues }} +{{- range $key, $value := .Values.enterpriseFeatures.queues }} {{- $list = append $list (printf "%s" $key) }} {{- end }} {{- join " " $list }} diff --git a/charts/clearml-agent/templates/agentk8sglue-configmap.yaml b/charts/clearml-agent/templates/agentk8sglue-configmap.yaml index 60f6cbc..7c5eb46 100644 --- a/charts/clearml-agent/templates/agentk8sglue-configmap.yaml +++ b/charts/clearml-agent/templates/agentk8sglue-configmap.yaml @@ -5,7 +5,7 @@ metadata: data: {{- if .Values.enterpriseFeatures.enabled }} template.yaml: | - {{- range $key, $value := $.Values.agentk8sglue.queues }} + {{- range $key, $value := $.Values.enterpriseFeatures.queues }} {{ $key }}: apiVersion: v1 metadata: @@ -123,19 +123,19 @@ data: - name: CLEARML_API_ACCESS_KEY valueFrom: secretKeyRef: - {{- if .Values.clearml.existingAgentk8sglueSecret }} - name: {{ .Values.clearml.existingAgentk8sglueSecret }} + {{- if $.Values.clearml.existingAgentk8sglueSecret }} + name: {{ $.Values.clearml.existingAgentk8sglueSecret }} {{- else }} - name: {{ include "clearml.name" . }}-ac + name: {{ include "clearml.name" $ }}-ac {{- end }} key: agentk8sglue_key - name: CLEARML_API_SECRET_KEY valueFrom: secretKeyRef: - {{- if .Values.clearml.existingAgentk8sglueSecret }} - name: {{ .Values.clearml.existingAgentk8sglueSecret }} + {{- if $.Values.clearml.existingAgentk8sglueSecret }} + name: {{ $.Values.clearml.existingAgentk8sglueSecret }} {{- else }} - name: {{ include "clearml.name" . }}-ac + name: {{ include "clearml.name" $ }}-ac {{- end }} key: agentk8sglue_secret {{- end }} @@ -278,6 +278,6 @@ data: nodePort: {{ add $.Values.sessions.startingPort . }} {{- end }} selector: - ai-allegro-agent-serial: pod-{{ . }} + ai.allegro.agent.serial: pod-{{ . }} {{- end }} {{- end }} diff --git a/charts/clearml-agent/templates/agentk8sglue-deployment.yaml b/charts/clearml-agent/templates/agentk8sglue-deployment.yaml index 6b8beb5..ffb6c85 100644 --- a/charts/clearml-agent/templates/agentk8sglue-deployment.yaml +++ b/charts/clearml-agent/templates/agentk8sglue-deployment.yaml @@ -105,7 +105,7 @@ spec: --max-pods {{.Values.enterpriseFeatures.maxPods}}{{ if .Values.enterpriseFeatures.enabled }}{{ if .Values.enterpriseFeatures.useOwnerToken }} --use-owner-token{{ end }}{{ end }}" {{- end }} - name: CLEARML_K8S_GLUE_LIMIT_POD_LABEL - value: "ai-allegro-agent-serial=pod-{pod_number}" + value: "ai.allegro.agent.serial=pod-{pod_number}" - name: CLEARML_K8S_SECRETS_LIST_FILE value: /root/template/secrets.yaml - name: K8S_DEFAULT_NAMESPACE @@ -157,7 +157,7 @@ spec: - name: "CLEARML_K8S_GLUE_POD_MIN_RES_FIELD" value: {{.Values.enterpriseFeatures.monitoredResources.minResourcesFieldName}} - name: "CLEARML_K8S_GLUE_MAX_RESOURCES" - value: "{{.Values.agentk8sglue.monitoredResources.maxResources}}" + value: "{{.Values.enterpriseFeatures.monitoredResources.maxResources}}" - name: "CLEARML_K8S_GLUE_POD_MAX_RES_FIELD" value: {{.Values.enterpriseFeatures.monitoredResources.maxResourcesFieldName}} {{- else }} diff --git a/charts/clearml-agent/values.yaml b/charts/clearml-agent/values.yaml index 0c0328b..07d233e 100644 --- a/charts/clearml-agent/values.yaml +++ b/charts/clearml-agent/values.yaml @@ -219,9 +219,9 @@ enterpriseFeatures: # -- ClearML queues and related template OVERRIDES used this agent will consume queues: # -- name of the queue will be used for this template - default: + # default: # -- overrides of the base template for this queue (must be declared even if empty!) - templateOverrides: {} + # templateOverrides: {} ## -- name of the queue will be used for this template # default-gpu: # # -- overrides of the base template for this queue diff --git a/charts/clearml/Chart.yaml b/charts/clearml/Chart.yaml index 0e00a4a..e35937a 100644 --- a/charts/clearml/Chart.yaml +++ b/charts/clearml/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: clearml description: MLOps platform type: application -version: "5.0.0" +version: "5.0.1" appVersion: "1.9.0" kubeVersion: ">= 1.21.0-0 < 1.26.0-0" home: https://clear.ml diff --git a/charts/clearml/README.md b/charts/clearml/README.md index 9fe2fc6..a3acec4 100644 --- a/charts/clearml/README.md +++ b/charts/clearml/README.md @@ -1,6 +1,6 @@ # ClearML Ecosystem for Kubernetes -![Version: 5.0.0](https://img.shields.io/badge/Version-5.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.9.0](https://img.shields.io/badge/AppVersion-1.9.0-informational?style=flat-square) +![Version: 5.0.1](https://img.shields.io/badge/Version-5.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.9.0](https://img.shields.io/badge/AppVersion-1.9.0-informational?style=flat-square) MLOps platform diff --git a/charts/clearml/templates/apiserver-deployment.yaml b/charts/clearml/templates/apiserver-deployment.yaml index cdfae91..7907bcd 100644 --- a/charts/clearml/templates/apiserver-deployment.yaml +++ b/charts/clearml/templates/apiserver-deployment.yaml @@ -65,8 +65,8 @@ spec: - name: CLEARML_REDIS_SERVICE_PORT value: "{{ include "redis.serviceport" . }}" - name: CLEARML_CONFIG_PATH - value: /opt/clearml/config/default - - name: CLEARML__apiserver__default_company + value: /opt/clearml/config + - name: CLEARML__apiserver__default_company_name value: "{{ .Values.clearml.defaultCompany }}" {{- if not (eq .Values.clearml.cookieDomain "") }} - name: CLEARML__APISERVER__AUTH__SESSION_AUTH_COOKIE_NAME @@ -84,26 +84,6 @@ spec: secretKeyRef: name: clearml-conf key: apiserver_secret - - name: CLEARML__secure__credentials__fileserver__user_key - valueFrom: - secretKeyRef: - name: clearml-conf - key: fileserver_key - - name: CLEARML__secure__credentials__fileserver__user_secret - valueFrom: - secretKeyRef: - name: clearml-conf - key: fileserver_secret - - name: CLEARML__secure__applications__agents_credentials__apps_agent__user_key - valueFrom: - secretKeyRef: - name: clearml-conf - key: apps_agent_key - - name: CLEARML__secure__applications__agents_credentials__apps_agent__user_secret - valueFrom: - secretKeyRef: - name: clearml-conf - key: apps_agent_secret - name: CLEARML__secure__auth__token_secret valueFrom: secretKeyRef: @@ -158,8 +138,28 @@ spec: value: {{ .Values.apiserver.indexShards | quote }} - name: CLEARML__APISERVER__LOG_CALLS value: "false" - - name: CLEARML_ENV + - name: ALLEGRO_ENV value: "onprem_k8s" + - name: CLEARML__secure__credentials__fileserver__user_key + valueFrom: + secretKeyRef: + name: clearml-conf + key: fileserver_key + - name: CLEARML__secure__credentials__fileserver__user_secret + valueFrom: + secretKeyRef: + name: clearml-conf + key: fileserver_secret + - name: CLEARML__secure__applications__agents_credentials__apps_agent__user_key + valueFrom: + secretKeyRef: + name: clearml-conf + key: apps_agent_key + - name: CLEARML__secure__applications__agents_credentials__apps_agent__user_secret + valueFrom: + secretKeyRef: + name: clearml-conf + key: apps_agent_secret {{- else }} - name: CLEARML__SECURE__CREDENTIALS__TESTS__USER_KEY valueFrom: @@ -202,7 +202,11 @@ spec: {{- if .Values.apiserver.additionalConfigs }} volumeMounts: - name: apiserver-config + {{- if .Values.enterpriseFeatures.enabled }} mountPath: /opt/clearml/config/default + {{- else }} + mountPath: /opt/clearml/config + {{- end }} {{- end }} resources: {{- toYaml .Values.apiserver.resources | nindent 12 }}