Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Align settings to SaaS #204

Merged
merged 11 commits into from
Oct 6, 2023
4 changes: 2 additions & 2 deletions charts/studio/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: studio
description: A Helm chart for Kubernetes
type: application
version: 0.6.7
appVersion: "v2.29.0"
version: 0.7.0
appVersion: "v2.40.0"
maintainers:
- name: iterative
email: [email protected]
Expand Down
15 changes: 6 additions & 9 deletions charts/studio/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# studio

![Version: 0.6.7](https://img.shields.io/badge/Version-0.6.7-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.29.0](https://img.shields.io/badge/AppVersion-v2.29.0-informational?style=flat-square)
![Version: 0.7.0](https://img.shields.io/badge/Version-0.7.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v2.40.0](https://img.shields.io/badge/AppVersion-v2.40.0-informational?style=flat-square)

A Helm chart for Kubernetes

Expand Down Expand Up @@ -56,14 +56,13 @@ A Helm chart for Kubernetes
| global.postgres.password | string | `"postgres"` | Postgres password |
| global.postgres.port | string | `"5432"` | Postgres port |
| global.postgres.user | string | `"postgres"` | Postgres user |
| global.scmProviders.bitbucket | object | `{"apiUrl":"","clientId":"","enabled":false,"secretKey":"","url":"","webhookUrl":""}` | BitBucket App integration with Studio. |
| global.scmProviders.bitbucket | object | `{"apiUrl":"","clientId":"","enabled":false,"secretKey":"","url":""}` | BitBucket App integration with Studio. |
| global.scmProviders.bitbucket.apiUrl | string | `""` | Bitbucket Server API URL Set this if you're using the selfhosted version |
| global.scmProviders.bitbucket.clientId | string | `""` | Bitbucket OAuth App Client ID |
| global.scmProviders.bitbucket.enabled | bool | `false` | Bitbucket enabled |
| global.scmProviders.bitbucket.secretKey | string | `""` | Bitbucket OAuth App Secret Key |
| global.scmProviders.bitbucket.url | string | `""` | Bitbucket Server URL Set this if you're using the selfhosted version |
| global.scmProviders.bitbucket.webhookUrl | DEPRECATED | `""` | BitBucket Webhook URL |
| global.scmProviders.github | object | `{"apiUrl":"","appId":"","appName":"","clientId":"","clientSecret":"","enabled":false,"privateKey":"","url":"","webhookUrl":""}` | GitHub App integration with Studio. |
| global.scmProviders.github | object | `{"apiUrl":"","appId":"","appName":"","clientId":"","clientSecret":"","enabled":false,"privateKey":"","url":""}` | GitHub App integration with Studio. |
| global.scmProviders.github.apiUrl | string | `""` | GitHub Enterprise API URL Set this if you're using the selfhosted version |
| global.scmProviders.github.appId | string | `""` | GitHub OAuth App ID |
| global.scmProviders.github.appName | string | `""` | GitHub OAuth App Name |
Expand All @@ -72,14 +71,12 @@ A Helm chart for Kubernetes
| global.scmProviders.github.enabled | bool | `false` | GitHub enabled |
| global.scmProviders.github.privateKey | string | `""` | GitHub OAuth App Private Key |
| global.scmProviders.github.url | string | `""` | GitHub Enterprise URL Set this if you're using the selfhosted version |
| global.scmProviders.github.webhookUrl | DEPRECATED | `""` | GitHub Webhook URL |
| global.scmProviders.gitlab | object | `{"clientId":"","enabled":false,"secretKey":"","url":"","webhookSecret":"","webhookUrl":""}` | GitLab App integration with Studio. |
| global.scmProviders.gitlab | object | `{"clientId":"","enabled":false,"secretKey":"","url":"","webhookSecret":""}` | GitLab App integration with Studio. |
| global.scmProviders.gitlab.clientId | string | `""` | GitLab OAuth App Client ID |
| global.scmProviders.gitlab.enabled | bool | `false` | GitLab enabled |
| global.scmProviders.gitlab.secretKey | string | `""` | GitLab OAuth App Secret Key |
| global.scmProviders.gitlab.url | string | `""` | GitLab Enterprise Edition URL Set this if you're using the selfhosted version |
| global.scmProviders.gitlab.webhookSecret | string | `""` | GitLab Webhook Secret |
| global.scmProviders.gitlab.webhookUrl | DEPRECATED | `""` | GitLab Webhook URL |
| global.scmProviders.webhookHost | string | `$global.host` value. | Custom hostname for incoming webhook (if Studio runs on a private network and you use SaaS versions of GitHub, GitLab, or Bitbucket) |
| global.secretKey | string | `""` | Studio: Secret key for signing Webhook payloads We recommend you set this externally. If left empty, a random key will be generated. |
| imagePullSecrets | list | `[]` | Secret containing Docker registry credentials |
Expand Down Expand Up @@ -139,7 +136,7 @@ A Helm chart for Kubernetes
| studioBlobvault.image | object | `{"repository":"nginx","tag":"1.25.1-alpine"}` | Image to use for the blobvault service |
| studioBlobvault.image.repository | string | `"nginx"` | Image repository |
| studioBlobvault.image.tag | string | `"1.25.1-alpine"` | Image tag |
| studioDvcxWorker | object | `{"affinity":{},"autoscaling":{"enabled":false,"maxReplicas":5,"minReplicas":1,"targetCPUUtilizationPercentage":80},"envFromSecret":"","envVars":{},"ephemeralStorage":{"persistentVolumeClaim":{"storageClass":""},"size":"1Gi","type":"emptyDir"},"image":{"pullPolicy":"IfNotPresent","repository":"docker.iterative.ai/studio-dvcx-worker"},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"8000m","ephemeral-storage":"10Gi","memory":"16Gi"},"requests":{"cpu":"500m","ephemeral-storage":"500Mi","memory":"512Mi"}},"securityContext":{},"strategy":{"rollingUpdate":{"maxSurge":"50%","maxUnavailable":0}},"tolerations":[]}` | Studio DVCx Worker settings group |
| studioDvcxWorker | object | `{"affinity":{},"autoscaling":{"enabled":false,"maxReplicas":5,"minReplicas":1,"targetCPUUtilizationPercentage":80},"envFromSecret":"","envVars":{},"ephemeralStorage":{"persistentVolumeClaim":{"storageClass":""},"size":"1Gi","type":"emptyDir"},"image":{"pullPolicy":"IfNotPresent","repository":"docker.iterative.ai/studio-dvcx-worker"},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"8000m","ephemeral-storage":"10Gi","memory":"16Gi"},"requests":{"cpu":"500m","ephemeral-storage":"500Mi","memory":"512Mi"}},"securityContext":{},"serviceAccount":{"annotations":{},"create":false,"name":""},"strategy":{"rollingUpdate":{"maxSurge":"50%","maxUnavailable":0}},"tolerations":[]}` | Studio DVCx Worker settings group |
| studioDvcxWorker.affinity | object | `{}` | DVCx worker pod affinity configuration |
| studioDvcxWorker.autoscaling | object | `{"enabled":false,"maxReplicas":5,"minReplicas":1,"targetCPUUtilizationPercentage":80}` | DVCx worker autoscaling configuration |
| studioDvcxWorker.autoscaling.enabled | bool | `false` | DVCx worker autoscaling enabled flag |
Expand Down Expand Up @@ -188,7 +185,7 @@ A Helm chart for Kubernetes
| studioUi | object | `{"affinity":{},"autoscaling":{"enabled":false,"maxReplicas":5,"minReplicas":1,"targetCPUUtilizationPercentage":80},"envFromSecret":"","envVars":{},"image":{"pullPolicy":"IfNotPresent","repository":"docker.iterative.ai/studio-frontend"},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"1000m","memory":"2Gi"},"requests":{"cpu":"500m","memory":"1Gi"}},"securityContext":{},"service":{"port":3000,"type":"ClusterIP"},"strategy":{"rollingUpdate":{"maxSurge":"50%","maxUnavailable":0}},"tolerations":[]}` | Studio UI settings group |
| studioUi.envFromSecret | string | `""` | The name of an existing Secret that contains sensitive environment variables passed to UI pods. |
| studioUi.envVars | object | `{}` | Additional environment variables for ui pods |
| studioWorker | object | `{"affinity":{},"autoscaling":{"enabled":false,"maxReplicas":5,"minReplicas":1,"targetCPUUtilizationPercentage":80},"envFromSecret":"","envVars":{},"image":{"pullPolicy":"IfNotPresent","repository":"docker.iterative.ai/studio-backend"},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"1000m","memory":"1Gi"},"requests":{"cpu":"500m","memory":"512Mi"}},"securityContext":{},"strategy":{"rollingUpdate":{"maxSurge":"50%","maxUnavailable":0}},"tolerations":[]}` | Studio worker settings group |
| studioWorker | object | `{"affinity":{},"autoscaling":{"enabled":false,"maxReplicas":5,"minReplicas":1,"targetCPUUtilizationPercentage":80},"envFromSecret":"","envVars":{},"image":{"pullPolicy":"IfNotPresent","repository":"docker.iterative.ai/studio-backend"},"nodeSelector":{},"podAnnotations":{},"podSecurityContext":{},"replicaCount":1,"resources":{"limits":{"cpu":"1000m","memory":"1Gi"},"requests":{"cpu":"500m","memory":"512Mi"}},"securityContext":{},"serviceAccount":{"annotations":{},"create":false,"name":""},"strategy":{"rollingUpdate":{"maxSurge":"50%","maxUnavailable":0}},"tolerations":[]}` | Studio worker settings group |
| studioWorker.affinity | object | `{}` | Worker affinity |
| studioWorker.autoscaling | object | `{"enabled":false,"maxReplicas":5,"minReplicas":1,"targetCPUUtilizationPercentage":80}` | Worker autoscaling configuration |
| studioWorker.autoscaling.enabled | bool | `false` | Worker autoscaling enabled flag |
Expand Down
2 changes: 1 addition & 1 deletion charts/studio/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Application URL:
{{- if .Values.global.ingress.enabled }}
{{include "ingress.protocol" . }}://{{.Values.global.host }}/{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}{{ include "studio.basePath" . }}{{- end }}
{{ include "scheme" . }}://{{.Values.global.host }}/{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}{{ include "studio.basePath" . }}{{- end }}
{{- else if contains "NodePort" .Values.studioUi.service.type }}
Get the application URL by running these commands:
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "studio.fullname" . }})
Expand Down
28 changes: 26 additions & 2 deletions charts/studio/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,30 @@ Create the name of the service account to use
{{- end }}
{{- end }}

{{- define "studio-backend.serviceAccountName" -}}
{{- if ((.Values.studioBackend).serviceAccount).create }}
{{- default (printf "%s%s" (include "studio.fullname" .) "-backend") .Values.studioWorker.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.studioWorker.serviceAccount.name }}
{{- end }}
{{- end }}

{{- define "studio-worker.serviceAccountName" -}}
{{- if ((.Values.studioWorker).serviceAccount).create }}
{{- default (printf "%s%s" (include "studio.fullname" .) "-worker") .Values.studioWorker.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.studioWorker.serviceAccount.name }}
{{- end }}
{{- end }}

{{- define "studio-dvcx-worker.serviceAccountName" -}}
{{- if ((.Values.studioDvcxWorker).serviceAccount).create }}
{{- default (printf "%s%s" (include "studio.fullname" .) "-dvcx-worker") .Values.studioDvcxWorker.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.studioDvcxWorker.serviceAccount.name }}
{{- end }}
{{- end }}

{{- define "studio.checksum" }}
checksum/configmap-studio: {{ include (print $.Template.BasePath "/configmap-studio.yaml") . | sha256sum }}
checksum/configmap-ca-cert: {{ include (print $.Template.BasePath "/configmap-ca-cert.yaml") . | sha256sum }}
Expand All @@ -191,6 +215,6 @@ checksum/secret-studio: {{ include (print $.Template.BasePath "/secret-studio.ya
{{- printf "{\"auths\": {\"%s\": {\"auth\": \"%s\"}}}" .Values.dockerServer (printf "%s:%s" .Values.dockerUsername .Values.dockerPassword | b64enc) }}
{{- end }}

{{- define "ingress.protocol" -}}
http{{- if $.Values.global.ingress.tlsEnabled }}s{{- end}}
{{- define "scheme" -}}
http{{- if $.Values.global.ingress.tlsEnabled }}s{{- end }}
{{- end }}
24 changes: 12 additions & 12 deletions charts/studio/templates/configmap-studio.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ data:
{{- end }}

ALLOWED_HOSTS: "*"
API_URL: "{{include "ingress.protocol" . }}://{{.Values.global.host }}{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}/{{ include "studio.basePath" . }}{{- end }}/api"
UI_URL: "{{include "ingress.protocol" . }}://{{.Values.global.host }}/{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}{{ include "studio.basePath" . }}{{- end }}"
API_URL: "{{ include "scheme" . }}://{{.Values.global.host }}{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}/{{ include "studio.basePath" . }}{{- end }}/api"
UI_URL: "{{ include "scheme" . }}://{{.Values.global.host }}/{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}{{ include "studio.basePath" . }}{{- end }}"

{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}
BASE_PATH: /{{ include "studio.basePath" . }}
Expand All @@ -26,7 +26,7 @@ data:
BITBUCKET_API_URL: {{ .Values.global.scmProviders.bitbucket.apiUrl | quote}}
{{- end }}
{{- if and .Values.global.scmProviders.bitbucket.enabled $webhookHost }}
BITBUCKET_WEBHOOK_URL: "{{include "ingress.protocol" . }}://{{ $webhookHost }}/webhook/bitbucket/"
BITBUCKET_WEBHOOK_URL: "{{ include "scheme" . }}://{{ $webhookHost }}/webhook/bitbucket/"
{{- end }}

ENABLE_BLOBVAULT: "True"
Expand All @@ -43,8 +43,8 @@ data:
{{- else }}
BLOBVAULT_LOCAL_ENABLED: "True"
BLOBVAULT_LOCAL_PATH: "/blobvault"
BLOBVAULT_ENDPOINT_URL: "{{include "ingress.protocol" . }}://{{.Values.global.host }}{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}/{{ include "studio.basePath" . }}{{- end }}/blobvault"
BLOBVAULT_ENDPOINT_URL_FE: "{{include "ingress.protocol" . }}://{{.Values.global.host }}{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}/{{ include "studio.basePath" . }}{{- end }}/blobvault"
BLOBVAULT_ENDPOINT_URL: "{{ include "scheme" . }}://{{.Values.global.host }}{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}/{{ include "studio.basePath" . }}{{- end }}/blobvault"
BLOBVAULT_ENDPOINT_URL_FE: "{{ include "scheme" . }}://{{.Values.global.host }}{{- if and .Values.global.basePath (not (eq .Values.global.basePath "/")) }}/{{ include "studio.basePath" . }}{{- end }}/blobvault"
{{- end }}

{{- if .Values.global.celery.brokerUrl }}
Expand Down Expand Up @@ -75,7 +75,7 @@ data:
GITHUB_URL: {{ .Values.global.scmProviders.github.url | quote }}
{{- end }}
{{- if and .Values.global.scmProviders.github.enabled $webhookHost }}
GITHUB_WEBHOOK_URL: "{{include "ingress.protocol" . }}://{{ $webhookHost }}/webhook/github/"
GITHUB_WEBHOOK_URL: "{{ include "scheme" . }}://{{ $webhookHost }}/webhook/github/"
{{- end }}
{{- if .Values.global.scmProviders.github.clientId }}
GITHUB_APP_CLIENT_ID: {{ .Values.global.scmProviders.github.clientId | quote }}
Expand All @@ -94,7 +94,7 @@ data:
GITLAB_URL: {{ .Values.global.scmProviders.gitlab.url | quote}}
{{- end }}
{{- if and .Values.global.scmProviders.gitlab.enabled $webhookHost }}
GITLAB_WEBHOOK_URL: "{{include "ingress.protocol" . }}://{{ $webhookHost }}/webhook/gitlab/"
GITLAB_WEBHOOK_URL: "{{ include "scheme" . }}://{{ $webhookHost }}/webhook/gitlab/"
{{- end }}

{{- if .Values.global.maxViews }}
Expand All @@ -118,18 +118,18 @@ data:

SOCIAL_AUTH_REDIRECT_IS_HTTPS: "False"

{{- if .Values.global.ingress.enabled }}
{{- if .Values.global.host }}
SOCIAL_AUTH_ALLOWED_REDIRECT_HOSTS: "studio-ui.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.studioUi.service.port }},studio-backend.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.studioBackend.service.port }},{{ .Values.global.host }}"
{{- else }}
SOCIAL_AUTH_ALLOWED_REDIRECT_HOSTS: "studio-ui.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.studioUi.service.port }},studio-backend.{{ .Release.Namespace }}.svc.cluster.local:{{ .Values.studioBackend.service.port }}"
{{- end }}

{{- $dvcx := .Values.global.dvcx | default dict }}
{{- $dvcxClickhouse := $dvcx.clickHouse | default dict }}
DQL_ENABLED: {{ $dvcx.enabled | default "False" | quote }}
DQL_UDF_ENABLED: {{ $dvcx.udfEnabled | default "False" | quote }}
DVCX_ENABLED: {{ $dvcx.enabled | default "False" | quote }}
DVCX_UDF_ENABLED: {{ $dvcx.udfEnabled | default "False" | quote }}
DQL_ENABLED: {{ $dvcx.enabled | default false | quote | title }}
DQL_UDF_ENABLED: {{ $dvcx.udfEnabled | default false | quote | title }}
DVCX_ENABLED: {{ $dvcx.enabled | default false | quote | title }}
DVCX_UDF_ENABLED: {{ $dvcx.udfEnabled | default false | quote | title }}
{{- if ((.Values.ray).enabled) }}
DVCX_RAY_URL: "http://{{ .Release.Name }}-ray-head-svc.{{ .Release.Namespace }}.svc.cluster.local:8265"
{{- end }}
Expand Down
2 changes: 1 addition & 1 deletion charts/studio/templates/deployment-studio-backend.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ spec:
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "studio.serviceAccountName" . }}
serviceAccountName: {{ include "studio-backend.serviceAccountName" . }}
securityContext:
fsGroup: 103
fsGroupChangePolicy: "OnRootMismatch"
Expand Down
11 changes: 10 additions & 1 deletion charts/studio/templates/deployment-studio-dvcx-worker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ spec:
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "studio.serviceAccountName" . }}
serviceAccountName: {{ include "studio-dvcx-worker.serviceAccountName" . }}
terminationGracePeriodSeconds: 150
securityContext:
fsGroup: 103
Expand Down Expand Up @@ -71,6 +71,15 @@ spec:
- secretRef:
name: {{ .Values.studioDvcxWorker.envFromSecret }}
{{- end }}
livenessProbe:
exec:
command:
- python
- -c
- 'from viewer.utils import sqlalchemy_liveness_probe; sqlalchemy_liveness_probe()'
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 10
volumeMounts:
{{- if not .Values.global.blobvault.bucket }}
- name: blobvault
Expand Down
7 changes: 7 additions & 0 deletions charts/studio/templates/deployment-studio-ui.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,13 @@ spec:
- name: http
containerPort: 3000
protocol: TCP
startupProbe:
exec:
command:
- /app/bin/startup-probe.sh
initialDelaySeconds: 2
periodSeconds: 1
failureThreshold: 60
livenessProbe:
tcpSocket:
port: 3000
Expand Down
2 changes: 1 addition & 1 deletion charts/studio/templates/deployment-studio-worker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ spec:
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "studio.serviceAccountName" . }}
serviceAccountName: {{ include "studio-worker.serviceAccountName" . }}
terminationGracePeriodSeconds: 180
securityContext:
fsGroup: 103
Expand Down
1 change: 0 additions & 1 deletion charts/studio/templates/ingress-blobvault-nginx.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ spec:
secretName: {{ .tlsSecretName }}
{{- end }}
{{- end }}

rules:
- http:
paths:
Expand Down
12 changes: 12 additions & 0 deletions charts/studio/templates/serviceaccount-backend.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{{- if ((.Values.studioBackend).serviceAccount).create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "studio-backend.serviceAccountName" . }}
labels:
{{- include "studio-backend.labels" . | nindent 4 }}
{{- with .Values.studioBackend.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}
12 changes: 12 additions & 0 deletions charts/studio/templates/serviceaccount-dvcx-worker.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{{- if ((.Values.studioDvcxWorker).serviceAccount).create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "studio-dvcx-worker.serviceAccountName" . }}
labels:
{{- include "studio-dvcx-worker.labels" . | nindent 4 }}
{{- with .Values.studioDvcxWorker.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}
12 changes: 12 additions & 0 deletions charts/studio/templates/serviceaccount-worker.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{{- if ((.Values.studioWorker).serviceAccount).create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "studio-worker.serviceAccountName" . }}
labels:
{{- include "studio-worker.labels" . | nindent 4 }}
{{- with .Values.studioWorker.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}
Loading