konveyor / move2kube

Move2Kube is a command-line tool for automating creation of Infrastructure as code (IaC) artifacts. It has inbuilt support for creating IaC artifacts for replatforming to Kubernetes/Openshift.
https://move2kube.konveyor.io/
Apache License 2.0
383 stars 118 forks source link

Documentation about transformers #605

Open rmarting opened 2 years ago

rmarting commented 2 years ago

Is your feature request related to a problem? Please describe.

The transformation plan requires to define a list of transformers to get the deployment artifacts for the target platform (k8s or OpenShift). The list of transformers is large but there is no documentation about each transformer (goals, functions, outputs), so it is complicated to choose the right ones for a migration.

The current list of transformers is:

apiVersion: move2kube.konveyor.io/v1alpha1
kind: Plan
metadata:
  name: hello-spring-cloud
spec:
  # Omitted
  configuration:
    transformers:
      Buildconfig: m2kassets/inbuilt/transformers/generators/buildconfig/buildconfig.yaml
      CNBGenerator: m2kassets/inbuilt/transformers/cnb/cnbgenerator/cnbgenerator.yaml
      CloudFoundry: m2kassets/inbuilt/transformers/cloudfoundry/cloudfoundry.yaml
      ComposeAnalyser: m2kassets/inbuilt/transformers/compose/composeanalyser/composeanalyser.yaml
      ComposeGenerator: m2kassets/inbuilt/transformers/compose/composegenerator/composegenerator.yaml
      ContainerImagesBuildScript: m2kassets/inbuilt/transformers/generators/containerimagesbuildscript/containerimagesbuildscript.yaml
      ContainerImagesPushScript: m2kassets/inbuilt/transformers/generators/containerimagespushscript/containerimagespushscript.yaml
      Django: m2kassets/inbuilt/transformers/dockerfile/django/django.yaml
      DockerfileDetector: m2kassets/inbuilt/transformers/dockerfile/dockerfiledetector/dockerfiledetector.yaml
      DockerfileImageBuildScript: m2kassets/inbuilt/transformers/dockerfile/dockerimagebuildscript/docckerfilebuildscriptgenerator.yaml
      DockerfileParser: m2kassets/inbuilt/transformers/dockerfile/dockerfileparser/dockerfileparser.yaml
      DotNet5-Dockerfile: m2kassets/inbuilt/transformers/dockerfile/dotnet5/dotnet5.yaml
      EurekaReplaceEngine: m2kassets/inbuilt/transformers/springboot/eurekareplaceengine/eureka.yaml
      Golang-Dockerfile: m2kassets/inbuilt/transformers/dockerfile/golang/golang.yaml
      Golang-s2i: m2kassets/inbuilt/transformers/s2i/golang/golang.yaml
      Java-Springboot: m2kassets/inbuilt/transformers/springboot/java-springboot/java-springboot.yaml
      Java-ant: m2kassets/inbuilt/transformers/dockerfile/javaant/javaant.yaml
      Java-gradle: m2kassets/inbuilt/transformers/dockerfile/javagradle/javagradle.yaml
      Java-maven: m2kassets/inbuilt/transformers/dockerfile/javamaven/javamaven.yaml
      Java-s2i: m2kassets/inbuilt/transformers/s2i/java/java.yaml
      Java-war-jboss: m2kassets/inbuilt/transformers/dockerfile/java-war-jboss/java-war-jboss.yaml
      Java-war-liberty: m2kassets/inbuilt/transformers/dockerfile/java-war-liberty/java-war-liberty.yaml
      Java-war-tomcat: m2kassets/inbuilt/transformers/dockerfile/java-war-tomcat/java-war-tomcat.yaml
      Knative: m2kassets/inbuilt/transformers/generators/knative/knative.yaml
      Kubernetes: m2kassets/inbuilt/transformers/generators/kubernetes/kubernetes.yaml
      Nodejs-Dockerfile: m2kassets/inbuilt/transformers/dockerfile/nodejs/nodejs.yaml
      Nodejs-s2i: m2kassets/inbuilt/transformers/s2i/nodejs/nodejs.yaml
      PHP-Dockerfile: m2kassets/inbuilt/transformers/dockerfile/php/php.yaml
      PHP-s2i: m2kassets/inbuilt/transformers/s2i/php/php.yaml
      Parameterizer: m2kassets/inbuilt/transformers/generators/parameterizers/parameterizers.yaml
      Python: m2kassets/inbuilt/transformers/dockerfile/python/python.yaml
      Python-s2i: m2kassets/inbuilt/transformers/s2i/python/python.yaml
      ReadMeGenerator: m2kassets/inbuilt/transformers/generators/readmegenerator/readmegenerator.yaml
      Ruby: m2kassets/inbuilt/transformers/dockerfile/ruby/ruby.yaml
      Ruby-s2i: m2kassets/inbuilt/transformers/s2i/ruby/ruby.yaml
      Rust: m2kassets/inbuilt/transformers/dockerfile/rust/rust.yaml
      S2IGenerator: m2kassets/inbuilt/transformers/s2i/buildscriptgenerator/s2ibuildscriptgenerator.yaml
      Tekton: m2kassets/inbuilt/transformers/generators/tekton/tekton.yaml
      WinConsoleApp-Dockerfile: m2kassets/inbuilt/transformers/dockerfile/winconsole/winconsole.yaml
      WinSLWebApp-Dockerfile: m2kassets/inbuilt/transformers/dockerfile/winsilverlightweb/winsilverlightweb.yaml
      WinWebApp-Dockerfile: m2kassets/inbuilt/transformers/dockerfile/winweb/winweb.yaml
      ZuulAnalyser: m2kassets/inbuilt/transformers/springboot/zuul/zuulanalyser.yaml

Describe the solution you'd like

Documentation (e.g. GitHub page) with a list of transformers included in the tool, describen for each of them:

Describe alternatives you've considered

Additional context

ashokponkumar commented 2 years ago

Absolutely @rmarting . We are currently adding a few more Transformers too. We are targetting 0.3.0 stable release. As soon as the release is done, we will get to documenting the same.

ashokponkumar commented 2 years ago

We have to document the various ArtifactTypes too.