Move2Kube
Move2Kube is a command-line tool that accelerates the process of re-platforming to Kubernetes/Openshift. It does so by analyzing the environment and source artifacts, and asking guidance from the user when required. It allows customizations to enable generating the directory structure and artifacts in the format required for your project.
Installation
Using the 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.3.0-alpha.3
):
MOVE2KUBE_TAG='v0.3.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)
Uninstall CLI installed via the install script
Simply remove the binary
rm /usr/local/bin/move2kube
Using Homebrew
brew tap konveyor/move2kube
brew install move2kube
Uninstall CLI installed via Homebrew
brew uninstall move2kube
brew untap konveyor/move2kube
UI
To bring up UI version:
Using docker
:
docker run --rm -it -p 8080:8080 quay.io/konveyor/move2kube-ui:latest
Using podman
:
podman run --rm -it -p 8080:8080 quay.io/konveyor/move2kube-ui:latest
Then go to http://localhost:8080 in a browser
More detailed instructions can be found in the Move2Kube UI repo
Usage
move2kube transform -s src
, where src
is the folder containing the source artifacts.
Checkout the Tutorials and Documentation for more information.
Development environment setup
To browse code
- Obtain a recent version of
golang
. Known to work with 1.18
.
- Ensure
$GOPATH
is set. If it's not set:
mkdir ~/go
export GOPATH=~/go
- Obtain this repo:
mkdir -p $GOPATH/src/
- Clone this repo into the above directory.
cd $GOPATH/src/move2kube
- Build:
make build
- Run unit tests:
make test
Artifacts Required
Source |
Artifact available |
Features supported |
Cloud Foundry |
Manifest files, Source code |
Containerization options based on source code, Deployment artifacts |
Cloud Foundry |
Manifest files, Source code, Access to running instance |
Containerization options based on source code, Deployment artifacts, Metadata from runtime |
Dockerfile |
Dockerfile |
Deployment artifacts, CI/CD pipeline artifacts |
Docker Compose/Swarm |
Docker compose files |
Deployment artifacts |
Docker Compose/Swarm |
Docker compose files, Docker images |
Deployment artifacts, CI/CD pipeline artifacts |
Source Directories |
Source code with no source metadata |
Containerization options based on source code, Deployment artifacts, CI/CD artifacts |
Kubernetes Yamls |
Kubernetes Yamls |
Change versions, parameterize and create Helm chart, Kustomize yamls and Openshift templates. |
Output
- Deployment artifacts
- Dockerfile
- Kubernetes/Openshift Yamls
- Helm charts
- Kustomize
- OpenShift Templates
- Docker compose
Discussion