/move2kube

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

Primary LanguageGoApache License 2.0Apache-2.0

Build Status Docker Repository on Quay codecov 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.

Install

Command line : curl -L https://raw.githubusercontent.com/konveyor/move2kube/master/scripts/install.sh | bash -
UI : Checkout https://github.com/konveyor/move2kube-ui

Usage

Simple Usage

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

Involved Usage

Usage

Usage instructions can be found here
Some demo usage flows can be found in here

Prerequisites

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

Discussion