Skip to content
57 changes: 57 additions & 0 deletions deploy/kubernetes/helm/che/templates/dashboard-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#
# Copyright (c) 2012-2018 Red Hat, Inc.
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#

apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: che
component: che-dashboard
name: che-dashboard
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: che
component: che-dashboard
strategy:
type: RollingUpdate
template:
metadata:
labels:
app: che
component: che-dashboard
spec:
containers:
- name: che-dashboard
image: {{ .Values.cheDashboardImage }}
imagePullPolicy: {{ .Values.cheImagePullPolicy }}
ports:
- containerPort: 8080
name: http
resources:
limits:
memory: 256Mi
requests:
memory: 128Mi
livenessProbe:
httpGet:
path: /
port: 8080
scheme: HTTP
initialDelaySeconds: 120
timeoutSeconds: 10
readinessProbe:
httpGet:
path: /
port: 8080
scheme: HTTP
initialDelaySeconds: 15
timeoutSeconds: 60
25 changes: 25 additions & 0 deletions deploy/kubernetes/helm/che/templates/dashboard-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#
# Copyright (c) 2012-2019 Red Hat, Inc.
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#

apiVersion: v1
kind: Service
metadata:
labels:
app: che
component: che-dashboard
name: che-dashboard
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: che
component: che-dashboard
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#
# Copyright (c) 2012-2018 Red Hat, Inc.
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#

{{- if and (eq .Values.global.serverStrategy "single-host") (eq .Values.global.singleHostExposure "gateway") }}

apiVersion: v1
kind: ConfigMap
metadata:
labels:
app: che
component: che-gateway-config
name: che-gateway-route-dashboard
data:
dashboard.yml: |
http:
routers:
che-dashboard:
rule: "PathPrefix(`/dashboard/`)"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does it work without end slash?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checking, I assume that if we miss end slash, then we'll get broken redirects, like /dashboardanythings -> /dashboard since it's currently done by Che Server.

Copy link
Member Author

@sleshchenko sleshchenko Oct 13, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot_20201013_103025

First Dashboard ingress with end /, the second without. Do you see any issue with end slash?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added end slash to ingress http path as well.

service: che-dashboard
priority: 10
services:
che-dashboard:
loadBalancer:
servers:
- url: 'http://che-dashboard:8080'
{{- end }}
47 changes: 47 additions & 0 deletions deploy/kubernetes/helm/che/templates/ingress-dashboard.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#
# Copyright (c) 2012-2019 Red Hat, Inc.
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#

# If single-host powered by gateway is configured - the corresponding gateway configmap is expexted to be created
# but not this ingress
{{- if not (and (eq .Values.global.serverStrategy "single-host") (eq .Values.global.singleHostExposure "gateway")) }}

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: che-dashboard-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
{{ .Values.global.ingressAnnotationsPrefix }}ingress.kubernetes.io/proxy-read-timeout: "3600"
{{ .Values.global.ingressAnnotationsPrefix }}ingress.kubernetes.io/proxy-connect-timeout: "3600"
{{- if and .Values.global.tls .Values.global.tls.enabled }}
{{ .Values.global.ingressAnnotationsPrefix }}ingress.kubernetes.io/ssl-redirect: "true"
{{- else }}
{{ .Values.global.ingressAnnotationsPrefix }}ingress.kubernetes.io/ssl-redirect: "false"
{{- end }}
spec:
{{- if .Values.global.tls.enabled }}
tls:
- hosts:
- {{ template "cheHost" . }}
secretName: {{ .Values.global.tls.secretName }}
{{- end }}
rules:
{{- if ne .Values.global.serverStrategy "default-host" }}
- host: {{ template "cheHost" . }}
http:
{{- else }}
- http:
{{- end }}
paths:
# The path rule for Che Dashboard
- path: /dashboard
backend:
serviceName: che-dashboard
servicePort: 8080
{{- end }}
18 changes: 13 additions & 5 deletions deploy/kubernetes/helm/che/templates/ingress.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,19 @@ spec:
- http:
{{- end }}
paths:
- path: /
backend:
{{- if and (eq .Values.global.serverStrategy "single-host") (eq .Values.global.singleHostExposure "gateway") }}
serviceName: che-gateway
- path: /
backend:
serviceName: che-gateway
servicePort: 8080
{{- else }}
serviceName: che-host
- path: /
backend:
serviceName: che-host
servicePort: 8080
# The path rule for Che Dashboard next hosted by Che Server. It should be removed after https://github.com/eclipse/che/issues/17647 is fixed
- path: /dashboard/next
backend:
serviceName: che-host
servicePort: 8080
{{- end }}
servicePort: 8080
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ data:
rule: "PathPrefix(`/`)"
service: che
priority: 1
# The path rule for Che Dashboard next hosted by Che Server. It should be removed after https://github.com/eclipse/che/issues/17647 is fixed
dashboard-next:
rule: "PathPrefix(`/dashboard/next`)"
service: che
priority: 20
services:
che:
loadBalancer:
Expand Down
1 change: 1 addition & 0 deletions deploy/kubernetes/helm/che/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ cheWorkspaceHttpProxy: ""
cheWorkspaceHttpsProxy: ""
cheWorkspaceNoProxy: ""
cheImage: quay.io/eclipse/che-server:nightly
cheDashboardImage: quay.io/eclipse/che-dashboard:next
cheImagePullPolicy: Always
cheKeycloakRealm: "che"
cheKeycloakClientId: "che-public"
Expand Down
1 change: 0 additions & 1 deletion deploy/kubernetes/helm/che/values/multi-user.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,3 @@

global:
multiuser: true