Compare commits

...

15 Commits

Author SHA1 Message Date
Filippo Brintazzoli
4885e01750 Fixed: ClearML org rename (#346)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2025-01-21 17:04:32 +01:00
Filippo Brintazzoli
311f6ea9e0 Fixed: ClearML org rename (#345)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2025-01-21 17:03:57 +01:00
Filippo Brintazzoli
966a0e69ab Fixed: ClearML org rename (#344)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2025-01-21 17:03:00 +01:00
Filippo Brintazzoli
4cd31fa843 Fixed: release because of previous artifacthub fix (#341)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2025-01-09 11:05:31 +01:00
Filippo Brintazzoli
6b2954ab9f Fixed: artifacthub annotation (#340)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2025-01-09 10:50:00 +01:00
Filippo Brintazzoli
fc518f9389 Changed: App v2.0 and MongoDB v6 (#339)
* Changed: App v2.0 and MongoDB v6

* Fixed: helm-docs

---------

Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2025-01-09 10:05:12 +01:00
Filippo Brintazzoli
389159aa0c [clearml] Updated app version to 1.17.1 and MongoDB v5 (#338)
* Changed: Updated app version 1.17.1

* Changed: updated to Mongo 5

---------

Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2025-01-03 09:58:48 +01:00
Filippo Brintazzoli
7c53365cd8 Added: Support for additional ServiceAccount annotations (#337)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2025-01-02 16:36:58 +01:00
Daglar Berk Erdem
a51c7ee856 [ClearML] Added service account annotations (#336)
* fix: removed harcoded apiVersion

* feat: add support for custom annotations to the created service account

* feat: added service account annotations

* chore: updated README.md

* chore: chart version bump

* Revert "fix: removed harcoded apiVersion"

This reverts commit 18da292366.

* Revert "feat: add support for custom annotations to the created service account"

This reverts commit 8dc926bf1b.

---------

Co-authored-by: Dağlar Berk Erdem <daglar@codeway.co>
2025-01-02 15:56:11 +01:00
Filippo Brintazzoli
67c3720cf9 Changed: Kind versions for CI (#329)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2024-10-07 14:24:19 +02:00
Filippo Brintazzoli
c501ede9be Added: Support for Kubernetes 1.31 (#328)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2024-10-07 14:21:23 +02:00
Filippo Brintazzoli
10a33b65f7 Added: Support for Kubernetes 1.31 (#327)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2024-10-07 14:20:39 +02:00
Filippo Brintazzoli
0866033bac Fixed: Triton deployment tolerations placement fix (#325)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2024-09-27 17:10:16 +02:00
Ben Lewis
02a87e18f5 Fix duplicate CLEARML__secure__auth__token_secret in apiserver-asyncdelete-deployment.yaml (#322)
* Fix duplicate `CLEARML__secure__auth__token_secret` in `apiserver-asyncdelete-deployment.yaml`

* Bump `version` in `Chart.yaml`

* Bump version in `README.md`

* Update Chart.yaml

Apply request to change `Chart.yaml`
2024-09-23 09:56:29 +02:00
Filippo Brintazzoli
7532609c35 Changed: Update to 1.16.2 (#315)
Co-authored-by: fbrintazzoli <filippo.brintazzoli@clear.ml>
2024-08-27 17:21:54 +02:00
19 changed files with 123 additions and 95 deletions

View File

@@ -24,9 +24,9 @@ jobs:
strategy:
matrix:
k8s:
- v1.28.9
- v1.29.4
- v1.30.0
- v1.29.8
- v1.30.4
- v1.31.0
steps:
- name: Checkout
uses: actions/checkout@v4.1.7

View File

@@ -2,14 +2,14 @@ apiVersion: v2
name: clearml-agent
description: MLOps platform Task running agent
type: application
version: "5.2.2"
version: "5.3.1"
appVersion: "1.24"
kubeVersion: ">= 1.21.0-0 < 1.31.0-0"
kubeVersion: ">= 1.21.0-0 < 1.32.0-0"
home: https://clear.ml
icon: https://raw.githubusercontent.com/allegroai/clearml/master/docs/clearml-logo.svg
icon: https://raw.githubusercontent.com/clearml/clearml/master/docs/clearml-logo.svg
sources:
- https://github.com/allegroai/clearml-helm-charts
- https://github.com/allegroai/clearml
- https://github.com/clearml/clearml-helm-charts
- https://github.com/clearml/clearml
maintainers:
- name: filippo-clearml
url: https://github.com/filippo-clearml
@@ -20,5 +20,5 @@ keywords:
- "task agent"
annotations:
artifacthub.io/changes: |
- kind: changed
description: Updated README
- kind: fixed
description: "ClearML org rename"

View File

@@ -1,6 +1,6 @@
# ClearML Kubernetes Agent
![Version: 5.2.2](https://img.shields.io/badge/Version-5.2.2-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: 5.3.1](https://img.shields.io/badge/Version-5.3.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 Task running agent
@@ -14,7 +14,7 @@ MLOps platform Task running agent
## Introduction
The **clearml-agent** is the Kubernetes agent for for [ClearML](https://github.com/allegroai/clearml).
The **clearml-agent** is the Kubernetes agent for for [ClearML](https://github.com/clearml/clearml).
It allows you to schedule distributed experiments on a Kubernetes cluster.
## Add to local Helm repository
@@ -22,7 +22,7 @@ It allows you to schedule distributed experiments on a Kubernetes cluster.
To add this chart to your local Helm repository:
```
helm repo add allegroai https://allegroai.github.io/clearml-helm-charts
helm repo add clearml https://clearml.github.io/clearml-helm-charts
```
# Upgrading Chart
@@ -33,13 +33,13 @@ Updating to latest version of this chart can be done in two steps:
```
helm repo update
helm upgrade clearml-agent allegroai/clearml-agent
helm upgrade clearml-agent clearml/clearml-agent
```
Changing values on existing installation can be done with:
```
helm upgrade clearml-agent allegroai/clearml-agent --version <CURRENT CHART VERSION> -f custom_values.yaml
helm upgrade clearml-agent clearml/clearml-agent --version <CURRENT CHART VERSION> -f custom_values.yaml
```
### Major upgrade from 3.* to 4.*
@@ -50,18 +50,18 @@ Before issuing helm upgrade:
## Source Code
* <https://github.com/allegroai/clearml-helm-charts>
* <https://github.com/allegroai/clearml>
* <https://github.com/clearml/clearml-helm-charts>
* <https://github.com/clearml/clearml>
## Requirements
Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
Kubernetes: `>= 1.21.0-0 < 1.32.0-0`
## Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| agentk8sglue | object | `{"additionalClusterRoleBindings":[],"additionalRoleBindings":[],"affinity":{},"annotations":{},"apiServerUrlReference":"https://api.clear.ml","basePodTemplate":{"affinity":{},"annotations":{},"containerSecurityContext":{},"env":[],"fileMounts":[],"hostAliases":[],"initContainers":[],"labels":{},"nodeSelector":{},"podSecurityContext":{},"priorityClassName":"","resources":{},"schedulerName":"","tolerations":[],"volumeMounts":[],"volumes":[]},"clearmlcheckCertificate":true,"containerSecurityContext":{},"createQueueIfNotExists":false,"defaultContainerImage":"ubuntu:18.04","extraEnvs":[],"fileMounts":[],"fileServerUrlReference":"https://files.clear.ml","image":{"registry":"","repository":"allegroai/clearml-agent-k8s-base","tag":"1.24-21"},"initContainers":{"resources":{}},"labels":{},"nodeSelector":{},"podSecurityContext":{},"queue":"default","replicaCount":1,"resources":{},"serviceExistingAccountName":"","tolerations":[],"volumeMounts":[],"volumes":[],"webServerUrlReference":"https://app.clear.ml"}` | This agent will spawn queued experiments in new pods, a good use case is to combine this with GPU autoscaling nodes. https://github.com/allegroai/clearml-agent/tree/master/docker/k8s-glue |
| agentk8sglue | object | `{"additionalClusterRoleBindings":[],"additionalRoleBindings":[],"affinity":{},"annotations":{},"apiServerUrlReference":"https://api.clear.ml","basePodTemplate":{"affinity":{},"annotations":{},"containerSecurityContext":{},"env":[],"fileMounts":[],"hostAliases":[],"initContainers":[],"labels":{},"nodeSelector":{},"podSecurityContext":{},"priorityClassName":"","resources":{},"schedulerName":"","tolerations":[],"volumeMounts":[],"volumes":[]},"clearmlcheckCertificate":true,"containerSecurityContext":{},"createQueueIfNotExists":false,"defaultContainerImage":"ubuntu:18.04","extraEnvs":[],"fileMounts":[],"fileServerUrlReference":"https://files.clear.ml","image":{"registry":"","repository":"allegroai/clearml-agent-k8s-base","tag":"1.24-21"},"initContainers":{"resources":{}},"labels":{},"nodeSelector":{},"podSecurityContext":{},"queue":"default","replicaCount":1,"resources":{},"serviceAccountAnnotations":{},"serviceExistingAccountName":"","tolerations":[],"volumeMounts":[],"volumes":[],"webServerUrlReference":"https://app.clear.ml"}` | This agent will spawn queued experiments in new pods, a good use case is to combine this with GPU autoscaling nodes. https://github.com/clearml/clearml-agent/tree/master/docker/k8s-glue |
| agentk8sglue.additionalClusterRoleBindings | list | `[]` | additional existing ClusterRoleBindings |
| agentk8sglue.additionalRoleBindings | list | `[]` | additional existing RoleBindings |
| agentk8sglue.affinity | object | `{}` | affinity setup for Agent pod (example in values.yaml comments) |
@@ -100,7 +100,8 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
| agentk8sglue.queue | string | `"default"` | ClearML queue this agent will consume. Multiple queues can be specified with the following format: queue1,queue2,queue3 |
| agentk8sglue.replicaCount | int | `1` | Glue Agent number of pods |
| agentk8sglue.resources | object | `{}` | Glue Agent pod resources |
| agentk8sglue.serviceExistingAccountName | string | `""` | if set, don't create a serviceAccountName but use defined existing one |
| agentk8sglue.serviceAccountAnnotations | object | `{}` | Add the provided map to the annotations for the ServiceAccount resource created by this chart |
| agentk8sglue.serviceExistingAccountName | string | `""` | If set, do not create a serviceAccountName and use the existing one with the provided name |
| agentk8sglue.tolerations | list | `[]` | tolerations setup for Agent pod (example in values.yaml comments) |
| agentk8sglue.volumeMounts | list | `[]` | volume mounts definition for Glue Agent (example in values.yaml comments) |
| agentk8sglue.volumes | list | `[]` | volumes definition for Glue Agent (example in values.yaml comments) |

View File

@@ -11,7 +11,7 @@
## Introduction
The **clearml-agent** is the Kubernetes agent for for [ClearML](https://github.com/allegroai/clearml).
The **clearml-agent** is the Kubernetes agent for for [ClearML](https://github.com/clearml/clearml).
It allows you to schedule distributed experiments on a Kubernetes cluster.
## Add to local Helm repository
@@ -19,7 +19,7 @@ It allows you to schedule distributed experiments on a Kubernetes cluster.
To add this chart to your local Helm repository:
```
helm repo add allegroai https://allegroai.github.io/clearml-helm-charts
helm repo add clearml https://clearml.github.io/clearml-helm-charts
```
# Upgrading Chart
@@ -30,13 +30,13 @@ Updating to latest version of this chart can be done in two steps:
```
helm repo update
helm upgrade clearml-agent allegroai/clearml-agent
helm upgrade clearml-agent clearml/clearml-agent
```
Changing values on existing installation can be done with:
```
helm upgrade clearml-agent allegroai/clearml-agent --version <CURRENT CHART VERSION> -f custom_values.yaml
helm upgrade clearml-agent clearml/clearml-agent --version <CURRENT CHART VERSION> -f custom_values.yaml
```
### Major upgrade from 3.* to 4.*

View File

@@ -4,6 +4,10 @@ kind: ServiceAccount
metadata:
name: {{ include "clearmlAgent.serviceAccountName" . }}
namespace: {{ .Release.Namespace }}
{{- if .Values.agentk8sglue.serviceAccountAnnotations }}
annotations:
{{- toYaml .Values.agentk8sglue.serviceAccountAnnotations | nindent 4 }}
{{- end }}
{{- end }}
---
apiVersion: rbac.authorization.k8s.io/v1

View File

@@ -46,7 +46,7 @@ clearml:
# -- This agent will spawn queued experiments in new pods, a good use case is to combine this with
# GPU autoscaling nodes.
# https://github.com/allegroai/clearml-agent/tree/master/docker/k8s-glue
# https://github.com/clearml/clearml-agent/tree/master/docker/k8s-glue
agentk8sglue:
# -- Glue Agent image configuration
image:
@@ -65,7 +65,9 @@ agentk8sglue:
# -- Glue Agent initcontainers pod resources
resources: {}
# -- if set, don't create a serviceAccountName but use defined existing one
# -- Add the provided map to the annotations for the ServiceAccount resource created by this chart
serviceAccountAnnotations: {}
# -- If set, do not create a serviceAccountName and use the existing one with the provided name
serviceExistingAccountName: ""
# -- Check certificates validity for evefry UrlReference below.

View File

@@ -2,14 +2,14 @@ apiVersion: v2
name: clearml-serving
description: ClearML Serving Helm Chart
type: application
version: "1.5.7"
version: "1.5.9"
appVersion: "1.3.0"
kubeVersion: ">= 1.21.0-0 < 1.31.0-0"
kubeVersion: ">= 1.21.0-0 < 1.32.0-0"
home: https://clear.ml
icon: https://raw.githubusercontent.com/allegroai/clearml/master/docs/clearml-logo.svg
icon: https://raw.githubusercontent.com/clearml/clearml/master/docs/clearml-logo.svg
sources:
- https://github.com/allegroai/clearml-helm-charts
- https://github.com/allegroai/clearml
- https://github.com/clearml/clearml-helm-charts
- https://github.com/clearml/clearml
maintainers:
- name: filippo-clearml
url: https://github.com/filippo-clearml
@@ -33,5 +33,5 @@ dependencies:
condition: grafana.enabled
annotations:
artifacthub.io/changes: |
- kind: changed
description: Updated README
- kind: fixed
description: ClearML org rename

View File

@@ -1,6 +1,6 @@
# ClearML Kubernetes Serving
![Version: 1.5.7](https://img.shields.io/badge/Version-1.5.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.3.0](https://img.shields.io/badge/AppVersion-1.3.0-informational?style=flat-square)
![Version: 1.5.9](https://img.shields.io/badge/Version-1.5.9-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.3.0](https://img.shields.io/badge/AppVersion-1.3.0-informational?style=flat-square)
ClearML Serving Helm Chart
@@ -14,7 +14,7 @@ ClearML Serving Helm Chart
## Introduction
The **clearml-serving** is the Kubernetes serving for for [ClearML](https://github.com/allegroai/clearml-serving).
The **clearml-serving** is the Kubernetes serving for for [ClearML](https://github.com/clearml/clearml-serving).
It allows you to serve models on a Kubernetes cluster.
## Add to local Helm repository
@@ -22,7 +22,7 @@ It allows you to serve models on a Kubernetes cluster.
To add this chart to your local Helm repository:
```
helm repo add allegroai https://allegroai.github.io/clearml-helm-charts
helm repo add clearml https://clearml.github.io/clearml-helm-charts
```
# Upgrading Chart
@@ -33,23 +33,23 @@ Updating to latest version of this chart can be done in two steps:
```
helm repo update
helm upgrade clearml-serving allegroai/clearml-serving
helm upgrade clearml-serving clearml/clearml-serving
```
Changing values on existing installation can be done with:
```
helm upgrade clearml-serving allegroai/clearml-serving --version <CURRENT CHART VERSION> -f custom_values.yaml
helm upgrade clearml-serving clearml/clearml-serving --version <CURRENT CHART VERSION> -f custom_values.yaml
```
## Source Code
* <https://github.com/allegroai/clearml-helm-charts>
* <https://github.com/allegroai/clearml>
* <https://github.com/clearml/clearml-helm-charts>
* <https://github.com/clearml/clearml>
## Requirements
Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
Kubernetes: `>= 1.21.0-0 < 1.32.0-0`
| Repository | Name | Version |
|------------|------|---------|

View File

@@ -11,7 +11,7 @@
## Introduction
The **clearml-serving** is the Kubernetes serving for for [ClearML](https://github.com/allegroai/clearml-serving).
The **clearml-serving** is the Kubernetes serving for for [ClearML](https://github.com/clearml/clearml-serving).
It allows you to serve models on a Kubernetes cluster.
## Add to local Helm repository
@@ -19,7 +19,7 @@ It allows you to serve models on a Kubernetes cluster.
To add this chart to your local Helm repository:
```
helm repo add allegroai https://allegroai.github.io/clearml-helm-charts
helm repo add clearml https://clearml.github.io/clearml-helm-charts
```
# Upgrading Chart
@@ -30,13 +30,13 @@ Updating to latest version of this chart can be done in two steps:
```
helm repo update
helm upgrade clearml-serving allegroai/clearml-serving
helm upgrade clearml-serving clearml/clearml-serving
```
Changing values on existing installation can be done with:
```
helm upgrade clearml-serving allegroai/clearml-serving --version <CURRENT CHART VERSION> -f custom_values.yaml
helm upgrade clearml-serving clearml/clearml-serving --version <CURRENT CHART VERSION> -f custom_values.yaml
```
{{ template "chart.sourcesSection" . }}

View File

@@ -48,6 +48,10 @@ spec:
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.clearml_serving_triton.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- env:
- name: CLEARML_API_ACCESS_KEY
@@ -82,10 +86,6 @@ spec:
- name: additional-config
mountPath: /opt/clearml/config
{{- end }}
{{- with .Values.clearml_serving_triton.tolerations }}
tolerations:
{{- toYaml . | nindent 12 }}
{{- end }}
resources:
{{- toYaml .Values.clearml_serving_triton.resources | nindent 12 }}
restartPolicy: Always

View File

@@ -4,9 +4,9 @@ dependencies:
version: 17.8.3
- name: mongodb
repository: https://charts.bitnami.com/bitnami
version: 12.1.31
version: 13.18.5
- name: elasticsearch
repository: https://helm.elastic.co
version: 7.17.3
digest: sha256:e92c4ac212dfd90a527af0260fa71a5fcc33f485a21c1cca3daa2ced667858b2
generated: "2023-03-10T14:59:49.01676+01:00"
digest: sha256:d5864444fa8c5cb66a83ec02cdbe4b0776f9f6538dfe67132be7eeb2781b50e4
generated: "2025-01-07T15:18:46.845769+01:00"

View File

@@ -2,14 +2,14 @@ apiVersion: v2
name: clearml
description: MLOps platform
type: application
version: "7.11.2"
appVersion: "1.16"
kubeVersion: ">= 1.21.0-0 < 1.31.0-0"
version: "7.14.2"
appVersion: "2.0"
kubeVersion: ">= 1.21.0-0 < 1.32.0-0"
home: https://clear.ml
icon: https://raw.githubusercontent.com/allegroai/clearml/master/docs/clearml-logo.svg
icon: https://raw.githubusercontent.com/clearml/clearml/master/docs/clearml-logo.svg
sources:
- https://github.com/allegroai/clearml-helm-charts
- https://github.com/allegroai/clearml
- https://github.com/clearml/clearml-helm-charts
- https://github.com/clearml/clearml
maintainers:
- name: filippo-clearml
url: https://github.com/filippo-clearml
@@ -23,7 +23,7 @@ dependencies:
repository: "https://charts.bitnami.com/bitnami"
condition: redis.enabled
- name: mongodb
version: "12.1.31"
version: "13.18.5"
repository: "https://charts.bitnami.com/bitnami"
condition: mongodb.enabled
- name: elasticsearch
@@ -32,5 +32,5 @@ dependencies:
condition: elasticsearch.enabled
annotations:
artifacthub.io/changes: |
- kind: changed
description: Updated README
- kind: fixed
description: "ClearML org rename"

View File

@@ -1,6 +1,6 @@
# ClearML Ecosystem for Kubernetes
![Version: 7.11.2](https://img.shields.io/badge/Version-7.11.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.16](https://img.shields.io/badge/AppVersion-1.16-informational?style=flat-square)
![Version: 7.14.2](https://img.shields.io/badge/Version-7.14.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.0](https://img.shields.io/badge/AppVersion-2.0-informational?style=flat-square)
MLOps platform
@@ -14,7 +14,7 @@ MLOps platform
## Introduction
The **clearml-server** is the backend service infrastructure for [ClearML](https://github.com/allegroai/clearml).
The **clearml-server** is the backend service infrastructure for [ClearML](https://github.com/clearml/clearml).
It allows multiple users to collaborate and manage their experiments.
**clearml-server** contains the following components:
@@ -30,7 +30,7 @@ It allows multiple users to collaborate and manage their experiments.
To add this chart to your local Helm repository:
```
helm repo add allegroai https://allegroai.github.io/clearml-helm-charts
helm repo add clearml https://clearml.github.io/clearml-helm-charts
```
## Local environment
@@ -68,7 +68,7 @@ nodes:
containerPath: /var/local-path-provisioner
EOF
helm install clearml allegroai/clearml
helm install clearml clearml/clearml
```
After deployment, the services will be exposed on localhost on the following ports:
@@ -96,7 +96,7 @@ Just pointing the domain records to the IP where ingress controller is respondin
A production ready cluster should also have some different configuration like the one proposed in `values-production.yaml` that can be applied with:
```
helm install clearml allegroai/clearml -f values-production.yaml
helm install clearml clearml/clearml -f values-production.yaml
```
## Upgrades/ Values upgrades
@@ -105,13 +105,13 @@ Updating to latest version of this chart can be done in two steps:
```
helm repo update
helm upgrade clearml allegroai/clearml
helm upgrade clearml clearml/clearml
```
Changing values on existing installation can be done with:
```
helm upgrade clearml allegroai/clearml --version <CURRENT CHART VERSION> -f custom_values.yaml
helm upgrade clearml clearml/clearml --version <CURRENT CHART VERSION> -f custom_values.yaml
```
Please note: updating values only should always be done setting explicit chart version to avoid a possible chart update.
@@ -132,20 +132,20 @@ You can also configure the **clearml-server** for:
* fixed users (users with credentials)
* non-responsive experiment watchdog settings
For detailed instructions, see the [Optional Configuration](https://github.com/allegroai/clearml-server#optional-configuration) section in the **clearml-server** repository README file.
For detailed instructions, see the [Optional Configuration](https://github.com/clearml/clearml-server#optional-configuration) section in the **clearml-server** repository README file.
## Source Code
* <https://github.com/allegroai/clearml-helm-charts>
* <https://github.com/allegroai/clearml>
* <https://github.com/clearml/clearml-helm-charts>
* <https://github.com/clearml/clearml>
## Requirements
Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
Kubernetes: `>= 1.21.0-0 < 1.32.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://charts.bitnami.com/bitnami | mongodb | 12.1.31 |
| https://charts.bitnami.com/bitnami | mongodb | 13.18.5 |
| https://charts.bitnami.com/bitnami | redis | 17.8.3 |
| https://helm.elastic.co | elasticsearch | 7.17.3 |
@@ -153,7 +153,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| apiserver | object | `{"additionalConfigs":{},"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":null,"enabled":true,"existingAdditionalConfigsConfigMap":"","existingAdditionalConfigsSecret":"","extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"},"ingress":{"annotations":{},"enabled":false,"hostName":"api.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"prepopulateEnabled":true,"processes":{"count":8,"maxRequests":1000,"maxRequestsJitter":300,"timeout":24000},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30008,"port":8008,"type":"NodePort"},"serviceAccountName":"clearml","tolerations":[]}` | Api Server configurations |
| apiserver | object | `{"additionalConfigs":{},"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":null,"enabled":true,"existingAdditionalConfigsConfigMap":"","existingAdditionalConfigsSecret":"","extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"2.0.0-613"},"ingress":{"annotations":{},"enabled":false,"hostName":"api.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"prepopulateEnabled":true,"processes":{"count":8,"maxRequests":1000,"maxRequestsJitter":300,"timeout":24000},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30008,"port":8008,"type":"NodePort"},"serviceAccountAnnotations":{},"serviceAccountName":"clearml","tolerations":[]}` | Api Server configurations |
| apiserver.additionalConfigs | object | `{}` | files declared in this parameter will be mounted and read by apiserver (examples in values.yaml) if not overridden by existingAdditionalConfigsSecret |
| apiserver.additionalVolumeMounts | object | `{}` | Specifies where and how the volumes defined in additionalVolumes. |
| apiserver.additionalVolumes | object | `{}` | # Defines extra Kubernetes volumes to be attached to the pod. |
@@ -164,7 +164,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
| apiserver.existingAdditionalConfigsConfigMap | string | `""` | reference for files declared in existing ConfigMap will be mounted and read by apiserver (examples in values.yaml) |
| apiserver.existingAdditionalConfigsSecret | string | `""` | reference for files declared in existing Secret will be mounted and read by apiserver (examples in values.yaml) if not overridden by existingAdditionalConfigsConfigMap |
| apiserver.extraEnvs | list | `[]` | Api Server extra envrinoment variables |
| apiserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"}` | Api Server image configuration |
| apiserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"2.0.0-613"}` | Api Server image configuration |
| apiserver.ingress | object | `{"annotations":{},"enabled":false,"hostName":"api.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""}` | Ingress configuration for Api Server component |
| apiserver.ingress.annotations | object | `{}` | Ingress annotations |
| apiserver.ingress.enabled | bool | `false` | Enable/Disable ingress |
@@ -187,6 +187,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
| apiserver.service | object | `{"annotations":{},"nodePort":30008,"port":8008,"type":"NodePort"}` | Api Server internal service configuration |
| apiserver.service.annotations | object | `{}` | specific annotation for Api Server service |
| apiserver.service.nodePort | int | `30008` | If service.type set to NodePort, this will be set to service's nodePort field. If service.type is set to others, this field will be ignored |
| apiserver.serviceAccountAnnotations | object | `{}` | Add the provided map to the annotations for the ServiceAccount resource created by this chart. |
| apiserver.serviceAccountName | string | `"clearml"` | The default serviceAccountName to be used |
| apiserver.tolerations | list | `[]` | Api Server tolerations setup |
| clearml | object | `{"apiserverKey":"GGS9F4M6XB2DXJ5AFT9F","apiserverSecret":"2oGujVFhPfaozhpuz2GzQfA5OyxmMsR3WVJpsCR5hrgHFs20PO","clientConfigurationApiUrl":"","clientConfigurationFilesUrl":"","cookieDomain":"","cookieName":"clearml-token-k8s","defaultCompany":"d1bd92a3b039400cbafc60a7a5b1e52b","existingSecret":"","fileserverKey":"XXCRJ123CEE2KSQ068WO","fileserverSecret":"YIy8EVAC7QCT4FtgitxAQGyW7xRHDZ4jpYlTE7HKiscpORl1hG","readinessprobeKey":"GK4PRTVT3706T25K6BA1","readinessprobeSecret":"ymLh1ok5k5xNUQfS944Xdx9xjf0wueokqKM2dMZfHuH9ayItG2","secureAuthTokenSecret":"ymLh1ok5k5xNUQfS944Xdx9xjf0wueokqKM2dMZfHuH9ayItG2","testUserKey":"ENP39EQM4SLACGD5FXB7","testUserSecret":"lPcm0imbcBZ8mwgO7tpadutiS3gnJD05x9j7afwXPS35IKbpiQ"}` | ClearMl generic configurations |
@@ -212,7 +213,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
| externalServices.mongodbConnectionStringBackend | string | `"mongodb://mongodb_hostnamehostname:27017/backend"` | Existing MongoDB connection string for AUTH to use if mongodb.enabled is false (example in values.yaml) |
| externalServices.redisHost | string | `"redis_hostname"` | Existing Redis Hostname to use if redis.enabled is false (example in values.yaml) |
| externalServices.redisPort | int | `6379` | Existing Redis Port to use if redis.enabled is false |
| fileserver | object | `{"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"},"ingress":{"annotations":{},"enabled":false,"hostName":"files.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30081,"port":8081,"type":"NodePort"},"serviceAccountName":"clearml","storage":{"data":{"accessMode":"ReadWriteOnce","class":"","existingPVC":"","size":"50Gi"},"enabled":true},"tolerations":[]}` | File Server configurations |
| fileserver | object | `{"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"2.0.0-613"},"ingress":{"annotations":{},"enabled":false,"hostName":"files.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30081,"port":8081,"type":"NodePort"},"serviceAccountAnnotations":{},"serviceAccountName":"clearml","storage":{"data":{"accessMode":"ReadWriteOnce","class":"","existingPVC":"","size":"50Gi"},"enabled":true},"tolerations":[]}` | File Server configurations |
| fileserver.additionalVolumeMounts | object | `{}` | Specifies where and how the volumes defined in additionalVolumes. |
| fileserver.additionalVolumes | object | `{}` | # Defines extra Kubernetes volumes to be attached to the pod. |
| fileserver.affinity | object | `{}` | File Server affinity setup |
@@ -220,7 +221,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
| fileserver.deploymentAnnotations | object | `{}` | Add the provided map to the annotations for the Deployment resource created by this chart. |
| fileserver.enabled | bool | `true` | Enable/Disable component deployment |
| fileserver.extraEnvs | list | `[]` | File Server extra envrinoment variables |
| fileserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"}` | File Server image configuration |
| fileserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"2.0.0-613"}` | File Server image configuration |
| fileserver.ingress | object | `{"annotations":{},"enabled":false,"hostName":"files.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""}` | Ingress configuration for File Server component |
| fileserver.ingress.annotations | object | `{}` | Ingress annotations |
| fileserver.ingress.enabled | bool | `false` | Enable/Disable ingress |
@@ -237,6 +238,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
| fileserver.service | object | `{"annotations":{},"nodePort":30081,"port":8081,"type":"NodePort"}` | File Server internal service configuration |
| fileserver.service.annotations | object | `{}` | specific annotation for File Server service |
| fileserver.service.nodePort | int | `30081` | If service.type set to NodePort, this will be set to service's nodePort field. If service.type is set to others, this field will be ignored |
| fileserver.serviceAccountAnnotations | object | `{}` | Add the provided map to the annotations for the ServiceAccount resource created by this chart. |
| fileserver.serviceAccountName | string | `"clearml"` | The default serviceAccountName to be used |
| fileserver.storage | object | `{"data":{"accessMode":"ReadWriteOnce","class":"","existingPVC":"","size":"50Gi"},"enabled":true}` | File server persistence settings |
| fileserver.storage.data.accessMode | string | `"ReadWriteOnce"` | Access mode (must be ReadWriteMany if fileserver replica > 1) |
@@ -253,9 +255,9 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
| imageCredentials.password | string | `"pwd"` | Registry password |
| imageCredentials.registry | string | `"docker.io"` | Registry name |
| imageCredentials.username | string | `"someone"` | Registry username |
| mongodb | object | `{"architecture":"standalone","auth":{"enabled":false},"enabled":true,"persistence":{"accessModes":["ReadWriteOnce"],"enabled":true,"size":"50Gi","storageClass":null},"replicaCount":1}` | Configuration from https://github.com/bitnami/charts/blob/master/bitnami/mongodb/values.yaml |
| mongodb | object | `{"architecture":"standalone","auth":{"enabled":false},"enabled":true,"persistence":{"accessModes":["ReadWriteOnce"],"enabled":true,"size":"50Gi","storageClass":null},"replicaCount":1,"updateStrategy":{"rollingUpdate":{"maxSurge":0,"maxUnavailable":1},"type":"RollingUpdate"}}` | Configuration from https://github.com/bitnami/charts/blob/master/bitnami/mongodb/values.yaml |
| redis | object | `{"architecture":"standalone","auth":{"enabled":false},"databaseNumber":0,"enabled":true,"master":{"name":"{{ .Release.Name }}-redis-master","persistence":{"accessModes":["ReadWriteOnce"],"enabled":true,"size":"5Gi","storageClass":null},"port":6379}}` | Configuration from https://github.com/bitnami/charts/blob/master/bitnami/redis/values.yaml |
| webserver | object | `{"additionalConfigs":{},"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"},"ingress":{"annotations":{},"enabled":false,"hostName":"app.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30080,"port":8080,"type":"NodePort"},"serviceAccountName":"clearml","tolerations":[]}` | Web Server configurations |
| webserver | object | `{"additionalConfigs":{},"additionalVolumeMounts":{},"additionalVolumes":{},"affinity":{},"containerSecurityContext":{},"deploymentAnnotations":{},"enabled":true,"extraEnvs":[],"image":{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"2.0.0-613"},"ingress":{"annotations":{},"enabled":false,"hostName":"app.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""},"initContainers":{"resources":{"limits":{"cpu":"10m","memory":"64Mi"},"requests":{"cpu":"10m","memory":"64Mi"}}},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"2000m","memory":"1Gi"},"requests":{"cpu":"100m","memory":"256Mi"}},"service":{"annotations":{},"nodePort":30080,"port":8080,"type":"NodePort"},"serviceAccountAnnotations":{},"serviceAccountName":"clearml","tolerations":[]}` | Web Server configurations |
| webserver.additionalConfigs | object | `{}` | Additional specific webserver configurations |
| webserver.additionalVolumeMounts | object | `{}` | Specifies where and how the volumes defined in additionalVolumes. |
| webserver.additionalVolumes | object | `{}` | # Defines extra Kubernetes volumes to be attached to the pod. |
@@ -264,7 +266,7 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
| webserver.deploymentAnnotations | object | `{}` | Add the provided map to the annotations for the Deployment resource created by this chart. |
| webserver.enabled | bool | `true` | Enable/Disable component deployment |
| webserver.extraEnvs | list | `[]` | Web Server extra envrinoment variables |
| webserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"1.16.1-499"}` | Web Server image configuration |
| webserver.image | object | `{"pullPolicy":"IfNotPresent","registry":"","repository":"allegroai/clearml","tag":"2.0.0-613"}` | Web Server image configuration |
| webserver.ingress | object | `{"annotations":{},"enabled":false,"hostName":"app.clearml.127-0-0-1.nip.io","ingressClassName":"","path":"/","tlsSecretName":""}` | Ingress configuration for Web Server component |
| webserver.ingress.annotations | object | `{}` | Ingress annotations |
| webserver.ingress.enabled | bool | `false` | Enable/Disable ingress |
@@ -281,5 +283,6 @@ Kubernetes: `>= 1.21.0-0 < 1.31.0-0`
| webserver.service | object | `{"annotations":{},"nodePort":30080,"port":8080,"type":"NodePort"}` | Web Server internal service configuration |
| webserver.service.annotations | object | `{}` | specific annotation for Web Server service |
| webserver.service.nodePort | int | `30080` | If service.type set to NodePort, this will be set to service's nodePort field. If service.type is set to others, this field will be ignored |
| webserver.serviceAccountAnnotations | object | `{}` | Add the provided map to the annotations for the ServiceAccount resource created by this chart. |
| webserver.serviceAccountName | string | `"clearml"` | The default serviceAccountName to be used |
| webserver.tolerations | list | `[]` | Web Server tolerations setup |

View File

@@ -11,7 +11,7 @@
## Introduction
The **clearml-server** is the backend service infrastructure for [ClearML](https://github.com/allegroai/clearml).
The **clearml-server** is the backend service infrastructure for [ClearML](https://github.com/clearml/clearml).
It allows multiple users to collaborate and manage their experiments.
**clearml-server** contains the following components:
@@ -27,7 +27,7 @@ It allows multiple users to collaborate and manage their experiments.
To add this chart to your local Helm repository:
```
helm repo add allegroai https://allegroai.github.io/clearml-helm-charts
helm repo add clearml https://clearml.github.io/clearml-helm-charts
```
## Local environment
@@ -65,7 +65,7 @@ nodes:
containerPath: /var/local-path-provisioner
EOF
helm install clearml allegroai/clearml
helm install clearml clearml/clearml
```
After deployment, the services will be exposed on localhost on the following ports:
@@ -93,7 +93,7 @@ Just pointing the domain records to the IP where ingress controller is respondin
A production ready cluster should also have some different configuration like the one proposed in `values-production.yaml` that can be applied with:
```
helm install clearml allegroai/clearml -f values-production.yaml
helm install clearml clearml/clearml -f values-production.yaml
```
## Upgrades/ Values upgrades
@@ -102,13 +102,13 @@ Updating to latest version of this chart can be done in two steps:
```
helm repo update
helm upgrade clearml allegroai/clearml
helm upgrade clearml clearml/clearml
```
Changing values on existing installation can be done with:
```
helm upgrade clearml allegroai/clearml --version <CURRENT CHART VERSION> -f custom_values.yaml
helm upgrade clearml clearml/clearml --version <CURRENT CHART VERSION> -f custom_values.yaml
```
Please note: updating values only should always be done setting explicit chart version to avoid a possible chart update.
@@ -129,7 +129,7 @@ You can also configure the **clearml-server** for:
* fixed users (users with credentials)
* non-responsive experiment watchdog settings
For detailed instructions, see the [Optional Configuration](https://github.com/allegroai/clearml-server#optional-configuration) section in the **clearml-server** repository README file.
For detailed instructions, see the [Optional Configuration](https://github.com/clearml/clearml-server#optional-configuration) section in the **clearml-server** repository README file.
{{ template "chart.sourcesSection" . }}

Binary file not shown.

View File

@@ -121,11 +121,6 @@ spec:
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
{{- if or .Values.apiserver.additionalConfigs .Values.apiserver.existingAdditionalConfigsConfigMap .Values.apiserver.existingAdditionalConfigsSecret }}
volumeMounts:
- name: apiserver-config

View File

@@ -2,13 +2,25 @@ apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.apiserver.serviceAccountName }}-apiserver
{{- if .Values.apiserver.serviceAccountAnnotations }}
annotations:
{{- toYaml .Values.apiserver.serviceAccountAnnotations | nindent 4 }}
{{- end }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.fileserver.serviceAccountName }}-fileserver
{{- if .Values.fileserver.serviceAccountAnnotations }}
annotations:
{{- toYaml .Values.fileserver.serviceAccountAnnotations | nindent 4 }}
{{- end }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.webserver.serviceAccountName }}-webserver
{{- if .Values.webserver.serviceAccountAnnotations }}
annotations:
{{- toYaml .Values.webserver.serviceAccountAnnotations | nindent 4 }}
{{- end }}

View File

@@ -62,12 +62,14 @@ apiserver:
prepopulateEnabled: true
# -- The default serviceAccountName to be used
serviceAccountName: clearml
# -- Add the provided map to the annotations for the ServiceAccount resource created by this chart.
serviceAccountAnnotations: {}
# -- Api Server image configuration
image:
registry: ""
repository: "allegroai/clearml"
pullPolicy: IfNotPresent
tag: "1.16.1-499"
tag: "2.0.0-613"
# -- Api Server internal service configuration
service:
# -- specific annotation for Api Server service
@@ -190,12 +192,14 @@ fileserver:
deploymentAnnotations: {}
# -- The default serviceAccountName to be used
serviceAccountName: clearml
# -- Add the provided map to the annotations for the ServiceAccount resource created by this chart.
serviceAccountAnnotations: {}
# -- File Server image configuration
image:
registry: ""
repository: "allegroai/clearml"
pullPolicy: IfNotPresent
tag: "1.16.1-499"
tag: "2.0.0-613"
# -- File Server internal service configuration
service:
# -- specific annotation for File Server service
@@ -286,12 +290,14 @@ webserver:
deploymentAnnotations: {}
# -- The default serviceAccountName to be used
serviceAccountName: clearml
# -- Add the provided map to the annotations for the ServiceAccount resource created by this chart.
serviceAccountAnnotations: {}
# -- Web Server image configuration
image:
registry: ""
repository: "allegroai/clearml"
pullPolicy: IfNotPresent
tag: "1.16.1-499"
tag: "2.0.0-613"
# -- Web Server internal service configuration
service:
# -- specific annotation for Web Server service
@@ -398,6 +404,11 @@ redis:
# -- Configuration from https://github.com/bitnami/charts/blob/master/bitnami/mongodb/values.yaml
mongodb:
enabled: true
updateStrategy:
rollingUpdate:
maxSurge: 0
maxUnavailable: 1
type: RollingUpdate
architecture: standalone
auth:
enabled: false