dipjyotighosh / move2kube

Move2Kube is a command-line tool that accelerates the process of re-platforming to Kubernetes/Openshift.

Home Page:https://move2kube.konveyor.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build Docker Repository on Quay License contributions welcome Go Report Card

Move2Kube

Move2Kube is a command-line tool that accelerates the process of re-platforming to Kubernetes/Openshift. It does so by analysing the environment and source artifacts, and asking guidance from the user when required.

Usage

Installation

Using install script

To install the latest stable version:

bash <(curl https://raw.githubusercontent.com/konveyor/move2kube/main/scripts/install.sh)

To install a specific version (for example version v0.2.0-alpha.3):

MOVE2KUBE_TAG='v0.2.0-alpha.3' bash <(curl https://raw.githubusercontent.com/konveyor/move2kube/main/scripts/install.sh)

To install the bleeding edge version:

BLEEDING_EDGE='true' bash <(curl https://raw.githubusercontent.com/konveyor/move2kube/main/scripts/install.sh)

Using Homebrew

brew tap konveyor/move2kube
brew install move2kube

UI

We also provide a UI version of Move2Kube

  • Change directory to an empty directory using say, mkdir -p workspace && cd workspace
  • Run docker run -p 8080:8080 -v $PWD:/workspace -v /var/run/docker.sock:/var/run/docker.sock -it quay.io/konveyor/move2kube-aio:latest
  • Access the UI in http://localhost:8080/.

Usage

Simple Usage

move2kube translate -s src , where src is the folder containing the source artifacts.

Involved Usage

Usage

Checkout the Getting started guide and Tutorials for more information.

Prerequisites

Development environment setup

  1. Obtain a recent version of golang. Known to work with 1.15.
  2. Ensure $GOPATH is set. If it's not set:
    1. mkdir ~/go
    2. export GOPATH=~/go
  3. Obtain this repo:
    1. mkdir -p $GOPATH/src/
    2. Clone this repo into the above directory.
    3. cd $GOPATH/src/move2kube
  4. Build: make build
  5. Run unit tests: make test

Artifacts Required

Source Artifact available Features supported
Cloud Foundry Manifest files Containerization options from buildpacks, Deployment artifacts
Cloud Foundry Manifest files, Source code Containerization options based on buildpack/source code, Deployment artifacts
Cloud Foundry Manifest files, Source code, Access to running instance Containerization options based on buildpack/source code, Deployment artifacts, Metadata from runtime
Cloud Foundry Access to running instance Metadata from runtime, Containerization options based on buildpack, Deployment artifacts
Docker Compose/Swarm Docker compose files Deployment artifacts
Docker Compose/Swarm Docker compose files, Docker images Deployment artifacts, Ability to enhance images to run in secure environments like Openshift.
Source Directories Source code with no source metadata Containerization options based on source code, Deployment artifacts
Any source Access to target cluster Ability to create artifacts customized for that particular cluster with the most preferred GroupVersion for the kind.

Output

  • Containerization scripts
    • Dockerfile
    • Source 2 Image (S2I)
    • Cloud Native Buildpack
  • Deployment artifacts
    • Kubernetes/Openshift Yamls
    • Helm charts
    • Operator
    • Docker compose

Move2Kube Demo

  • A short demo of using Move2Kube end-to-end, i.e., starting from the generation of the target deployment artifacts using the source artifacts, to finally deploying the applications on Kubernetes using the generated target artifacts, can be watched in the below link.

    End-to-End demo

Discussion

About

Move2Kube is a command-line tool that accelerates the process of re-platforming to Kubernetes/Openshift.

https://move2kube.konveyor.io/

License:Apache License 2.0


Languages

Language:Go 93.2%Language:Shell 4.5%Language:Dockerfile 1.4%Language:Makefile 0.8%Language:JavaScript 0.1%Language:Smarty 0.0%