mirror of
https://github.com/komodorio/helm-dashboard.git
synced 2026-03-24 11:48:04 +00:00
update helm charts for helm-dashboard (#490)
* update helm charts for helm-dashboard 1. fix `imagePullSecrets` bug in deployment.yaml 2. add `global` config 3. optimize image field with global registry config * doc: update doc for charts
This commit is contained in:
@@ -50,32 +50,38 @@ For instance, you can place authentication proxy in front of Helm Dashboard, lik
|
|||||||
|
|
||||||
The following table lists the configurable parameters of the chart and their default values.
|
The following table lists the configurable parameters of the chart and their default values.
|
||||||
|
|
||||||
| Parameter | Description | Default |
|
| Parameter | Description | Default |
|
||||||
| ------------------------------------ | ---------------------------------------------------------------------------------------------- | ------------------------------------ |
|
|---------------------------------------|------------------------------------------------------------------------------------------------|----------------------------------|
|
||||||
| `image.repository` | Image registry/name | `docker.io/komodorio/helm-dashboard` |
|
| `global.imageRegistry` | Registry for all images, useful for private registry | `""` |
|
||||||
| `image.tag` | Image tag | |
|
| `global.imagePullSecrets` | Specify Docker-registry secret names as an array | `[]` |
|
||||||
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
| `image.repository` | Image registry/name | `komodorio/helm-dashboard` |
|
||||||
| `replicaCount` | Number of dashboard Pods to run | `1` |
|
| `image.tag` | Image tag | |
|
||||||
| `dashboard.allowWriteActions` | Enables write actions. Allow modifying, deleting and creating charts and kubernetes resources. | `true` |
|
| `image.imagePullSecrets` | Specify Docker-registry secret names as an array | `[]` |
|
||||||
| `resources.requests.cpu` | CPU resource requests | `200m` |
|
| `image.pullPolicy` | Image pull policy | `IfNotPresent` |
|
||||||
| `resources.limits.cpu` | CPU resource limits | `1` |
|
| `replicaCount` | Number of dashboard Pods to run | `1` |
|
||||||
| `resources.requests.memory` | Memory resource requests | `256Mi` |
|
| `dashboard.allowWriteActions` | Enables write actions. Allow modifying, deleting and creating charts and kubernetes resources. | `true` |
|
||||||
| `resources.limits.memory` | Memory resource limits | `1Gi` |
|
| `resources.requests.cpu` | CPU resource requests | `200m` |
|
||||||
| `service.type ` | Kubernetes service type | `ClusterIP` |
|
| `resources.limits.cpu` | CPU resource limits | `1` |
|
||||||
| `service.port ` | Kubernetes service port | `8080` |
|
| `resources.requests.memory` | Memory resource requests | `256Mi` |
|
||||||
| `serviceAccount.create` | Creates a service account | `true` |
|
| `resources.limits.memory` | Memory resource limits | `1Gi` |
|
||||||
| `serviceAccount.name` | Optional name for the service account | `{RELEASE_FULLNAME}` |
|
| `service.type ` | Kubernetes service type | `ClusterIP` |
|
||||||
| `nodeSelector` | Node labels for pod assignment | |
|
| `service.port ` | Kubernetes service port | `8080` |
|
||||||
| `affinity` | Affinity settings for pod assignment | |
|
| `serviceAccount.create` | Creates a service account | `true` |
|
||||||
| `tolerations` | Tolerations for pod assignment | |
|
| `serviceAccount.name` | Optional name for the service account | `{RELEASE_FULLNAME}` |
|
||||||
| `dashboard.persistence.enabled` | Enable helm data persistene using PVC | `true` |
|
| `nodeSelector` | Node labels for pod assignment | |
|
||||||
| `dashboard.persistence.accessModes` | Persistent Volume access modes | `["ReadWriteOnce"]` |
|
| `affinity` | Affinity settings for pod assignment | |
|
||||||
| `dashboard.persistence.storageClass` | Persistent Volume storage class | `""` |
|
| `tolerations` | Tolerations for pod assignment | |
|
||||||
| `dashboard.persistence.size` | Persistent Volume size | `100M` |
|
| `dashboard.persistence.enabled` | Enable helm data persistene using PVC | `true` |
|
||||||
| `dashboard.persistence.hostPath` | Set path in case you want to use local host path volumes (not recommended in production) | `""`
|
| `dashboard.persistence.accessModes` | Persistent Volume access modes | `["ReadWriteOnce"]` |
|
||||||
| `updateStrategy.type` | Set up update strategy for helm-dashboard installation. | `RollingUpdate` |
|
| `dashboard.persistence.storageClass` | Persistent Volume storage class | `""` |
|
||||||
| `extraArgs` | Set the arguments to be supplied to the helm-dashboard binary | `[--no-browser, --bind=0.0.0.0]`
|
| `dashboard.persistence.size` | Persistent Volume size | `100M` |
|
||||||
|
| `dashboard.persistence.hostPath` | Set path in case you want to use local host path volumes (not recommended in production) | `""` |
|
||||||
|
| `updateStrategy.type` | Set up update strategy for helm-dashboard installation. | `RollingUpdate` |
|
||||||
|
| `extraArgs` | Set the arguments to be supplied to the helm-dashboard binary | `[--no-browser, --bind=0.0.0.0]` |
|
||||||
|
| `testImage.repository` | Test image registry/name | `busybox` |
|
||||||
|
| `testImage.tag` | Test image tag | `lastest` |
|
||||||
|
| `testImage.imagePullSecrets` | Specify Docker-registry secret names as an array | `[]` |
|
||||||
|
| `testImage.pullPolicy` | Test image pull policy | `IfNotPresent` |
|
||||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
|||||||
51
charts/helm-dashboard/templates/_commons.tpl
Normal file
51
charts/helm-dashboard/templates/_commons.tpl
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
{{/*
|
||||||
|
Return the proper image name
|
||||||
|
{{ include "common.images.image" ( dict "imageRoot" .Values.path.to.the.image "global" .Values.global ) }}
|
||||||
|
*/}}
|
||||||
|
{{- define "common.images.image" -}}
|
||||||
|
{{- $registryName := .imageRoot.registry -}}
|
||||||
|
{{- $repositoryName := .imageRoot.repository -}}
|
||||||
|
{{- $separator := ":" -}}
|
||||||
|
{{- $termination := .imageRoot.tag | toString -}}
|
||||||
|
{{- if .global }}
|
||||||
|
{{- if .global.imageRegistry }}
|
||||||
|
{{- $registryName = .global.imageRegistry -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- if .imageRoot.digest }}
|
||||||
|
{{- $separator = "@" -}}
|
||||||
|
{{- $termination = .imageRoot.digest | toString -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- if $registryName }}
|
||||||
|
{{- printf "%s/%s%s%s" $registryName $repositoryName $separator $termination -}}
|
||||||
|
{{- else -}}
|
||||||
|
{{- printf "%s%s%s" $repositoryName $separator $termination -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper Docker Image Registry Secret Names (deprecated: use common.images.renderPullSecrets instead)
|
||||||
|
{{ include "common.images.pullSecrets" ( dict "images" (list .Values.path.to.the.image1, .Values.path.to.the.image2) "global" .Values.global) }}
|
||||||
|
*/}}
|
||||||
|
{{- define "common.images.pullSecrets" -}}
|
||||||
|
{{- $pullSecrets := list }}
|
||||||
|
|
||||||
|
{{- if .global }}
|
||||||
|
{{- range .global.imagePullSecrets -}}
|
||||||
|
{{- $pullSecrets = append $pullSecrets . -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- range .images -}}
|
||||||
|
{{- range .pullSecrets -}}
|
||||||
|
{{- $pullSecrets = append $pullSecrets . -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- if (not (empty $pullSecrets)) }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- range $pullSecrets }}
|
||||||
|
- name: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
@@ -60,3 +60,31 @@ Create the name of the service account to use
|
|||||||
{{- default "default" .Values.serviceAccount.name }}
|
{{- default "default" .Values.serviceAccount.name }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper image Registry Secret Names
|
||||||
|
*/}}
|
||||||
|
{{- define "helm-dashboard.imagePullSecrets" -}}
|
||||||
|
{{ include "common.images.pullSecrets" (dict "images" (list .Values.image) "global" .Values.global) }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper image name
|
||||||
|
*/}}
|
||||||
|
{{- define "helm-dashboard.image" -}}
|
||||||
|
{{- $image := .Values.image -}}
|
||||||
|
{{- $tag := .Chart.AppVersion -}}
|
||||||
|
{{- if $image.tag -}}
|
||||||
|
{{- $tag = $image.tag -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $_ := set $image "tag" $tag -}}
|
||||||
|
{{ include "common.images.image" (dict "imageRoot" $_ "global" .Values.global) }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Return the proper image name
|
||||||
|
*/}}
|
||||||
|
{{- define "test.image" -}}
|
||||||
|
{{ include "common.images.image" (dict "imageRoot" .Values.testImage "global" .Values.global) }}
|
||||||
|
{{- end -}}
|
||||||
@@ -21,10 +21,7 @@ spec:
|
|||||||
labels:
|
labels:
|
||||||
{{- include "helm-dashboard.selectorLabels" . | nindent 8 }}
|
{{- include "helm-dashboard.selectorLabels" . | nindent 8 }}
|
||||||
spec:
|
spec:
|
||||||
{{- with .Values.imagePullSecrets }}
|
{{- include "helm-dashboard.imagePullSecrets" . | nindent 6 }}
|
||||||
imagePullSecrets:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
serviceAccountName: {{ include "helm-dashboard.serviceAccountName" . }}
|
serviceAccountName: {{ include "helm-dashboard.serviceAccountName" . }}
|
||||||
securityContext:
|
securityContext:
|
||||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||||
@@ -38,7 +35,7 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
securityContext:
|
securityContext:
|
||||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
image: "{{ include "helm-dashboard.image" . }}"
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
env:
|
env:
|
||||||
- name: HELM_CACHE_HOME
|
- name: HELM_CACHE_HOME
|
||||||
|
|||||||
@@ -7,9 +7,10 @@ metadata:
|
|||||||
annotations:
|
annotations:
|
||||||
"helm.sh/hook": test
|
"helm.sh/hook": test
|
||||||
spec:
|
spec:
|
||||||
|
{{- include "helm-dashboard.imagePullSecrets" . | nindent 2 }}
|
||||||
containers:
|
containers:
|
||||||
- name: wget
|
- name: wget
|
||||||
image: busybox
|
image: {{ include "test.image" . }}
|
||||||
command: ['wget']
|
command: ['wget']
|
||||||
args: ['--timeout=5', '{{ include "helm-dashboard.fullname" . }}:{{ .Values.service.port }}']
|
args: ['--timeout=5', '{{ include "helm-dashboard.fullname" . }}:{{ .Values.service.port }}']
|
||||||
restartPolicy: Never
|
restartPolicy: Never
|
||||||
|
|||||||
@@ -3,13 +3,22 @@ replicaCount: 1
|
|||||||
# Flag for setting environment to debug mode
|
# Flag for setting environment to debug mode
|
||||||
debug: false
|
debug: false
|
||||||
|
|
||||||
|
global:
|
||||||
|
## @param global.imageRegistry Global Docker image registry
|
||||||
|
imageRegistry: ""
|
||||||
|
## Optionally specify an array of imagePullSecrets.
|
||||||
|
## Example:
|
||||||
|
## imagePullSecrets:
|
||||||
|
## - myRegistryKeySecretName
|
||||||
|
imagePullSecrets: []
|
||||||
|
|
||||||
image:
|
image:
|
||||||
repository: komodorio/helm-dashboard
|
repository: komodorio/helm-dashboard
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: ""
|
tag: ""
|
||||||
|
imagePullSecrets: []
|
||||||
|
|
||||||
imagePullSecrets: []
|
|
||||||
nameOverride: ""
|
nameOverride: ""
|
||||||
fullnameOverride: ""
|
fullnameOverride: ""
|
||||||
|
|
||||||
@@ -119,3 +128,15 @@ tolerations: []
|
|||||||
|
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
|
||||||
|
|
||||||
|
testImage:
|
||||||
|
repository: busybox
|
||||||
|
tag: latest
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
|
# tag: ""
|
||||||
|
## Optionally specify an array of imagePullSecrets.
|
||||||
|
## Example:
|
||||||
|
## imagePullSecrets:
|
||||||
|
## - myRegistryKeySecretName
|
||||||
|
imagePullSecrets: []
|
||||||
|
|||||||
Reference in New Issue
Block a user