From 049e609ce081e6e0681040900d145123d0286ae0 Mon Sep 17 00:00:00 2001 From: Zied ANDOLSI Date: Wed, 16 Mar 2022 18:04:56 +0100 Subject: [PATCH] add image pull secret + add ingress path (#55) --- charts/clearml/Chart.yaml | 2 +- charts/clearml/README.md | 10 ++++++++-- charts/clearml/templates/_helpers.tpl | 14 ++++++++++++++ .../templates/configmap-agentk8s-template.yaml | 8 ++++---- charts/clearml/templates/configmap-webserver.yaml | 13 +++++++++++++ charts/clearml/templates/deployment-apiserver.yaml | 1 + .../clearml/templates/deployment-fileserver.yaml | 1 + charts/clearml/templates/deployment-webserver.yaml | 14 +++++++++++++- charts/clearml/templates/ingress-api.yaml | 4 ++-- charts/clearml/templates/ingress-app.yaml | 4 ++-- charts/clearml/templates/ingress-files.yaml | 4 ++-- charts/clearml/values.yaml | 12 +++++++++++- 12 files changed, 72 insertions(+), 15 deletions(-) create mode 100755 charts/clearml/templates/configmap-webserver.yaml mode change 100644 => 100755 charts/clearml/values.yaml diff --git a/charts/clearml/Chart.yaml b/charts/clearml/Chart.yaml index 4113dba..d279934 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: "3.6.0" +version: "3.7.0" appVersion: "1.2.0" home: https://clear.ml icon: https://raw.githubusercontent.com/allegroai/clearml/master/docs/clearml-logo.svg diff --git a/charts/clearml/README.md b/charts/clearml/README.md index 9cbdc0a..fb517b1 100644 --- a/charts/clearml/README.md +++ b/charts/clearml/README.md @@ -1,6 +1,6 @@ # ClearML Ecosystem for Kubernetes -![Version: 3.6.0](https://img.shields.io/badge/Version-3.6.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.2.0](https://img.shields.io/badge/AppVersion-1.2.0-informational?style=flat-square) +![Version: 3.7.0](https://img.shields.io/badge/Version-3.7.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.2.0](https://img.shields.io/badge/AppVersion-1.2.0-informational?style=flat-square) MLOps platform @@ -282,14 +282,19 @@ For detailed instructions, see the [Optional Configuration](https://github.com/a | fileserver.tolerations | list | `[]` | | | ingress.annotations | object | `{}` | | | ingress.api.annotations | object | `{}` | | +| ingress.api.enabled | bool | `false` | | | ingress.api.hostName | string | `"api.clearml.127-0-0-1.nip.io"` | | +| ingress.api.path | string | `"/"` | | | ingress.api.tlsSecretName | string | `""` | | | ingress.app.annotations | object | `{}` | | +| ingress.app.enabled | bool | `false` | | | ingress.app.hostName | string | `"app.clearml.127-0-0-1.nip.io"` | | +| ingress.app.path | string | `"/"` | | | ingress.app.tlsSecretName | string | `""` | | -| ingress.enabled | bool | `false` | | | ingress.files.annotations | object | `{}` | | +| ingress.files.enabled | bool | `false` | | | ingress.files.hostName | string | `"files.clearml.127-0-0-1.nip.io"` | | +| ingress.files.path | string | `"/"` | | | ingress.files.tlsSecretName | string | `""` | | | ingress.name | string | `"clearml-server-ingress"` | | | mongodb.architecture | string | `"standalone"` | | @@ -318,6 +323,7 @@ For detailed instructions, see the [Optional Configuration](https://github.com/a | secret.credentials.tests.accessKey | string | `"ENP39EQM4SLACGD5FXB7"` | Set for tests_user_key field | | secret.credentials.tests.secretKey | string | `"lPcm0imbcBZ8mwgO7tpadutiS3gnJD05x9j7afwXPS35IKbpiQ"` | Set for tests_user_secret field | | secret.httpSession | string | `"9Tw20RbhJ1bLBiHEOWXvhplKGUbTgLzAtwFN2oLQvWwS0uRpD5"` | Set for http_session field | +| webserver.additionalConfigs | object | `{}` | | | webserver.affinity | object | `{}` | | | webserver.extraEnvs | list | `[]` | | | webserver.image.pullPolicy | string | `"IfNotPresent"` | | diff --git a/charts/clearml/templates/_helpers.tpl b/charts/clearml/templates/_helpers.tpl index 232f5ae..ccd4862 100644 --- a/charts/clearml/templates/_helpers.tpl +++ b/charts/clearml/templates/_helpers.tpl @@ -140,3 +140,17 @@ Create the name of the Files service to use {{- printf "%s%s%s%s" "http://" (include "clearml.fullname" .) "-fileserver:" (.Values.fileserver.service.port | toString) }} {{- end }} {{- end }} + +{{/* +Return the proper Docker Image Registry Secret Names +*/}} +{{- define "clearml.imagePullSecrets" -}} +{{- if .Values.global }} +{{- if .Values.global.imagePullSecrets }} +imagePullSecrets: +{{- range .Values.global.imagePullSecrets }} + - name: {{ . }} +{{- end }} +{{- end -}} +{{- end -}} +{{- end -}} diff --git a/charts/clearml/templates/configmap-agentk8s-template.yaml b/charts/clearml/templates/configmap-agentk8s-template.yaml index d317771..8fa349e 100644 --- a/charts/clearml/templates/configmap-agentk8s-template.yaml +++ b/charts/clearml/templates/configmap-agentk8s-template.yaml @@ -15,18 +15,18 @@ data: - name: {{ .name }} persistentVolumeClaim: claimName: {{ .name }} - {{- end }} + {{- end }} containers: - resources: {{- toYaml .Values.agentk8sglue.podTemplate.resources | nindent 10 }} ports: - containerPort: 10022 - volumeMounts: + volumeMounts: {{- range .Values.agentk8sglue.podTemplate.volumes }} - mountPath: {{ .path }} name: {{ .name }} - {{- end }} - env: + {{- end }} + env: - name: CLEARML_API_HOST value: "http://{{ include "clearml.fullname" . }}-apiserver:{{ .Values.apiserver.service.port }}" - name: CLEARML_WEB_HOST diff --git a/charts/clearml/templates/configmap-webserver.yaml b/charts/clearml/templates/configmap-webserver.yaml new file mode 100755 index 0000000..1d14c41 --- /dev/null +++ b/charts/clearml/templates/configmap-webserver.yaml @@ -0,0 +1,13 @@ +{{- if .Values.webserver.additionalConfigs -}} +apiVersion: v1 +kind: ConfigMap +metadata: + name: "{{ include "clearml.fullname" . }}-webserver-configmap" + labels: + {{- include "clearml.labels" . | nindent 4 }} +data: + {{- range $key, $val := .Values.webserver.additionalConfigs }} + {{ $key }}: | + {{- $val | nindent 4 }} + {{- end }} +{{- end -}} diff --git a/charts/clearml/templates/deployment-apiserver.yaml b/charts/clearml/templates/deployment-apiserver.yaml index a8bda17..04ac474 100644 --- a/charts/clearml/templates/deployment-apiserver.yaml +++ b/charts/clearml/templates/deployment-apiserver.yaml @@ -19,6 +19,7 @@ spec: labels: {{- include "clearml.selectorLabelsApiServer" . | nindent 8 }} spec: +{{- include "clearml.imagePullSecrets" . | indent 6 }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.apiserver.image.repository }}:{{ .Values.apiserver.image.tag | default .Chart.AppVersion }}" diff --git a/charts/clearml/templates/deployment-fileserver.yaml b/charts/clearml/templates/deployment-fileserver.yaml index f3cf04f..d920c57 100644 --- a/charts/clearml/templates/deployment-fileserver.yaml +++ b/charts/clearml/templates/deployment-fileserver.yaml @@ -22,6 +22,7 @@ spec: - name: fileserver-data persistentVolumeClaim: claimName: {{ include "clearml.fullname" . }}-fileserver-data +{{- include "clearml.imagePullSecrets" . | indent 6 }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.fileserver.image.repository }}:{{ .Values.fileserver.image.tag | default .Chart.AppVersion }}" diff --git a/charts/clearml/templates/deployment-webserver.yaml b/charts/clearml/templates/deployment-webserver.yaml index 57c7381..87f3fa6 100644 --- a/charts/clearml/templates/deployment-webserver.yaml +++ b/charts/clearml/templates/deployment-webserver.yaml @@ -18,6 +18,7 @@ spec: labels: {{- include "clearml.selectorLabelsWebServer" . | nindent 8 }} spec: +{{- include "clearml.imagePullSecrets" . | indent 6 }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.webserver.image.repository }}:{{ .Values.webserver.image.tag | default .Chart.AppVersion }}" @@ -38,6 +39,11 @@ spec: - curl - -X OPTIONS - http://0.0.0.0:80/ + {{- if .Values.webserver.additionalConfigs }} + volumeMounts: + - name: webserver-config + mountPath: /opt/clearml/config + {{- end }} env: - name: NGINX_APISERVER_ADDRESS value: "http://{{ include "clearml.fullname" . }}-apiserver:{{ .Values.apiserver.service.port }}" @@ -50,6 +56,12 @@ spec: - webserver resources: {{- toYaml .Values.webserver.resources | nindent 12 }} + {{- if .Values.webserver.additionalConfigs }} + volumes: + - name: webserver-config + configMap: + name: "{{ include "clearml.fullname" . }}-webserver-configmap" + {{- end }} {{- with .Values.webserver.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} @@ -61,4 +73,4 @@ spec: {{- with .Values.webserver.tolerations }} tolerations: {{- toYaml . | nindent 8 }} - {{- end }} + {{- end }} \ No newline at end of file diff --git a/charts/clearml/templates/ingress-api.yaml b/charts/clearml/templates/ingress-api.yaml index eca9fde..25ef825 100644 --- a/charts/clearml/templates/ingress-api.yaml +++ b/charts/clearml/templates/ingress-api.yaml @@ -1,4 +1,4 @@ -{{- if .Values.ingress.enabled -}} +{{- if .Values.ingress.api.enabled -}} {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} apiVersion: networking.k8s.io/v1 {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} @@ -29,7 +29,7 @@ spec: - host: {{ .Values.ingress.api.hostName }} http: paths: - - path: "/" + - path: {{ .Values.ingress.api.path }} {{ if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion }} pathType: Prefix backend: diff --git a/charts/clearml/templates/ingress-app.yaml b/charts/clearml/templates/ingress-app.yaml index 3485394..f3d69e1 100644 --- a/charts/clearml/templates/ingress-app.yaml +++ b/charts/clearml/templates/ingress-app.yaml @@ -1,4 +1,4 @@ -{{- if .Values.ingress.enabled -}} +{{- if .Values.ingress.app.enabled -}} {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} apiVersion: networking.k8s.io/v1 {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} @@ -28,7 +28,7 @@ spec: - host: {{ .Values.ingress.app.hostName }} http: paths: - - path: "/" + - path: {{ .Values.ingress.app.path }} {{ if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion }} pathType: Prefix backend: diff --git a/charts/clearml/templates/ingress-files.yaml b/charts/clearml/templates/ingress-files.yaml index dc8cb07..8c8702d 100644 --- a/charts/clearml/templates/ingress-files.yaml +++ b/charts/clearml/templates/ingress-files.yaml @@ -1,4 +1,4 @@ -{{- if .Values.ingress.enabled -}} +{{- if .Values.ingress.files.enabled -}} {{- if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion -}} apiVersion: networking.k8s.io/v1 {{- else if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} @@ -28,7 +28,7 @@ spec: - host: {{ .Values.ingress.files.hostName }} http: paths: - - path: "/" + - path: {{ .Values.ingress.files.path }} {{ if semverCompare ">=1.19-0" .Capabilities.KubeVersion.GitVersion }} pathType: Prefix backend: diff --git a/charts/clearml/values.yaml b/charts/clearml/values.yaml old mode 100644 new mode 100755 index aab87b7..a6b2079 --- a/charts/clearml/values.yaml +++ b/charts/clearml/values.yaml @@ -1,21 +1,29 @@ +# global: +# imagePullSecrets: +# - docker-cfg clearml: defaultCompany: "d1bd92a3b039400cbafc60a7a5b1e52b" ingress: - enabled: false name: clearml-server-ingress annotations: {} app: + enabled: false hostName: "app.clearml.127-0-0-1.nip.io" tlsSecretName: "" annotations: {} + path: "/" api: + enabled: false hostName: "api.clearml.127-0-0-1.nip.io" tlsSecretName: "" annotations: {} + path: "/" files: + enabled: false hostName: "files.clearml.127-0-0-1.nip.io" tlsSecretName: "" annotations: {} + path: "/" secret: # -- Set for http_session field @@ -175,6 +183,8 @@ webserver: affinity: {} + additionalConfigs: {} + agentservices: enabled: false clearmlHostIp: null