feat(argo-rollouts): add dashboard (#798)

* feat(argo-rollouts): add dashboard deployment and service

credit: the implemention is inspired by the work from
    Andrii Perenesenko <andrii.perenesenko@gmail.com>.

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

* Apply suggestions from code review

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

* Add components to selectlabels

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

* Bump major version and add upgrading note

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

* fix: Documentation on dashboard values, change annotations

Signed-off-by: Hui Kang <hui.kang@salesforce.com>

* feat: Enable dashboard during chart testing

Signed-off-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>

Co-authored-by: Hui Kang <hui.kang@salesforce.com>
Co-authored-by: Marco Kilchhofer <mkilchhofer@users.noreply.github.com>
This commit is contained in:
cskh 2021-08-16 11:27:24 -04:00 committed by GitHub
parent 879453808c
commit 3053af0500
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 228 additions and 5 deletions

View file

@ -0,0 +1,59 @@
{{- if .Values.dashboard.enabled -}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "argo-rollouts.fullname" . }}-dashboard
labels:
app.kubernetes.io/component: {{ .Values.dashboard.component }}
{{- include "argo-rollouts.labels" . | nindent 4 }}
spec:
selector:
matchLabels:
{{- include "argo-rollouts.selectorLabels" . | nindent 6 }}
app.kubernetes.io/component: {{ .Values.dashboard.component }}
strategy:
type: Recreate
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "argo-rollouts.selectorLabels" . | nindent 8 }}
app.kubernetes.io/component: {{ .Values.dashboard.component }}
{{- range $key, $value := .Values.podLabels }}
{{ $key }}: {{ $value | quote }}
{{- end }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "argo-rollouts.serviceAccountName" . }}-dashboard
containers:
- image: "{{ .Values.dashboard.image.registry }}/{{ .Values.dashboard.image.repository }}:{{ default .Chart.AppVersion .Values.dashboard.image.tag }}"
imagePullPolicy: {{ .Values.dashboard.image.pullPolicy }}
name: argo-rollouts-dashboard
ports:
- containerPort: 3100
name: dashboard
securityContext:
{{- toYaml .Values.dashboard.containerSecurityContext | nindent 10 }}
resources:
{{- toYaml .Values.dashboard.resources | nindent 10 }}
{{- if .Values.dashboard.nodeSelector }}
nodeSelector:
{{- toYaml .Values.dashboard.nodeSelector | nindent 8 }}
{{- end }}
securityContext:
{{- toYaml .Values.dashboard.podSecurityContext | nindent 8 }}
{{- if .Values.dashboard.tolerations }}
tolerations:
{{- toYaml .Values.dashboard.tolerations | nindent 8 }}
{{- end }}
{{- if .Values.dashboard.affinity }}
affinity:
{{- toYaml .Values.dashboard.affinity | nindent 8 }}
{{- end }}
{{- end }}