charts/pipelines-library/templates/dashboard/deployment.yaml (123 lines of code) (raw):

{{- if eq .Values.dashboard.enabled true }} apiVersion: apps/v1 kind: Deployment metadata: labels: {{- include "tekton-dashboard.labels" . | nindent 4 }} name: {{ include "tekton-dashboard.name" . }} spec: replicas: 1 selector: matchLabels: {{ include "tekton-dashboard.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "tekton-dashboard.labels" . | nindent 8 }} spec: containers: {{ if and .Values.dashboard.openshift_proxy.enabled (eq .Values.global.platform "openshift") }} - terminationMessagePath: /dev/termination-log name: oauth-proxy env: - name: OAUTH2_PROXY_COOKIE_SECRET valueFrom: secretKeyRef: name: tekton-dashboard-proxy-cookie-secret key: cookie-secret - name: OAUTH2_PROXY_COOKIE_EXPIRE value: 8h0m0s - name: OAUTH2_PROXY_COOKIE_REFRESH value: 7h45m0s securityContext: capabilities: drop: - ALL runAsUser: 1000 runAsGroup: 1000 runAsNonRoot: true allowPrivilegeEscalation: false ports: - name: proxy containerPort: 4180 protocol: TCP imagePullPolicy: IfNotPresent terminationMessagePolicy: File image: {{ .Values.dashboard.openshift_proxy.image.repository }}:{{ .Values.dashboard.openshift_proxy.image.tag }} resources: {{- toYaml .Values.dashboard.openshift_proxy.resources | nindent 12 }} volumeMounts: - mountPath: /etc/tls/private name: proxy-tls args: - --openshift-service-account={{ include "tekton-dashboard.name" . }} - --upstream=http://localhost:9097 - --tls-cert=/etc/tls/private/tls.crt - --tls-key=/etc/tls/private/tls.key - --skip-provider-button - --pass-basic-auth=false - --cookie-secure=true - --http-address=http://0.0.0.0:4180 - --skip-provider-button=true {{ end }} - args: - --port=9097 - --logout-url= - --pipelines-namespace={{ .Values.dashboard.pipelinesNamespace }} - --triggers-namespace={{ .Values.dashboard.triggersNamespace }} - --read-only={{ .Values.dashboard.readOnly }} - --log-level=info - --log-format=json - --stream-logs=true - --external-logs= - --namespaces={{ .Release.Namespace }} env: - name: INSTALLED_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace image: {{ .Values.dashboard.image.repository }}:{{ .Values.dashboard.image.tag }} livenessProbe: httpGet: path: /health port: 9097 name: tekton-dashboard ports: - containerPort: 9097 readinessProbe: httpGet: path: /readiness port: 9097 securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsGroup: 65532 runAsNonRoot: true runAsUser: 65532 seccompProfile: type: RuntimeDefault resources: {{- toYaml .Values.dashboard.resources | nindent 12 }} {{- with .Values.dashboard.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.dashboard.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.dashboard.tolerations }} tolerations: {{- toYaml . | nindent 8 }} {{- end }} serviceAccount: {{ include "tekton-dashboard.name" . }} serviceAccountName: {{ include "tekton-dashboard.name" . }} {{ if and .Values.dashboard.openshift_proxy.enabled (eq .Values.global.platform "openshift") }} volumes: - name: proxy-tls secret: secretName: proxy-tls {{ end }} {{- end }}