Cloud Migration Web UI

Nashwan Azhari d78cae5d57 Merge pull request #547 from smiclea/remove-details-url-path %!s(int64=6) %!d(string=hai) anos
.github 4f472cf299 Added Nodejs testing workflow %!s(int64=6) %!d(string=hai) anos
.vscode c90e8b7769 Use correct replication count when recreat. migr. %!s(int64=6) %!d(string=hai) anos
flow-typed 9eb32c4b6a Add e2e integration tests using Cypress %!s(int64=8) %!d(string=hai) anos
private 1a9fe1b19d Fix progress text getting outside of panel bounds %!s(int64=6) %!d(string=hai) anos
public 0d39a85837 Coriolis with Atomic design implementation %!s(int64=8) %!d(string=hai) anos
server 9b37722816 Re-add Azure Migrate support %!s(int64=6) %!d(string=hai) anos
src 9bfce4d599 Remove the '/details' path component %!s(int64=6) %!d(string=hai) anos
.babelrc 7c2332e6d3 Replace alt.js with MobX for state management %!s(int64=8) %!d(string=hai) anos
.dockerignore 4cee086424 Added Dockerfile %!s(int64=8) %!d(string=hai) anos
.editorconfig 0d39a85837 Coriolis with Atomic design implementation %!s(int64=8) %!d(string=hai) anos
.eslintignore 2dc2dd39d5 Add 'Planning' page with Azure Migrate support %!s(int64=8) %!d(string=hai) anos
.eslintrc e8d9e32b3b Improve layout of instances list %!s(int64=7) %!d(string=hai) anos
.flowconfig 906108b18c Fix some dest. / source options values missing %!s(int64=6) %!d(string=hai) anos
.gitignore 4fb60f64ce Add Flow VSCode settings %!s(int64=6) %!d(string=hai) anos
Dockerfile e12ddaf5e8 Add `config.js` file modding support %!s(int64=6) %!d(string=hai) anos
LICENSE 0d39a85837 Coriolis with Atomic design implementation %!s(int64=8) %!d(string=hai) anos
README.md e12ddaf5e8 Add `config.js` file modding support %!s(int64=6) %!d(string=hai) anos
config.js 53e535f26a Call options for `list_all_destination_networks` %!s(int64=6) %!d(string=hai) anos
cypress.json 32b0c10d24 Increased requestTimeout to 10s %!s(int64=7) %!d(string=hai) anos
package.json 058b56271e Fix NPM dependencies security vulnerabilities %!s(int64=6) %!d(string=hai) anos
server.js c3af7b1c18 Refactor NodeJS Server ES5 code to ES6 %!s(int64=8) %!d(string=hai) anos
ui-mod-sample.json 257c052529 Add ability to set services URLs using MOD_JSON %!s(int64=6) %!d(string=hai) anos
webpack.config.js f822bcb277 Move endpoints zip export from server to client %!s(int64=6) %!d(string=hai) anos
yarn.lock 058b56271e Fix NPM dependencies security vulnerabilities %!s(int64=6) %!d(string=hai) anos

README.md

Coriolis Web

Web GUI for coriolis

CI Badge

Install instructions

  • node >=6.x and yarn are required
  • clone repo
  • run yarn install or yarn install --production to install packages and dependencies for development or production mode
  • change the coriolisUrl variable in ./src/config.js to match the Coriolis Server path

Build instructions

  • run yarn build
  • run node server.js to start the server

Your server will be running at http://localhost:3000/

Testing

  • unit tests can be run using yarn test
  • e2e integration tests can be run using yarn cypress. First though, you have to create the private/cypress/config.js file using private/cypress/config.template.js as a template and then run yarn build and node server.

Development mode

  • run yarn start to start local development server

Your development server will be running at http://localhost:3000/

This should be used only for development, as it contains live-reload and other development tools.

You can view some of the UIs components in the Storybook by running yarn storybook

Modding

The UI can be modded externally using a .json modding file. A sample is available in the repo ui-mod-sample.json.

The path to the .json mod file needs to be set in MOD_JSON environment variable (ex.: MOD_JSON=/usr/ui-mod.json).

Any provider logos can be replaced using local logo images. The local image file paths need to be absolute.

You can specify one logo, in which case it will be scaled to all sizes. You can also specify logos for just a couple of the sizes, in which case the closest size to the one required will be used. Open ui-mod-sample.json for more details.

Any option from config.js can be modified by adding the config field to the ui-mod-sample.json file.