Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Move Workflows UI from argo-ui repo #1859

Merged
merged 1 commit into from
Dec 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions ui/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
node_modules
.git
Dockerfile
5 changes: 5 additions & 0 deletions ui/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
node_modules
dist
bundle
.vscode

21 changes: 21 additions & 0 deletions ui/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM node:11.15.0 as build

WORKDIR /src
ADD ["package.json", "yarn.lock", "./"]

RUN yarn install

ADD [".", "."]

ARG ARGO_VERSION=latest
ENV ARGO_VERSION=$ARGO_VERSION
RUN NODE_ENV='production' yarn build && yarn cache clean && yarn install --production

FROM node:11.15.0-alpine

COPY --from=build ./src/dist /app
COPY --from=build ./src/node_modules /app/node_modules
WORKDIR /app

EXPOSE 8001
CMD node api/api/main.js --uiDist /app/app --inCluster ${IN_CLUSTER} --namespace ${ARGO_NAMESPACE} --force-namespace-isolation ${FORCE_NAMESPACE_ISOLATION} --instanceId ${INSTANCE_ID:-''} --enableWebConsole ${ENABLE_WEB_CONSOLE:-'false'} --uiBaseHref ${BASE_HREF:-'/'} --ip ${IP:-'0.0.0.0'} --port ${PORT:-'8001'}
2 changes: 2 additions & 0 deletions ui/Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
ui: yarn start:ui
api: yarn start:api
18 changes: 17 additions & 1 deletion ui/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
# Argo UI

Moved to https://github.com/argoproj/argo-ui
![Argo Image](https://github.com/argoproj/argo/blob/master/argo.png?raw=true)

A web-based UI for the Argo Workflow engine.

The UI has the following features:
* View live Argo Workflows running in the cluster
* View completed Argo Workflows
* View container logs


## Build, Run, & Release

1. Install Toolset: [NodeJS](https://nodejs.org/en/download/) and [Yarn](https://yarnpkg.com)
2. Install Dependencies: From your command line, navigate to the argo-ui directory and run `yarn install` to install dependencies.
3. Run: `yarn start` - starts API server and webpack dev UI server. API server uses current `kubectl` context to access workflow CRDs.
4. Build: `yarn build` - builds static resources into `./dist` directory.
5. Release: `IMAGE_NAMESPACE=argoproj IMAGE_TAG=latest DOCKER_PUSH=true yarn docker` - builds docker image and optionally push to docker registry.
1 change: 1 addition & 0 deletions ui/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
v2.2.1
109 changes: 109 additions & 0 deletions ui/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
{
"name": "argo-ui",
"version": "1.0.0",
"license": "MIT",
"files": [
"src"
],
"scripts": {
"docker": "./scripts/build_docker.sh",
"build": "yarn build:ui && yarn build:api",
"build:ui": "webpack --config ./src/app/webpack.config.js",
"build:api": "tsc -p ./src/api/tsconfig.json",
"build:storybook": "build-storybook -o ./dist/storybook",
"start": "nf start",
"start:ui": "webpack-dev-server --config ./src/app/webpack.config.js",
"start:api": "TS_NODE_PROJECT=./src/api/tsconfig.json nodemon --nolazy --inspect -r ts-node/register ./src/api/main.ts",
"lint": "yarn lint:ui && yarn lint:api",
"lint:ui": "tslint -p ./src/app",
"lint:api": "tslint -p ./src/api",
"test": "mocha --require ts-node/register ./src/app/**/*.spec.ts"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^5.8.1",
"@tippy.js/react": "^2.1.2",
"@types/react-form": "^2.16.1",
"@types/react-helmet": "^5.0.8",
"argo-ui": "https://github.com/argoproj/argo-ui.git",
"aws-sdk": "^2.188.0",
"body-parser": "^1.18.2",
"classnames": "^2.2.5",
"dagre": "^0.8.2",
"deep-equal": "^1.0.1",
"express": "^4.16.2",
"express-winston": "^3.0.0",
"foundation-sites": "^6.4.3",
"history": "^4.7.2",
"json-stream": "^1.0.0",
"kubernetes-client": "3.17.1",
"moment": "^2.20.1",
"prop-types": "^15.6.0",
"react": "^16.8.3",
"react-dom": "^16.8.3",
"react-form": "2.16.0",
"react-helmet": "^5.2.0",
"react-router-dom": "^4.2.2",
"react-toastify": "^5.0.1",
"rxjs": "^5.5.6",
"superagent": "^3.8.2",
"superagent-promise": "^1.1.0",
"ts-loader": "^6.0.4",
"typescript": "^2.8.3",
"util.promisify": "^1.0.0",
"webpack-cli": "^3.3.5",
"winston": "^3.1.0",
"ws": "^4.0.0",
"xterm": "2.4.0",
"yamljs": "^0.3.0",
"yargs": "^11.0.0"
},
"devDependencies": {
"@dump247/storybook-state": "^1.5.0",
"@storybook/addon-actions": "^5.1.9",
"@storybook/addon-links": "^5.1.9",
"@storybook/addons": "^5.1.9",
"@storybook/react": "^5.1.9",
"@types/aws-sdk": "^2.7.0",
"@types/chai": "^4.1.2",
"@types/classnames": "^2.2.3",
"@types/dagre": "^0.7.39",
"@types/deep-equal": "^1.0.1",
"@types/history": "^4.6.2",
"@types/mocha": "^2.2.48",
"@types/prop-types": "^15.5.2",
"@types/react": "^16.8.5",
"@types/react-dom": "^16.8.2",
"@types/react-router-dom": "^4.2.3",
"@types/storybook__addon-actions": "^3.0.2",
"@types/storybook__addon-links": "^3.3.0",
"@types/storybook__react": "^3.0.7",
"@types/superagent": "^3.5.7",
"@types/ws": "^4.0.0",
"@types/yamljs": "^0.2.30",
"babel-core": "^6.26.0",
"chai": "^4.1.2",
"copy-webpack-plugin": "^4.3.1",
"copyfiles": "^1.2.0",
"foreman": "^3.0.1",
"glob": "^7.1.2",
"html-webpack-plugin": "^3.2.0",
"jscs": "^3.0.7",
"mocha": "^5.0.0",
"node-sass": "^4.12.0",
"nodemon": "^1.14.11",
"raw-loader": "^0.5.1",
"react-hot-loader": "^3.1.3",
"sass-loader": "^6.0.6",
"source-map-loader": "^0.2.3",
"style-loader": "^0.20.1",
"ts-node": "^4.1.0",
"tslint": "^5.9.1",
"tslint-react": "^3.4.0",
"webfonts-generator": "^0.4.0",
"webpack": "^4.35.0",
"webpack-dev-server": "^3.7.2"
},
"resolutions": {
"@types/react": "16.8.5"
}
}
16 changes: 16 additions & 0 deletions ui/scripts/build_docker.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash

CURRENT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
GIT_COMMIT=`git rev-parse --short HEAD`
VERSION=`cat ${CURRENT_DIR}/../VERSION`

set -e

TAG=${IMAGE_TAG:-"$VERSION-$GIT_COMMIT"}

docker build --build-arg ARGO_VERSION=${TAG} -t ${IMAGE_NAMESPACE:-`whoami`}/argoui:${TAG} .

if [ "$DOCKER_PUSH" == "true" ]
then
docker push ${IMAGE_NAMESPACE:-`whoami`}/argoui:${TAG}
fi
Loading