diff --git a/.ci/set_tag_version_images_linux.sh b/.ci/set_tag_version_images_linux.sh index 72b0ec025be..b6cc5c0dbed 100755 --- a/.ci/set_tag_version_images_linux.sh +++ b/.ci/set_tag_version_images_linux.sh @@ -5,11 +5,6 @@ # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html -sed -i "s/DEFAULT_PLUGIN_REGISTRY_IMAGE_TAG=\".*\"/DEFAULT_PLUGIN_REGISTRY_IMAGE_TAG=\"$1\"/g" ../deploy/openshift/deploy_che.sh -sed -i "s/DEFAULT_DEVFILE_REGISTRY_IMAGE_TAG=\".*\"/DEFAULT_DEVFILE_REGISTRY_IMAGE_TAG=\"$1\"/g" ../deploy/openshift/deploy_che.sh -sed -i "s/DEFAULT_CHE_IMAGE_TAG=\".*\"/DEFAULT_CHE_IMAGE_TAG=\"$1\"/g" ../deploy/openshift/deploy_che.sh -sed -i "s/DEFAULT_KEYCLOAK_IMAGE_TAG=\".*\"/DEFAULT_KEYCLOAK_IMAGE_TAG=\"$1\"/g" ../deploy/openshift/deploy_che.sh - sed -i "s/che.factory.default_editor=eclipse\/che-theia\/.*/che.factory.default_editor=eclipse\/che-theia\/$1/g" ../assembly/assembly-wsmaster-war/src/main/webapp/WEB-INF/classes/che/che.properties sed -i "s/che.factory.default_plugins=eclipse\/che-machine-exec-plugin\/.*/che.factory.default_plugins=eclipse\/che-machine-exec-plugin\/$1/g" ../assembly/assembly-wsmaster-war/src/main/webapp/WEB-INF/classes/che/che.properties sed -i "s/che.workspace.devfile.default_editor=eclipse\/che-theia\/.*/che.workspace.devfile.default_editor=eclipse\/che-theia\/$1/g" ../assembly/assembly-wsmaster-war/src/main/webapp/WEB-INF/classes/che/che.properties @@ -20,6 +15,7 @@ sed -i "s/che-devfile-registry:.*/che-devfile-registry:$1/g" ../deploy/kubernete sed -i "s/che-postgres:.*/che-postgres:$1/g" ../deploy/kubernetes/helm/che/custom-charts/che-postgres/values.yaml sed -i "s/che-keycloak:.*/che-keycloak:$1/g" ../deploy/kubernetes/helm/che/custom-charts/che-keycloak/values.yaml sed -i "s/eclipse\/che-server:.*/eclipse\/che-server:$1/g" ../deploy/kubernetes/helm/che/values.yaml +sed -i "s/eclipse\/che-dashboard:.*/eclipse\/che-dashboard:$1/g" ../deploy/kubernetes/helm/che/values.yaml sed -i "s/che-endpoint-watcher:nightly/che-endpoint-watcher:$1/g" ../deploy/kubernetes/helm/che/custom-charts/che-keycloak/templates/deployment.yaml sed -i "s/che-endpoint-watcher:nightly/che-endpoint-watcher:$1/g" ../deploy/kubernetes/helm/che/templates/deployment.yaml diff --git a/.ci/set_tag_version_images_macos.sh b/.ci/set_tag_version_images_macos.sh index 743bcc7c554..24170389c81 100755 --- a/.ci/set_tag_version_images_macos.sh +++ b/.ci/set_tag_version_images_macos.sh @@ -5,11 +5,6 @@ # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html -sed -i '' "s/DEFAULT_PLUGIN_REGISTRY_IMAGE_TAG=\"nightly\"/DEFAULT_PLUGIN_REGISTRY_IMAGE_TAG=\"$1\"/g" ../deploy/openshift/deploy_che.sh -sed -i '' "s/DEFAULT_DEVFILE_REGISTRY_IMAGE_TAG=\"nightly\"/DEFAULT_PLUGIN_REGISTRY_IMAGE_TAG=\"$1\"/g" ../deploy/openshift/deploy_che.sh -sed -i '' "s/DEFAULT_CHE_IMAGE_TAG=\"nightly\"/DEFAULT_PLUGIN_REGISTRY_IMAGE_TAG=\"$1\"/g" ../deploy/openshift/deploy_che.sh -sed -i '' "s/DEFAULT_KEYCLOAK_IMAGE_TAG=\"nightly\"/DEFAULT_PLUGIN_REGISTRY_IMAGE_TAG=\"$1\"/g" ../deploy/openshift/deploy_che.sh - sed -i '' "s/che.factory.default_editor=eclipse\/che-theia\/next/che.factory.default_editor=eclipse\/che-theia\/$1/g" ../assembly/assembly-wsmaster-war/src/main/webapp/WEB-INF/classes/che/che.properties sed -i '' "s/che.factory.default_plugins=eclipse\/che-machine-exec-plugin\/nightly/che.factory.default_plugins=eclipse\/che-machine-exec-plugin\/$1/g" ../assembly/assembly-wsmaster-war/src/main/webapp/WEB-INF/classes/che/che.properties sed -i '' "s/che.workspace.devfile.default_editor=eclipse\/che-theia\/next/che.workspace.devfile.default_editor=eclipse\/che-theia\/$1/g" ../assembly/assembly-wsmaster-war/src/main/webapp/WEB-INF/classes/che/che.properties @@ -20,5 +15,6 @@ sed -i '' "s/che-devfile-registry:nightly/che-devfile-registry:$1/g" ../deploy/k sed -i '' "s/che-postgres:nightly/che-postgres:$1/g" ../deploy/kubernetes/helm/che/custom-charts/che-postgres/values.yaml sed -i '' "s/che-keycloak:nightly/che-keycloak:$1/g" ../deploy/kubernetes/helm/che/custom-charts/che-keycloak/values.yaml sed -i '' "s/eclipse\/che-server:nightly/eclipse\/che-server:$1/g" ../deploy/kubernetes/helm/che/values.yaml +sed -i '' "s/eclipse\/che-dashboard:next/eclipse\/che-dashboard:$1/g" ../deploy/kubernetes/helm/che/values.yaml diff --git a/deploy/kubernetes/helm/che/templates/dashboard-deployment.yaml b/deploy/kubernetes/helm/che/templates/dashboard-deployment.yaml new file mode 100644 index 00000000000..6b3f8366b48 --- /dev/null +++ b/deploy/kubernetes/helm/che/templates/dashboard-deployment.yaml @@ -0,0 +1,61 @@ +# +# 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.dashboard.image }} + imagePullPolicy: {{ .Values.dashboard.imagePullPolicy }} + ports: + - containerPort: 8080 + name: http + resources: + limits: + memory: {{ .Values.dashboard.memoryLimit }} + cpu: {{ .Values.dashboard.cpuLimit }} + requests: + memory: {{ .Values.dashboard.memoryRequest }} + cpu: {{ .Values.dashboard.cpuRequest }} + livenessProbe: + httpGet: + path: /dashboard/ + port: 8080 + scheme: HTTP + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 3 + readinessProbe: + httpGet: + path: /dashboard/ + port: 8080 + scheme: HTTP + initialDelaySeconds: 3 + periodSeconds: 10 + timeoutSeconds: 3 diff --git a/deploy/kubernetes/helm/che/templates/dashboard-ingress.yaml b/deploy/kubernetes/helm/che/templates/dashboard-ingress.yaml new file mode 100644 index 00000000000..ced954ff8df --- /dev/null +++ b/deploy/kubernetes/helm/che/templates/dashboard-ingress.yaml @@ -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 }} diff --git a/deploy/kubernetes/helm/che/templates/dashboard-service.yaml b/deploy/kubernetes/helm/che/templates/dashboard-service.yaml new file mode 100644 index 00000000000..46ff8c277cb --- /dev/null +++ b/deploy/kubernetes/helm/che/templates/dashboard-service.yaml @@ -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 diff --git a/deploy/kubernetes/helm/che/templates/dashboard-traefik-gateway-configmap.yaml b/deploy/kubernetes/helm/che/templates/dashboard-traefik-gateway-configmap.yaml new file mode 100644 index 00000000000..456aca2c113 --- /dev/null +++ b/deploy/kubernetes/helm/che/templates/dashboard-traefik-gateway-configmap.yaml @@ -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/`)" + service: che-dashboard + priority: 10 + services: + che-dashboard: + loadBalancer: + servers: + - url: 'http://che-dashboard:8080' +{{- end }} diff --git a/deploy/kubernetes/helm/che/templates/ingress.yaml b/deploy/kubernetes/helm/che/templates/ingress.yaml index 5352a47b447..0ce7bc570d6 100644 --- a/deploy/kubernetes/helm/che/templates/ingress.yaml +++ b/deploy/kubernetes/helm/che/templates/ingress.yaml @@ -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 diff --git a/deploy/kubernetes/helm/che/templates/traefik-gateway-configmap.yaml b/deploy/kubernetes/helm/che/templates/traefik-gateway-configmap.yaml index 45611bce11b..53fb547d08f 100644 --- a/deploy/kubernetes/helm/che/templates/traefik-gateway-configmap.yaml +++ b/deploy/kubernetes/helm/che/templates/traefik-gateway-configmap.yaml @@ -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: diff --git a/deploy/kubernetes/helm/che/values.yaml b/deploy/kubernetes/helm/che/values.yaml index 8ce9cf80248..881b6c0971e 100644 --- a/deploy/kubernetes/helm/che/values.yaml +++ b/deploy/kubernetes/helm/che/values.yaml @@ -110,6 +110,14 @@ che: disableProbes: false logLevel: "INFO" +dashboard: + image: quay.io/eclipse/che-dashboard:next + imagePullPolicy: "Always" + memoryRequest: 16Mi + memoryLimit: 256Mi + cpuRequest: 50m + cpuLimit: 500m + cheDevfileRegistry: deploy: true diff --git a/deploy/kubernetes/helm/che/values/multi-user.yaml b/deploy/kubernetes/helm/che/values/multi-user.yaml index 06d1c9646db..8439506f938 100644 --- a/deploy/kubernetes/helm/che/values/multi-user.yaml +++ b/deploy/kubernetes/helm/che/values/multi-user.yaml @@ -9,4 +9,3 @@ global: multiuser: true -