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.
- 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.
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:
- Your operating system and version.
- Your OpenShift cluster version.
- Attach a copy of the manifest (if possible).
- Attach a copy of the log output (if possible).
- Detail the issue or feature in as much detail as possible.
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.
Shifter can either be ran via the command line or via a web ui front end.
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.
Read the detailed documentation at shifter/README.md
Provides a front-end application written in Vue that connects to the Shfiter API's, for more information see shifter-ui/readme.md
- Binaries - https://github.com/google/shifter/releases
- Shifter Core Docker Image - docker pull images.shifter.cloud/shifter:latest
- Shifter UI Docker Image - docker pull images.shifter.cloud/shifter-ui:latest
- Get the Source & Run Latest Docker Release
git clone https://github.com/google/shifter
cd shifter
docker-compose -f docker-compose.yml up
- Open a browser and go to http://localhost:9090
- 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
- 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