a9cd7750f4
CI / unit-test (push) Has been cancelled
CI / detect-changes (push) Has been cancelled
CI / build (push) Has been cancelled
Publish docs via GitHub Pages / Deploy docs (push) Has been cancelled
CI / test-harness (push) Has been cancelled
CI / generate-e2e-matrix (push) Has been cancelled
CI / e2e (push) Has been cancelled
CI / build-ui (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
UI v2 Integration CI / E2E (Integration) (push) Has been cancelled
UI v2 CI / Lint, Format & Test (push) Has been cancelled
UI v2 CI / E2E (Mocked) (push) Has been cancelled
65 lines
2.5 KiB
Markdown
65 lines
2.5 KiB
Markdown
## Conductor UI
|
|
|
|
The UI is a standard `create-react-app` React Single Page Application (SPA). To get started, with Node 14 and `yarn` installed, first run `yarn install` from within the `/ui` directory to retrieve package dependencies.
|
|
|
|
For more information regarding CRA configuration and usage, see the official [doc site](https://create-react-app.dev/).
|
|
|
|
> ### For upgrading users
|
|
>
|
|
> The UI is designed to operate directly with the Conductor Server API. A Node `express` backend is no longer required.
|
|
|
|
### Development Server
|
|
|
|
To run the UI on the bundled development server, run `yarn run start`. Navigate your browser to `http://localhost:5000`.
|
|
|
|
To enable errors inspector module export env var: `REACT_APP_ENABLE_ERRORS_INSPECTOR=true`, then run `yarn start`.
|
|
|
|
#### Reverse Proxy Configuration
|
|
|
|
By default, the development server proxies requests to `http://localhost:8080/api`.
|
|
|
|
To use a different Conductor Server, set the `WF_SERVER` environment variable:
|
|
|
|
```
|
|
export WF_SERVER=http://localhost:8081
|
|
yarn run start
|
|
```
|
|
|
|
For additional customization (e.g., path rewriting), edit `setupProxy.js`. Note that this file is only used by the development server.
|
|
|
|
### Hosting for Production
|
|
|
|
There is no need to "build" the project unless you require compiled assets to host on a production web server. In this case, the project can be built with the command `yarn build`. The assets will be produced to `/build`.
|
|
|
|
Your hosting environment should make the Conductor Server API available on the same domain. This avoids complexities regarding cross-origin data fetching. The default path prefix is `/api`. If a different prefix is desired, `plugins/fetch.js` can be modified to customize the API fetch behavior.
|
|
|
|
See `docker/serverAndUI` for an `nginx` based example.
|
|
|
|
#### Different host path
|
|
|
|
The static UI would work when rendered from any host route.
|
|
The default is '/'. You can customize this by setting the 'homepage' field in package.json
|
|
Refer
|
|
|
|
- https://docs.npmjs.com/cli/v9/configuring-npm/package-json#homepage
|
|
- https://create-react-app.dev/docs/deployment/#building-for-relative-paths
|
|
|
|
### Customization Hooks
|
|
|
|
For ease of maintenance, a number of touch points for customization have been removed to `/plugins`.
|
|
|
|
- `AppBarModules.jsx`
|
|
- `AppLogo.jsx`
|
|
- `env.js`
|
|
- `fetch.js`
|
|
|
|
### Authentication
|
|
|
|
We recommend that authentication & authorization be de-coupled from the UI and handled at the web server/access gateway.
|
|
|
|
#### Examples (WIP)
|
|
|
|
- Basic Auth (username/password) with `nginx`
|
|
- Commercial IAM Vendor
|
|
- Node `express` server with `passport.js`
|