Skip to content

OpenShift Console Plugin For Forklift, the plugin adds a web based user interface for Migration Toolkit for Virtualization inside Openshift web console.

License

Notifications You must be signed in to change notification settings

kubev2v/forklift-console-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

OpenShift Console Plugin For Forklift

CI Workflow Quality Gate Status

forklift-console-plugin is an open source project providing Openshift web console plugin for Migration Toolkit for Virtualization. The plugin adds a web based user interface for Migration Toolkit for Virtualization inside Openshift web console.

Migration Toolkit for Virtualization (Forklift) is a suite of migration tools that facilitate the import of virtualization workloads from oVirt, VMware and OpenStack to OpenShift Virtualization.

Forklift console plugin is managed by Migration Toolkit for Virtualization operator, when installing the operator on Openshift cluster, the plugin will be installed automatically, and the Migration menu item will be added to the Openshift web console.

Prerequisites

Installation

To get started, clone the repo to your development workstation and install the required dependencies locally with yarn.

git clone https://github.com/kubev2v/forklift-console-plugin.git
cd forklift-console-plugin
yarn install

Quick start

With a user logged in to existing Kubernetes or Openshift environment with Forklift operator available, one can start a locally served forklift-console-plugin instance ( running on http://localhost:9000 ) with:

# Start a local Openshift console server on the background.
# - The console will be available in http://localhost:9000
# - The inventory URL can be set using an environment variable,
#   ( default value for INVENTORY_SERVER_HOST is https://localhost:30444 )
#   for example:
#     export INVENTORY_SERVER_HOST=https://virt-konveyor-forklift.apps.example.com
# - To close the console server run:
#   yarn console:stop

# Setting the console image and forklift service URLs as environment variables:
#
# Note: default values works with the local development cluster, you can create using the CI.
#       set this variables if you use a different cluster.
export INVENTORY_SERVER_HOST=https://virt-konveyor-forklift.apps.<your cluster address>
export SERVICES_API_SERVER_HOST=https://virt-konveyor-forklift.apps.<your cluster address>
export CONSOLE_IMAGE=quay.io/openshift/origin-console:4.19

# Run the web console locally (uses the environment variables we defined above)
yarn console

# If this is the first time running, yarn build will build the required dependencies
yarn build

# Start the plugin in development mode
yarn start

How to find the cluster address

The cluster address will be the part of the address after the apps. or api. in the cluster services or API service address.

For example, if your cluster API address is api.example.com:6443, the cluster address will be example.com, and the inventory service address will be:

export INVENTORY_SERVER_HOST=https://virt-konveyor-forklift.apps.example.com

Note: use this method to find the inventory and services address when using an Openshift cluster, when using K8s use the inventory service address.

Setup a local cluster for development

Forklift console plugin requires the user to be logged into an openshift or kubernetes cluster, if you do not have access to one, you can setup your own using Openshift local or use the CI script to build a local KinD cluster.

# Setup a kind cluster with Forklift operator and an OKD web console
yarn cluster:up

# Example: setup a local KinD cluster with ovirt mock provider
#          [ options: --with-all-providers --with-ovirt-provider, --with-vmware-provider, --with-openstack-provider]
#
# Note I:  mock providers requires forkliftci, clone on the ci directory
# Note II: mock providers requires NFS server running, look at forkliftci documentation for more details.
#          See: forkliftci/cluster/providers/utils/install_nfs.sh
git clone [email protected]:kubev2v/forkliftci.git ./ci/forkliftci
yarn cluster:up -- --with-ovirt-provider

# run cleanup to stop and delete the cluster.
yarn cluster:delete

Development

Commit Message Format

All commits must include one of these formats in the commit description (the body of the commit message):

Primary format: Resolves: MTV-<number>

Example commit:

Subject: Fix bug in data processing
Description: Resolves: MTV-123

Exclusion format: Resolves: None

Example commit:

Subject: Update documentation
Description: Resolves: None

Chore commits: Any commit containing "chore" in the message (case insensitive) is automatically skipped.

Example chore commits:

chore: update dependencies
CHORE: clean up build files
Update dependencies and chore tasks

Note: The commit description validation is enforced via a GitHub Action that runs on all branches for push and pull request events. The validation automatically skips:

  • Bot users (dependabot, renovate, ci, github-actions, etc.)
  • Commits containing "chore" in the message (case insensitive)

Local Validation

You can validate commit messages locally using the provided script or yarn commands:

Using yarn commands:

# Validate the latest commit
yarn validate-commits

# Validate a range of commits
yarn validate-commits-range "HEAD~5..HEAD"

Using the script directly:

# Validate the latest commit
./scripts/validate-commits.sh

# Validate a range of commits
./scripts/validate-commits.sh --range HEAD~5..HEAD

# Validate with verbose output
./scripts/validate-commits.sh --verbose

# Get help
./scripts/validate-commits.sh --help

Detailed Commit Message Guide

For comprehensive information about commit message formatting, supported issue tracking systems, and troubleshooting, see COMMIT_MESSAGE_GUIDE.md.

Learn more

More documentation is available in the docs directory.

Reference
Forklift Migration toolkit for virtualization
Openshift web console Openshift web console is a web based user interface for Openshift.
OpenShift Dynamic Plugin SDK Dynamic plugin SDK for Openshift user interfaces.
Forklift documentation Usage documentation for the migration toolkit for virtualization.
Forklift CI Collection of scripts and tools used in forklift development.
Patternfly Open source design system used for Openshift user interfaces development.

About

OpenShift Console Plugin For Forklift, the plugin adds a web based user interface for Migration Toolkit for Virtualization inside Openshift web console.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 44

Languages