/shifter

Shifter - OpenShift workloads to GKE/Anthos

Primary LanguageGoApache License 2.0Apache-2.0

Shifter - Openshift to Kubernetes Migration Accelerator

Bump & Tag New Release

Shifter is a tool which accelerates the migration from OpenShift 3.x / 4.x by translating the applications for Kubernetes, GKE & Anthos and supports migrating to Service Mesh with ASM + Istio Support.

shifter logo

Capabilities

  • Convert existing manifest files from OpenShift to Kubernetes.
  • Convert or extract manifest files from a running OpenShift cluster.
  • Run locally via a CLI tool or deploy a web-based user interface.
  • Convert OpenShift routes/networking to Google ILB/ELB or Istio/ASM virtual services + gateway creation.
  • Convert OpenShift templates to helm charts.
  • Convert ImageStreams to Images + Modify on the fly the Container Registry source.
  • Use GCS Buckets as the source/destination.

Issues and Feature Requests

If you have issues or would like to see some functionality added please raise a issue via Github Issues: https://github.com/google/shifter/issues

For issues please indicate:

  1. Your operating system and version.
  2. Your OpenShift cluster version.
  3. Attach a copy of the manifest (if possible).
  4. Attach a copy of the log output (if possible).
  5. Detail the issue or feature in as much detail as possible.

Contributing & Development

If you have improvements or fixes, we would love to have your contributions. Please read CONTRIBUTING.md for more information on the process we would like contributors to follow.

For development see DEVELOPMENT.md for details on pre-requisites and style guides.

Components

Shifter can either be ran via the command line or via a web ui front end.

Shifter Core (CLI & API Server)

Provides the backend service required by the front-end application and also provides the CLI tooling if the front-end web interface is not required.

Documentation

Read the detailed documentation at shifter/README.md

Demo

shifter demo 1

Shifter UI

Provides a front-end application written in Vue that connects to the Shfiter API's, for more information see shifter-ui/readme.md

Releases

Run Shifter

Run The Latest Shifter Version Locally with the UI

  1. Get the Source & Run Latest Docker Release
git clone https://github.com/google/shifter 
cd shifter
docker-compose -f docker-compose.yml up
  1. Open a browser and go to http://localhost:9090

Run The Latest Shifter Version Locally wth the CLI

  1. Run the Latest Docker Release (With List Action)
export CLUSTER_ENDPOINT="https://console.okd.<CLUSTER_DOMAIN>:8443"
export BEARER_TOKEN="<BEARER_TOKEN>"

docker run \
images.shifter.cloud/shifter:latest \
./shifter cluster -e $OKD_ENDPOINT -t $OKD_TOKEN list --all-namespaces
  1. Run the Latest Docker Release (With an Export Action)
export CLUSTER_ENDPOINT="https://console.okd.<CLUSTER_DOMAIN>:8443"
export BEARER_TOKEN="<BEARER_TOKEN>"

docker run \
-v 'pwd':/output \
images.shifter.cloud/shifter:latest \
./shifter cluster -e $CLUSTER_ENDPOINT -t $BEARER_TOKEN export --all-namespaces /output

Stargazers over time

Stargazers over time