Skip to content

48715564/ovirt-web-ui

 
 

Repository files navigation

Build Status

VM Portal for oVirt

Modern lightweight UI for standard (non-admin) oVirt users

Alt text

VM Portal allows non-admin oVirt users to access, start, stop, and create new virtual machines. It is not intended to be a full-featured oVirt administration UI. Rather, its focus is on standard users with limited administration skills and privileges.

For more screenshots, see the doc/screenshots directory.

Try it!

If you install oVirt 4.1+ using dnf, VM Portal will automatically be included. You can access the application at:

https://[ENGINE_FQDN]/ovirt-engine/web-ui

You can also run it standalone and connect to any oVirt 4.0+ setup using docker by running:

docker run --rm -it -e ENGINE_URL=https://[ENGINE.FQDN]/ovirt-engine -p 3000:3000 mareklibra/ovirt-web-ui

and access the VM Portal at http://localhost:3000

Milestones

For the most current list of features, please refer to the Milestones or Issues GitHub sections.

The upcoming milestones:

The upcoming release shall newly support (among others):

  • event-driven data refresh to improve performance
  • Single Sign On oVirt host machine
  • Search by Name
  • Sorting

Goals

  • fast UI responses and start-up
  • improved usability and look & feel
  • easy customization for your own oVirt UI implementation
  • can be deployed as a self-standing lightweight app (docker image)
  • integration with other components like Cockpit or ManageIQ
  • code reusability, extensibility, and simplicity
  • simplified maintenance and ongoing development

For more info, see doc/goals.md

Development setup

Prerequisites

Standalone installation from RPM

Please note: if you install ovirt-engine 4.1+ using dnf, VM Portal will be automatically included.

yum install ovirt-web-ui installs to /usr/share/ovirt-web-ui and a new ovirt-web-ui.war is added to the existing ovirt-engine.ear.

You can access the application at: https://[ENGINE_URL]/ovirt-engine/web-ui

The latest ovirt-web-ui RPM can be found in the Copr build system or project's yum repository.

Quick run using Docker

A prebuilt docker image mareklibra/ovirt-web-ui is available for standalone usage with a running oVirt engine instance.

Just specify where your oVirt engine is running, using one of the following examples:

  • Latest released version (see Releases):

    docker run --rm -it -e ENGINE_URL=https://[OVIRT.ENGINE.FQDN]/ovirt-engine/ -p 3000:3000 mareklibra/ovirt-web-ui:latest

  • Most recent image, built from master branch:

    docker rmi mareklibra/ovirt-web-ui:master

    docker run --rm -it -e ENGINE_URL=https://[OVIRT.ENGINE.FQDN]/ovirt-engine/ -p 3000:3000 mareklibra/ovirt-web-ui:master

Wait until the application is ready:

The app is running at:

  http://localhost:3000/

VM Portal is then accessible at http://localhost:3000

Build

After git clone and meeting all Prerequisities above, you can build from source by:

source /usr/share/ovirt-engine-nodejs-modules/setup-env.sh   # to set PATH and ./node_modules directory based on yarn offline cache
./autogen.sh

export PATH=/usr/share/ovirt-engine-yarn/bin:/usr/share/ovirt-engine-nodejs/bin:$PATH    # please consider adding to ~/.bashrc

make    # to create the 'build' directory
# or
make rpm    # to create (s)rpms under 'tmp.repos'

Build and install to a local ovirt-engine

This allows you to run VM Portal deployed directly in an ovirt-engine development installation.

./autogen.sh --prefix=/usr --datarootdir=/share
make all install-data-local DESTDIR=<path_to_engine_development_prefix>

Development mode

A primary goal of VM Portal is a quick development cycle (change-build-deploy-check). The project uses webpack-dev-server to accomplish this. To start the server:

ENGINE_URL=https://my.ovirt.instance/ovirt-engine/ yarn start

When asked, provide a valid username (in the form of user@domain) and password so the application can start in the context of a logged in user.

Redux Dev Tools

The Redux Dev Tools can significantly simplify debuging of the application.

For Chrome: https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd

For Firefox: https://addons.mozilla.org/en-us/firefox/addon/remotedev/

Technical Details

Issues

Please report issues and feature requests to the GitHub issue tracker.

Author(s)

Please send author(s) any feedback on the project.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 92.4%
  • CSS 3.6%
  • Java 1.4%
  • Shell 1.1%
  • Makefile 0.8%
  • M4 0.4%
  • Other 0.3%