Fix full name and nonroot pod template (#188)

* Fixed: typo

* Added: /tmp env var

* Changed: use fullname

* Fixed: fullname usage
This commit is contained in:
Valeriano Manassero 2023-03-20 09:19:43 +01:00 committed by GitHub
parent 6d9771be41
commit 957b7b2423
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 90 additions and 68 deletions

View File

@ -2,7 +2,7 @@ apiVersion: v2
name: clearml-agent name: clearml-agent
description: MLOps platform Task running agent description: MLOps platform Task running agent
type: application type: application
version: "4.0.1" version: "4.0.2"
appVersion: "1.24" appVersion: "1.24"
kubeVersion: ">= 1.21.0-0 < 1.27.0-0" kubeVersion: ">= 1.21.0-0 < 1.27.0-0"
home: https://clear.ml home: https://clear.ml
@ -20,6 +20,7 @@ keywords:
- "task agent" - "task agent"
annotations: annotations:
artifacthub.io/changes: | artifacthub.io/changes: |
- kind: changed - kind: fixed
description: informational stuff refactoring description: extra envs in base pod template
- kind: fixed
description: fullname usage

View File

@ -1,6 +1,6 @@
# ClearML Kubernetes Agent # ClearML Kubernetes Agent
![Version: 4.0.1](https://img.shields.io/badge/Version-4.0.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) ![Version: 4.0.2](https://img.shields.io/badge/Version-4.0.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)
MLOps platform Task running agent MLOps platform Task running agent
@ -52,7 +52,7 @@ Enabling this features on OSS version can cause the entire installation to break
In environments like Openshift or Tanzu it can be required to run non-root/non-privileged pods/containers. In environments like Openshift or Tanzu it can be required to run non-root/non-privileged pods/containers.
In this case it's recommended to use `values-enterprise-non-root-privileged.yaml` as base for override file. In this case it's recommended to use `values-enterprise-non-root-privileged.yaml` as base for override file.
Keep in mind it's not possible to install packages on non-root containers so images used for Tasks must already have python and pip installed. Keep in mind it's not possible to install packages on non-root containers so images used for Tasks must already have python, pip and git installed.
## Source Code ## Source Code

View File

@ -49,7 +49,7 @@ Enabling this features on OSS version can cause the entire installation to break
In environments like Openshift or Tanzu it can be required to run non-root/non-privileged pods/containers. In environments like Openshift or Tanzu it can be required to run non-root/non-privileged pods/containers.
In this case it's recommended to use `values-enterprise-non-root-privileged.yaml` as base for override file. In this case it's recommended to use `values-enterprise-non-root-privileged.yaml` as base for override file.
Keep in mind it's not possible to install packages on non-root containers so images used for Tasks must already have python and pip installed. Keep in mind it's not possible to install packages on non-root containers so images used for Tasks must already have python, pip and git installed.
{{ template "chart.sourcesSection" . }} {{ template "chart.sourcesSection" . }}

View File

@ -2,7 +2,25 @@
Expand the name of the chart. Expand the name of the chart.
*/}} */}}
{{- define "clearmlAgent.name" -}} {{- define "clearmlAgent.name" -}}
{{- .Release.Name | trunc 59 | trimSuffix "-" }} {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "clearmlAgent.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }} {{- end }}
{{/* {{/*
@ -40,7 +58,7 @@ Common annotations
Selector labels Selector labels
*/}} */}}
{{- define "clearmlAgent.selectorLabels" -}} {{- define "clearmlAgent.selectorLabels" -}}
app.kubernetes.io/name: {{ include "clearmlAgent.name" . }} app.kubernetes.io/name: {{ include "clearmlAgent.fullname" . }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }} {{- end }}
@ -48,8 +66,8 @@ app.kubernetes.io/instance: {{ .Release.Name }}
Selector labels (agentk8sglue) Selector labels (agentk8sglue)
*/}} */}}
{{- define "agentk8sglue.selectorLabels" -}} {{- define "agentk8sglue.selectorLabels" -}}
app.kubernetes.io/name: {{ include "clearmlAgent.name" . }} app.kubernetes.io/name: {{ include "clearmlAgent.fullname" . }}
app.kubernetes.io/instance: {{ include "clearmlAgent.name" . }} app.kubernetes.io/instance: {{ include "clearmlAgent.fullname" . }}
{{- end }} {{- end }}
{{/* {{/*
@ -75,7 +93,7 @@ Create the name of the service account to use
{{- if .Values.agentk8sglue.serviceExistingAccountName }} {{- if .Values.agentk8sglue.serviceExistingAccountName }}
{{- .Values.agentk8sglue.serviceExistingAccountName }} {{- .Values.agentk8sglue.serviceExistingAccountName }}
{{- else }} {{- else }}
{{- include "clearmlAgent.name" . }}-sa {{- include "clearmlAgent.fullname" . }}-sa
{{- end }} {{- end }}
{{- end }} {{- end }}
@ -116,7 +134,7 @@ Create a task container template
{{- define "taskContainer.containerTemplate" -}} {{- define "taskContainer.containerTemplate" -}}
{{- if .main.Values.imageCredentials.enabled }} {{- if .main.Values.imageCredentials.enabled }}
imagePullSecrets: imagePullSecrets:
- name: {{ .main.Values.imageCredentials.existingSecret | default (printf "%s-ark" (include "clearmlAgent.name" .main )) }} - name: {{ .main.Values.imageCredentials.existingSecret | default (printf "%s-ark" (include "clearmlAgent.fullname" .main )) }}
{{- end }} {{- end }}
schedulerName: {{ .value.templateOverrides.schedulerName | default (.main.Values.agentk8sglue.basePodTemplate.schedulerName) }} schedulerName: {{ .value.templateOverrides.schedulerName | default (.main.Values.agentk8sglue.basePodTemplate.schedulerName) }}
restartPolicy: Never restartPolicy: Never
@ -130,11 +148,11 @@ volumes:
{{- if .value.templateOverrides.fileMounts }} {{- if .value.templateOverrides.fileMounts }}
- name: filemounts - name: filemounts
secret: secret:
secretName: {{ include "clearmlAgent.name" .main }}-{{ .key }}-fm secretName: {{ include "clearmlAgent.fullname" .main }}-{{ .key }}-fm
{{- else if .main.Values.agentk8sglue.basePodTemplate.fileMounts }} {{- else if .main.Values.agentk8sglue.basePodTemplate.fileMounts }}
- name: filemounts - name: filemounts
secret: secret:
secretName: {{ include "clearmlAgent.name" .main }}-fm secretName: {{ include "clearmlAgent.fullname" .main }}-fm
{{- end }} {{- end }}
{{- if not .main.Values.enterpriseFeatures.serviceAccountClusterAccess }} {{- if not .main.Values.enterpriseFeatures.serviceAccountClusterAccess }}
serviceAccountName: {{ include "clearmlAgent.serviceAccountName" .main }} serviceAccountName: {{ include "clearmlAgent.serviceAccountName" .main }}
@ -178,12 +196,12 @@ containers:
- name: CLEARML_API_ACCESS_KEY - name: CLEARML_API_ACCESS_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ .main.Values.clearml.existingAgentk8sglueSecret | default (printf "%s-ac" (include "clearmlAgent.name" .main )) }} name: {{ .main.Values.clearml.existingAgentk8sglueSecret | default (printf "%s-ac" (include "clearmlAgent.fullname" .main )) }}
key: agentk8sglue_key key: agentk8sglue_key
- name: CLEARML_API_SECRET_KEY - name: CLEARML_API_SECRET_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ .main.Values.clearml.existingAgentk8sglueSecret | default (printf "%s-ac" (include "clearmlAgent.name" .main )) }} name: {{ .main.Values.clearml.existingAgentk8sglueSecret | default (printf "%s-ac" (include "clearmlAgent.fullname" .main )) }}
key: agentk8sglue_secret key: agentk8sglue_secret
{{- end }} {{- end }}
- name: PYTHONUNBUFFERED - name: PYTHONUNBUFFERED
@ -192,7 +210,7 @@ containers:
- name: CLEARML_API_HOST_VERIFY_CERT - name: CLEARML_API_HOST_VERIFY_CERT
value: "false" value: "false"
{{- end }} {{- end }}
{{ $computedenvs := (.value.templateOverrides.env| default .main.Values.agentk8sglue.basePodTemplate.env) }} {{- $computedenvs := (.value.templateOverrides.env | default .main.Values.agentk8sglue.basePodTemplate.env) -}}
{{- if $computedenvs }}{{- $computedenvs | toYaml | nindent 4 }}{{- end }} {{- if $computedenvs }}{{- $computedenvs | toYaml | nindent 4 }}{{- end }}
nodeSelector: nodeSelector:
{{ .value.templateOverrides.nodeSelector | default .main.Values.agentk8sglue.basePodTemplate.nodeSelector | toYaml | nindent 2 }} {{ .value.templateOverrides.nodeSelector | default .main.Values.agentk8sglue.basePodTemplate.nodeSelector | toYaml | nindent 2 }}

View File

@ -1,7 +1,7 @@
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: {{ include "clearmlAgent.name" . }}-pt name: {{ include "clearmlAgent.fullname" . }}-pt
data: data:
{{- if .Values.enterpriseFeatures.enabled }} {{- if .Values.enterpriseFeatures.enabled }}
template.yaml: | template.yaml: |
@ -14,9 +14,9 @@ data:
{{- range $key, $value := $.Values.enterpriseFeatures.queues }} {{- range $key, $value := $.Values.enterpriseFeatures.queues }}
{{ $key }}: {{ $key }}:
{{- if $value.templateOverrides.fileMounts }} {{- if $value.templateOverrides.fileMounts }}
- {{ include "clearmlAgent.name" $ }}-{{ $key }}-fm - {{ include "clearmlAgent.fullname" $ }}-{{ $key }}-fm
{{- else if $.Values.agentk8sglue.basePodTemplate.fileMounts }} {{- else if $.Values.agentk8sglue.basePodTemplate.fileMounts }}
- {{ include "clearmlAgent.name" $ }}-fm - {{ include "clearmlAgent.fullname" $ }}-fm
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- else }} {{- else }}
@ -34,7 +34,7 @@ data:
{{- if .Values.imageCredentials.existingSecret }} {{- if .Values.imageCredentials.existingSecret }}
- name: {{ .Values.imageCredentials.existingSecret }} - name: {{ .Values.imageCredentials.existingSecret }}
{{- else }} {{- else }}
- name: name: {{ include "clearmlAgent.name" $ }}-ark - name: name: {{ include "clearmlAgent.fullname" $ }}-ark
{{- end }} {{- end }}
{{- end }} {{- end }}
{{- with .Values.agentk8sglue.basePodTemplate.volumes }} {{- with .Values.agentk8sglue.basePodTemplate.volumes }}
@ -69,7 +69,7 @@ data:
{{- if .Values.clearml.existingAgentk8sglueSecret }} {{- if .Values.clearml.existingAgentk8sglueSecret }}
name: {{ .Values.clearml.existingAgentk8sglueSecret }} name: {{ .Values.clearml.existingAgentk8sglueSecret }}
{{- else }} {{- else }}
name: {{ include "clearmlAgent.name" . }}-ac name: {{ include "clearmlAgent.fullname" . }}-ac
{{- end }} {{- end }}
key: agentk8sglue_key key: agentk8sglue_key
- name: CLEARML_API_SECRET_KEY - name: CLEARML_API_SECRET_KEY
@ -78,7 +78,7 @@ data:
{{- if .Values.clearml.existingAgentk8sglueSecret }} {{- if .Values.clearml.existingAgentk8sglueSecret }}
name: {{ .Values.clearml.existingAgentk8sglueSecret }} name: {{ .Values.clearml.existingAgentk8sglueSecret }}
{{- else }} {{- else }}
name: {{ include "clearmlAgent.name" . }}-ac name: {{ include "clearmlAgent.fullname" . }}-ac
{{- end }} {{- end }}
key: agentk8sglue_secret key: agentk8sglue_secret
{{- if .Values.agentk8sglue.basePodTemplate.env }} {{- if .Values.agentk8sglue.basePodTemplate.env }}

View File

@ -1,7 +1,7 @@
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:
name: {{ include "clearmlAgent.name" . }} name: {{ include "clearmlAgent.fullname" . }}
labels: labels:
{{- include "clearmlAgent.labels" . | nindent 4 }} {{- include "clearmlAgent.labels" . | nindent 4 }}
annotations: annotations:
@ -24,7 +24,7 @@ spec:
{{- if .Values.imageCredentials.existingSecret }} {{- if .Values.imageCredentials.existingSecret }}
- name: {{ .Values.imageCredentials.existingSecret }} - name: {{ .Values.imageCredentials.existingSecret }}
{{- else }} {{- else }}
- name: {{ include "clearmlAgent.name" . }}-ark - name: {{ include "clearmlAgent.fullname" . }}-ark
{{- end }} {{- end }}
{{- end }} {{- end }}
serviceAccountName: {{ include "clearmlAgent.serviceAccountName" . }} serviceAccountName: {{ include "clearmlAgent.serviceAccountName" . }}
@ -71,7 +71,7 @@ spec:
export PATH=$PATH:$HOME/bin; export PATH=$PATH:$HOME/bin;
source /root/.bashrc && /root/entrypoint.sh source /root/.bashrc && /root/entrypoint.sh
volumeMounts: volumeMounts:
- name: {{ include "clearmlAgent.name" . }}-pt - name: {{ include "clearmlAgent.fullname" . }}-pt
mountPath: /root/template mountPath: /root/template
{{ if .Values.clearml.clearmlConfig }} {{ if .Values.clearml.clearmlConfig }}
- name: k8sagent-clearml-conf-volume - name: k8sagent-clearml-conf-volume
@ -129,15 +129,15 @@ spec:
- name: CLEARML_API_ACCESS_KEY - name: CLEARML_API_ACCESS_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "clearmlAgent.name" . }}-ac name: {{ include "clearmlAgent.fullname" . }}-ac
key: agentk8sglue_key key: agentk8sglue_key
- name: CLEARML_API_SECRET_KEY - name: CLEARML_API_SECRET_KEY
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: {{ include "clearmlAgent.name" . }}-ac name: {{ include "clearmlAgent.fullname" . }}-ac
key: agentk8sglue_secret key: agentk8sglue_secret
- name: CLEARML_WORKER_ID - name: CLEARML_WORKER_ID
value: {{ include "clearmlAgent.name" . }} value: {{ include "clearmlAgent.fullname" . }}
- name: CLEARML_AGENT_UPDATE_REPO - name: CLEARML_AGENT_UPDATE_REPO
value: "" value: ""
- name: FORCE_CLEARML_AGENT_REPO - name: FORCE_CLEARML_AGENT_REPO
@ -204,13 +204,13 @@ spec:
securityContext: securityContext:
{{ toYaml .Values.agentk8sglue.containerSecurityContext | nindent 12 }} {{ toYaml .Values.agentk8sglue.containerSecurityContext | nindent 12 }}
volumes: volumes:
- name: {{ include "clearmlAgent.name" . }}-pt - name: {{ include "clearmlAgent.fullname" . }}-pt
configMap: configMap:
name: {{ include "clearmlAgent.name" . }}-pt name: {{ include "clearmlAgent.fullname" . }}-pt
{{ if .Values.clearml.clearmlConfig }} {{ if .Values.clearml.clearmlConfig }}
- name: k8sagent-clearml-conf-volume - name: k8sagent-clearml-conf-volume
secret: secret:
secretName: {{ include "clearmlAgent.name" . }}-ac secretName: {{ include "clearmlAgent.fullname" . }}-ac
items: items:
- key: clearml.conf - key: clearml.conf
path: clearml.conf path: clearml.conf
@ -218,7 +218,7 @@ spec:
{{ if .Values.agentk8sglue.fileMounts }} {{ if .Values.agentk8sglue.fileMounts }}
- name: filemounts - name: filemounts
secret: secret:
secretName: {{ include "clearmlAgent.name" . }}-afm secretName: {{ include "clearmlAgent.fullname" . }}-afm
{{ end }} {{ end }}
{{- if .Values.agentk8sglue.volumes }} {{- if .Values.agentk8sglue.volumes }}
{{- toYaml .Values.agentk8sglue.volumes | nindent 8 }} {{- toYaml .Values.agentk8sglue.volumes | nindent 8 }}

View File

@ -10,7 +10,7 @@ metadata:
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole kind: ClusterRole
metadata: metadata:
name: {{ include "clearmlAgent.name" . }}-kpa name: {{ include "clearmlAgent.fullname" . }}-kpa
rules: rules:
- apiGroups: - apiGroups:
- "" - ""
@ -36,7 +36,7 @@ rules:
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
name: {{ include "clearmlAgent.name" . }}-kpa name: {{ include "clearmlAgent.fullname" . }}-kpa
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ include "clearmlAgent.serviceAccountName" . }} name: {{ include "clearmlAgent.serviceAccountName" . }}
@ -44,13 +44,13 @@ subjects:
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: ClusterRole kind: ClusterRole
name: {{ include "clearmlAgent.name" . }}-kpa name: {{ include "clearmlAgent.fullname" . }}-kpa
{{- else }} {{- else }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: Role kind: Role
metadata: metadata:
name: {{ include "clearmlAgent.name" . }}-kpa name: {{ include "clearmlAgent.fullname" . }}-kpa
rules: rules:
- apiGroups: - apiGroups:
- "" - ""
@ -76,7 +76,7 @@ rules:
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding kind: RoleBinding
metadata: metadata:
name: {{ include "clearmlAgent.name" . }}-kpa name: {{ include "clearmlAgent.fullname" . }}-kpa
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ include "clearmlAgent.serviceAccountName" . }} name: {{ include "clearmlAgent.serviceAccountName" . }}
@ -84,14 +84,14 @@ subjects:
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: Role kind: Role
name: {{ include "clearmlAgent.name" . }}-kpa name: {{ include "clearmlAgent.fullname" . }}-kpa
{{- end }} {{- end }}
{{- range .Values.agentk8sglue.additionalClusterRoleBindings }} {{- range .Values.agentk8sglue.additionalClusterRoleBindings }}
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding kind: ClusterRoleBinding
metadata: metadata:
name: {{ include "clearmlAgent.name" $ }}-kpa-{{ . }} name: {{ include "clearmlAgent.fullname" $ }}-kpa-{{ . }}
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ include "clearmlAgent.serviceAccountName" $ }} name: {{ include "clearmlAgent.serviceAccountName" $ }}
@ -106,7 +106,7 @@ roleRef:
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding kind: RoleBinding
metadata: metadata:
name: {{ include "clearmlAgent.name" $ }}-kpa-{{ . }} name: {{ include "clearmlAgent.fullname" $ }}-kpa-{{ . }}
subjects: subjects:
- kind: ServiceAccount - kind: ServiceAccount
name: {{ include "clearmlAgent.serviceAccountName" $ }} name: {{ include "clearmlAgent.serviceAccountName" $ }}

View File

@ -1,7 +1,7 @@
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: {{ include "clearmlAgent.name" . }}-ac name: {{ include "clearmlAgent.fullname" . }}-ac
data: data:
agentk8sglue_key: {{ .Values.clearml.agentk8sglueKey | b64enc }} agentk8sglue_key: {{ .Values.clearml.agentk8sglueKey | b64enc }}
agentk8sglue_secret: {{ .Values.clearml.agentk8sglueSecret | b64enc }} agentk8sglue_secret: {{ .Values.clearml.agentk8sglueSecret | b64enc }}
@ -12,7 +12,7 @@ data:
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: {{ include "clearmlAgent.name" . }}-ark name: {{ include "clearmlAgent.fullname" . }}-ark
type: kubernetes.io/dockerconfigjson type: kubernetes.io/dockerconfigjson
data: data:
.dockerconfigjson: {{ template "imagePullSecret" . }} .dockerconfigjson: {{ template "imagePullSecret" . }}

View File

@ -2,7 +2,7 @@
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: {{ include "clearmlAgent.name" . }}-afm name: {{ include "clearmlAgent.fullname" . }}-afm
data: data:
{{- range .Values.agentk8sglue.fileMounts }} {{- range .Values.agentk8sglue.fileMounts }}
{{ .name }}: {{ .fileContent | b64enc }} {{ .name }}: {{ .fileContent | b64enc }}
@ -14,7 +14,7 @@ data:
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: {{ include "clearmlAgent.name" . }}-fm name: {{ include "clearmlAgent.fullname" . }}-fm
data: data:
{{- range .Values.agentk8sglue.basePodTemplate.fileMounts }} {{- range .Values.agentk8sglue.basePodTemplate.fileMounts }}
{{ .name }}: {{ .fileContent | b64enc }} {{ .name }}: {{ .fileContent | b64enc }}
@ -26,7 +26,7 @@ data:
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: {{ include "clearmlAgent.name" $ }}-{{ $key }}-fm name: {{ include "clearmlAgent.fullname" $ }}-{{ $key }}-fm
data: data:
{{- range .templateOverrides.fileMounts }} {{- range .templateOverrides.fileMounts }}
{{ .name }}: {{ .fileContent | b64enc }} {{ .name }}: {{ .fileContent | b64enc }}

View File

@ -22,6 +22,9 @@ agentk8sglue:
value: /tmp/__start_agent__.sh value: /tmp/__start_agent__.sh
basePodTemplate: basePodTemplate:
env:
- name: HOME
value: /tmp
containerSecurityContext: containerSecurityContext:
runAsUser: 1000 runAsUser: 1000
runAsNonRoot: true runAsNonRoot: true

View File

@ -2,7 +2,7 @@ apiVersion: v2
name: clearml name: clearml
description: MLOps platform description: MLOps platform
type: application type: application
version: "6.0.1" version: "6.0.2"
appVersion: "1.9.2" appVersion: "1.9.2"
kubeVersion: ">= 1.21.0-0 < 1.27.0-0" kubeVersion: ">= 1.21.0-0 < 1.27.0-0"
home: https://clear.ml home: https://clear.ml
@ -32,5 +32,5 @@ dependencies:
condition: elasticsearch.enabled condition: elasticsearch.enabled
annotations: annotations:
artifacthub.io/changes: | artifacthub.io/changes: |
- kind: changed - kind: fixed
description: informational stuff refactoring description: fullname usage

View File

@ -1,6 +1,6 @@
# ClearML Ecosystem for Kubernetes # ClearML Ecosystem for Kubernetes
![Version: 6.0.1](https://img.shields.io/badge/Version-6.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.9.2](https://img.shields.io/badge/AppVersion-1.9.2-informational?style=flat-square) ![Version: 6.0.2](https://img.shields.io/badge/Version-6.0.2-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 1.9.2](https://img.shields.io/badge/AppVersion-1.9.2-informational?style=flat-square)
MLOps platform MLOps platform

View File

@ -11,7 +11,7 @@
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "clearml.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}") export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "clearml.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
echo http://$SERVICE_IP:{{ .Values.webserver.service.port }} echo http://$SERVICE_IP:{{ .Values.webserver.service.port }}
{{- else if contains "ClusterIP" .Values.webserver.service.type }} {{- else if contains "ClusterIP" .Values.webserver.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "clearml.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "clearml.fullname" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}") export CONTAINER_PORT=$(kubectl get pod --namespace {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
echo "Visit http://127.0.0.1:8080 to use your application" echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:$CONTAINER_PORT

View File

@ -46,7 +46,7 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
Selector labels Selector labels
*/}} */}}
{{- define "clearml.selectorLabels" -}} {{- define "clearml.selectorLabels" -}}
app.kubernetes.io/name: {{ include "clearml.name" . }} app.kubernetes.io/name: {{ include "clearml.fullname" . }}
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }} {{- end }}
@ -70,14 +70,14 @@ Registry name
Reference Name (apiserver) Reference Name (apiserver)
*/}} */}}
{{- define "apiserver.referenceName" -}} {{- define "apiserver.referenceName" -}}
{{- include "clearml.name" . }}-apiserver {{- include "clearml.fullname" . }}-apiserver
{{- end }} {{- end }}
{{/* {{/*
Selector labels (apiserver) Selector labels (apiserver)
*/}} */}}
{{- define "apiserver.selectorLabels" -}} {{- define "apiserver.selectorLabels" -}}
app.kubernetes.io/name: {{ include "clearml.name" . }} app.kubernetes.io/name: {{ include "clearml.fullname" . }}
app.kubernetes.io/instance: {{ include "apiserver.referenceName" . }} app.kubernetes.io/instance: {{ include "apiserver.referenceName" . }}
{{- end }} {{- end }}
@ -85,14 +85,14 @@ app.kubernetes.io/instance: {{ include "apiserver.referenceName" . }}
Reference Name (fileserver) Reference Name (fileserver)
*/}} */}}
{{- define "fileserver.referenceName" -}} {{- define "fileserver.referenceName" -}}
{{- include "clearml.name" . }}-fileserver {{- include "clearml.fullname" . }}-fileserver
{{- end }} {{- end }}
{{/* {{/*
Selector labels (fileserver) Selector labels (fileserver)
*/}} */}}
{{- define "fileserver.selectorLabels" -}} {{- define "fileserver.selectorLabels" -}}
app.kubernetes.io/name: {{ include "clearml.name" . }} app.kubernetes.io/name: {{ include "clearml.fullname" . }}
app.kubernetes.io/instance: {{ include "fileserver.referenceName" . }} app.kubernetes.io/instance: {{ include "fileserver.referenceName" . }}
{{- end }} {{- end }}
@ -100,14 +100,14 @@ app.kubernetes.io/instance: {{ include "fileserver.referenceName" . }}
Reference Name (webserver) Reference Name (webserver)
*/}} */}}
{{- define "webserver.referenceName" -}} {{- define "webserver.referenceName" -}}
{{- include "clearml.name" . }}-webserver {{- include "clearml.fullname" . }}-webserver
{{- end }} {{- end }}
{{/* {{/*
Selector labels (webserver) Selector labels (webserver)
*/}} */}}
{{- define "webserver.selectorLabels" -}} {{- define "webserver.selectorLabels" -}}
app.kubernetes.io/name: {{ include "clearml.name" . }} app.kubernetes.io/name: {{ include "clearml.fullname" . }}
app.kubernetes.io/instance: {{ include "webserver.referenceName" . }} app.kubernetes.io/instance: {{ include "webserver.referenceName" . }}
{{- end }} {{- end }}
@ -115,14 +115,14 @@ app.kubernetes.io/instance: {{ include "webserver.referenceName" . }}
Reference Name (apps) Reference Name (apps)
*/}} */}}
{{- define "clearmlApplications.referenceName" -}} {{- define "clearmlApplications.referenceName" -}}
{{- include "clearml.name" . }}-apps {{- include "clearml.fullname" . }}-apps
{{- end }} {{- end }}
{{/* {{/*
Selector labels (apps) Selector labels (apps)
*/}} */}}
{{- define "clearmlApplications.selectorLabels" -}} {{- define "clearmlApplications.selectorLabels" -}}
app.kubernetes.io/name: {{ include "clearml.name" . }} app.kubernetes.io/name: {{ include "clearml.fullname" . }}
app.kubernetes.io/instance: {{ include "clearmlApplications.referenceName" . }} app.kubernetes.io/instance: {{ include "clearmlApplications.referenceName" . }}
{{- end }} {{- end }}

View File

@ -1,7 +1,7 @@
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
metadata: metadata:
name: {{ include "clearml.name" . }}-apps-pt name: {{ include "clearml.fullname" . }}-apps-pt
data: data:
template.yaml: | template.yaml: |
apps_queue: apps_queue:
@ -24,7 +24,7 @@ data:
{{- if .Values.enterpriseFeatures.clearmlApplications.fileMounts }} {{- if .Values.enterpriseFeatures.clearmlApplications.fileMounts }}
- name: filemounts - name: filemounts
secret: secret:
secretName: {{ include "clearml.name" . }}-apps-fm secretName: {{ include "clearml.fullname" . }}-apps-fm
{{- end }} {{- end }}
containers: containers:
- resources: - resources:

View File

@ -29,9 +29,9 @@ spec:
{{- end }} {{- end }}
{{- end }} {{- end }}
volumes: volumes:
- name: {{ include "clearml.name" . }}-apps-pt - name: {{ include "clearml.fullname" . }}-apps-pt
configMap: configMap:
name: {{ include "clearml.name" . }}-apps-pt name: {{ include "clearml.fullname" . }}-apps-pt
{{- if .Values.enterpriseFeatures.clearmlApplications.additionalConfigs }} {{- if .Values.enterpriseFeatures.clearmlApplications.additionalConfigs }}
- name: apps-config - name: apps-config
configMap: configMap:
@ -40,7 +40,7 @@ spec:
{{- if .Values.enterpriseFeatures.clearmlApplications.fileMounts }} {{- if .Values.enterpriseFeatures.clearmlApplications.fileMounts }}
- name: filemounts - name: filemounts
secret: secret:
secretName: {{ include "clearml.name" . }}-apps-fm secretName: {{ include "clearml.fullname" . }}-apps-fm
{{- end }} {{- end }}
serviceAccountName: "clearml-apps-sa" serviceAccountName: "clearml-apps-sa"
securityContext: securityContext:
@ -117,7 +117,7 @@ spec:
{{ toYaml .Values.enterpriseFeatures.clearmlApplications.extraEnvs | nindent 10 }} {{ toYaml .Values.enterpriseFeatures.clearmlApplications.extraEnvs | nindent 10 }}
{{- end }} {{- end }}
volumeMounts: volumeMounts:
- name: {{ include "clearml.name" . }}-apps-pt - name: {{ include "clearml.fullname" . }}-apps-pt
mountPath: /root/template mountPath: /root/template
{{- if .Values.enterpriseFeatures.clearmlApplications.additionalConfigs }} {{- if .Values.enterpriseFeatures.clearmlApplications.additionalConfigs }}
- name: apps-config - name: apps-config

View File

@ -2,7 +2,7 @@
apiVersion: v1 apiVersion: v1
kind: Secret kind: Secret
metadata: metadata:
name: {{ include "clearml.name" . }}-apps-fm name: {{ include "clearml.fullname" . }}-apps-fm
data: data:
{{- range .Values.enterpriseFeatures.clearmlApplications.fileMounts }} {{- range .Values.enterpriseFeatures.clearmlApplications.fileMounts }}
{{ .name }}: {{ .fileContent | b64enc }} {{ .name }}: {{ .fileContent | b64enc }}