Add devfile for dashboard (#12757)

* #12228 add devfile for dashboard

Signed-off-by: Yevhen Vydolob <yvydolob@redhat.com>
7.20.x
Yevhen Vydolob 2019-03-01 10:23:04 +02:00 committed by GitHub
parent 150435b3be
commit e18566532c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 113 additions and 0 deletions

45
dashboard/.devfile Normal file
View File

@ -0,0 +1,45 @@
specVersion: 0.0.1
name: dashboard-in-che
projects:
- name: che
source:
type: git
location: 'https://github.com/eclipse/che.git'
tools:
- name: theia-editor
type: cheEditor
id: org.eclipse.che.editor.theia:master
- name: exec-plugin
type: chePlugin
id: che-machine-exec-plugin:0.0.1
- name: dash-dev
type: dockerimage
image: 'eclipse/che-dashboard-dev:nightly'
endpoints:
- name: dashboard-dev-server
port: 3000
attributes:
path: /
protocol: http
public: "true"
mountSources: true
memoryLimit: 3Gi
commands:
- name: dashboard_build
actions:
- type: exec
tool: dash-dev
command: cd /projects/che/dashboard && yarn
workdir: /projects/che/dashboard
- name: dashboard_test
actions:
- type: exec
tool: dash-dev
command: cd /projects/che/dashboard && yarn test
workdir: /projects/che/dashboard
- name: dashboard_dev_server
actions:
- type: exec
tool: dash-dev
command: cd /projects/che/dashboard && node_modules/.bin/gulp serve --server=${CHE_API_EXTERNAL%????}
workdir: /projects/che/dashboard

View File

@ -0,0 +1,23 @@
# Copyright (c) 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
#
# Contributors:
# Red Hat, Inc. - initial API and implementation
FROM node:8.15.0
RUN apt-get update && \
apt-get install -y git \
&& apt-get -y clean \
&& rm -rf /var/lib/apt/lists/* \
&& echo fs.inotify.max_user_watches=524288 | tee -a /etc/sysctl.conf
WORKDIR "/projects"
ADD src/entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD tail -f /dev/null

View File

@ -0,0 +1 @@
# Docker file for dashboard dev file

View File

@ -0,0 +1,15 @@
#!/bin/bash
#
# Copyright (c) 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
#
base_dir=$(cd "$(dirname "$0")"; pwd)
. "${base_dir}"/../build.include
init --name:dashboard-dev "$@"
build

View File

@ -0,0 +1,29 @@
#!/bin/bash
#
# Copyright (c) 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
#
# Contributors:
# Red Hat, Inc. - initial API and implementation
#
export USER_ID=$(id -u)
export GROUP_ID=$(id -g)
if ! grep -Fq "${USER_ID}" /etc/passwd; then
# current user is an arbitrary
# user (its uid is not in the
# container /etc/passwd). Let's fix that
cat ${HOME}/.passwd.template | \
sed "s/\${USER_ID}/${USER_ID}/g" | \
sed "s/\${GROUP_ID}/${GROUP_ID}/g" > /etc/passwd
cat ${HOME}/.group.template | \
sed "s/\${USER_ID}/${USER_ID}/g" | \
sed "s/\${GROUP_ID}/${GROUP_ID}/g" > /etc/group
fi
exec "$@"