migration toolkit for applications 8.1

Installing the migration toolkit for applications

Installing the migration toolkit for applications user interface and command-line interface

Red Hat Customer Content Services

Abstract

By using the migration toolkit for applications (MTA), you can accelerate large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. For example, you can inventory, assess, analyze, and manage applications for faster migration to OpenShift through the user interface at both the portfolio and application levels.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. We are beginning with these four terms: master, slave, blacklist, and whitelist. Because of the enormity of this endeavor, these changes will be implemented gradually over several upcoming releases. For more details, see our CTO Chris Wright’s message.

Chapter 1. Introduction to the migration toolkit for applications

The migration toolkit for applications (MTA) is a set of tools that you can use to accelerate large-scale application modernization efforts across hybrid cloud environments on Red Hat OpenShift. MTA looks for common resources and problematic spots when migrating applications. It gives a high-level view of the technologies used by the application. MTA also generates a detailed report that evaluates a migration or modernization path. By using this report, you can estimate the effort needed for large-scale projects and reduce the workload involved in the process.

By using MTA, you can perform the following tasks:

  • Use the MTA extensive default questionnaire to assess your applications, or create your own custom questionnaire to estimate the difficulty, time, and other resources needed to prepare an application for containerization. You can use the results of an assessment to determine applications suitable for containerization.
  • Analyze applications by applying sets of rules to each application. You can use these rules to determine which specific lines of the application you must modify before modernizing the application.
  • Examine application artifacts, including project source directories and application archives, and produce an HTML report that highlights areas that require changes.

1.1. MTA features

The migration toolkit for applications (MTA) includes many features that simplify upgrades with multiple migration paths.

MTA brings the following benefits for application analysis and assessment:

  • Application inventory and assessment modules to help organizations assess applications' suitability for deployment in containers, including flagging potential risks for migration strategies.
  • Integration with source code and binary repositories to automate the applications' retrieval for analysis, along with proxy integration, including HTTP and HTTPS proxy configuration managed in the user interface.
  • Improved analysis capabilities with different analysis modes, including source and dependency modes. These modes parse repositories to gather dependencies and add these dependencies to the scope of the analysis. You can also use a simplified user experience to configure the analysis scope, including open source libraries.
  • Enhanced role-based access control (RBAC) powered by Red Hat build of Keycloak to define the following personas:

    • Administrator
    • Architect
    • Migrator

    These personas have different permissions to suit the needs of each user, including credentials management for multiple credential types.

  • Administration perspective for administrators to manage tool-wide configuration.
  • Support for Red Hat OpenShift on AWS (ROSA)
  • Support for Azure Red Hat OpenShift (ARO)
  • Support for analyzing applications written in different languages

Additional resources

1.2. MTA rules

The migration toolkit for applications (MTA) contains rule-based migration tools called analyzers. You can use analyzers to examine the technologies, architectures, and application user interfaces (APIs) of the applications you want to move.

MTA analyzer rules use the following rule pattern:

when(condition)
 message(message)
 tag(tags)

You can use the MTA rules internally to perform the following tasks:

  • Extract files from archives
  • Decompile files
  • Scan and classify file types
  • Analyze XML and other file content
  • Analyze the application code
  • Build the reports

MTA builds a data model based on the rule execution results and stores component data and relationships in a graph database. This database can then be queried and updated as needed by the migration rules and for reporting purposes.

Note

You can create your own custom analyzer rules. You can use custom rules to identify the use of custom libraries or other components that the provided standard migration rules might not cover.

1.3. MTA tools

The migration toolkit for applications (MTA) tools help in the different stages of your migration and modernization efforts.

You can use the following MTA tools for assessing and analyzing your applications:

  • User interface (UI)

    By using the user interface for the migration toolkit for applications, you can perform the following tasks:

    • Assess the risks involved in containerizing an application for hybrid cloud environments on Red Hat OpenShift.
    • Analyze the changes that you might need to apply to the code of an application to containerize this application.
  • Command-line interface (CLI)

    The CLI is a command-line tool in the migration toolkit for applications that you can use to assess migration and modernization efforts for applications. It provides reports that highlight the analysis without using the other tools. The CLI includes a wide array of customization options. By using the CLI, you can tune MTA analysis options or integrate with external automation tools.

  • Migration toolkit for applications (MTA) (MTA) Operator

    By using the MTA Operator, you can install the user interface on OpenShift Container Platform.

  • IDE add-ons

    You can migrate and modernize applications by using the migration toolkit for applications add-ons for the following applications:

    • Visual Studio Code
    • IntelliJ IDEA

    You can use these add-ons to perform the following tasks:

    • Analyze your projects by using customizable sets of rules
    • Mark issues in the source code
    • Fix the issues by using the provided guidance
    • Use the automatic code replacement, if possible

Chapter 2. Supported migration toolkit for applications migration paths

You can use the migration toolkit for applications (MTA) to assess your applications' suitability for the migration to multiple target platforms. Review the supported migration paths to verify that your planned migration uses a valid combination of source and target technologies. Adhering to these paths helps ensure that MTA can successfully analyze and migrate your applications.

Table 2.1. Supported Java migration paths

Source platform ⇒Migration to JBoss EAP 7 & 8OpenShift (cloud readiness)OpenJDK 11, 17, and 21Jakarta EE 9Camel 3 & 4Spring Boot in Red Hat RuntimesQuarkusOpen Liberty

Oracle WebLogic Server

-

-

-

-

-

IBM WebSphere Application Server

-

-

-

-

JBoss EAP 4

[a]

-

-

-

-

-

JBoss EAP 5

-

-

-

-

-

JBoss EAP 6

-

-

-

-

-

JBoss EAP 7

-

-

-

-

Thorntail

[b]

-

-

-

-

-

-

-

Oracle JDK

-

-

-

-

-

-

Camel 2

-

-

-

-

-

Spring Boot

-

-

-

Any Java application

-

-

-

-

-

-

Any Java EE application

-

-

-

-

-

-

-

[a] Although MTA does not currently provide rules for this migration path, Red Hat Consulting can assist with migration from any source platform to JBoss EAP 7.
[b] Requires JBoss EAP expansion pack 2 (JBoss EAP XP 2).

..NET migration paths

Source platform ⇒OpenShift (cloud readiness)Migration to .NET 8.0

.NET Framework 4.5+ (Windows only)

Important

Analyzing applications written in the .NET language is Developer Preview software only. Developer Preview software is not supported by Red Hat in any way and is not functionally complete or production-ready. Do not use Developer Preview software for production or business-critical workloads. Developer Preview software provides early access to upcoming product software in advance of its possible inclusion in a Red Hat product offering. Customers can use this software to test functionality and provide feedback during the development process. This software might not have any documentation, is subject to change or removal at any time, and has received limited testing. Red Hat might provide ways to submit feedback on Developer Preview software without an associated SLA.

For more information about the support scope of Red Hat Developer Preview software, see Developer Preview Support Scope.

Chapter 3. Installing the migration toolkit for applications user interface

By using the migration toolkit for applications (MTA) user interface (UI), you can assess the risks involved in containerizing an application for hybrid cloud environments on Red Hat OpenShift. You can also analyze the changes that you must apply to the application’s code to containerize the application. You can install the migration toolkit for applications UI on all Red Hat OpenShift cloud services and Red Hat OpenShift self-managed editions.

To create MTA instances, you must install the MTA Operator first. The MTA Operator is a structural layer that manages resources deployed on Red Hat OpenShift, such as database, front end, and back end, to automatically create an MTA instance.

3.1. Persistent volume requirements

To successfully deploy the migration toolkit for applications (MTA) Operator, you must create a persistent volume (PV) used by different MTA components.

The MTA Operator requires two ReadWriteOnce (RWO) PVs. If the rwx_supported configuration option is set to true, the MTA Operator needs two additional ReadWriteMany (RWX) PVs used by Maven and the hub file storage.

Table 3.1. Required persistent volumes

NameDefault sizeAccess modeDescription

hub database

10Gi

RWO

Hub database

hub bucket

100Gi

RWX

Hub file storage required if the rwx_supported configuration option is set to true.

keycloak postgresql

1Gi

RWO

Keycloak backend database

cache

100Gi

RWX

Maven m2 cache required if the rwx_supported configuration option is set to true.

kai-db

5Gi

RWO

Red Hat Developer Lightspeed for MTA database required to run an AI-assisted code resolution.

3.2. Red Hat build of Keycloak

The migration toolkit for applications (MTA) uses a Red Hat build of Keycloak (RHBK) instance for user authentication and authorization. A RHBK instance is installed during the installation of the MTA user interface. The MTA Operator manages the RHBK instance and configures a dedicated realm with necessary roles and permissions.

You can use the MTA-managed RHBK instance to perform advanced RHBK configurations, such as adding a provider for User Federation or integrating identity providers.

3.2.1. Accessing the RHBK Admin Console

To perform advanced configurations on an RHBK instance, you must log in to the RHBK Admin Console.

Procedure

  1. Retrieve your admin credentials:

    $ oc get secret mta-keycloak-rhbk -n openshift-mta -o json| jq -r '.data.password | @base64d'

    The admin credentials for RHBK are stored in the mta-keycloak-rhbk secret file in the namespace where you installed MTA.

  2. Enter the following URL in your browser:

    https://<web_console_address>/auth/admin
  3. Access the RHBK Admin Console by entering your credentials.

3.2.2. Roles, personas, users, and permissions

The migration toolkit for applications (MTA) uses three roles, each corresponding to a persona. The roles are predefined in your Red Hat build of Keycloak (RHBK) instance. If you are an MTA Administrator, you can create users in your RHBK instance and assign each user one or more roles, one role per persona.

A user can have more than one role. Each role must correspond to a specific persona:

  • The tackle-admin role corresponds to the Administrator persona. The Administrator has all permissions that Architects and Migrators have. Administrators can also create application-wide configuration parameters that other users can consume but cannot change or view, for example, Git credentials or Maven settings.xml files.
  • The tackle-architect role corresponds to the Architect persona. An Architect is a technical lead for the migration project. Architects can run assessments and can create and modify applications and information related to the applications. Architects cannot modify or delete sensitive information, but can consume such information. For example, architects can associate an existing set of credentials to the repository of a specific application.
  • The tackle-migrator role corresponds to the Migrator persona. A Migrator can analyze applications. However, the Migrator cannot create, modify, or delete the applications.

MTA has two views, Administration and Migration. Only an Administrator can access the Administration view. Architects and Migrators cannot see or access the Administration view. Administrators can perform all actions supported by the Migration view. Architects and Migrators can see all elements of the Migration view. However, whether Architects and Migrators can perform actions in the Migration view depends on the permissions granted to their role.

3.3. Installing the MTA Operator

To create the migration toolkit for applications (MTA) instances, you must install the MTA Operator first.

The MTA Operator is a structural layer that manages resources deployed on Red Hat OpenShift, such as the database, front end, and back end, to automatically create an MTA instance.

Prerequisites

  • Your environment has 4 vCPUs, 8 GB RAM, and 40 GB persistent storage.
  • Your environment uses Red Hat OpenShift (cloud service or self-hosted), version 4.21–4.22.
  • You created two RWO persistent volumes (PVs) used by different components.
  • You logged in as a user with cluster-admin permissions.

Procedure

  1. In the Red Hat OpenShift web console, click Operators.
  2. Click OperatorHub.
  3. Type MTA in the Filter by keyword field to search for the MTA Operator.
  4. Click Migration toolkit for applications (MTA) Operator.
  5. Click Install.
  6. On the Install Operator page, click Install.
  7. Optional: Review and edit the custom resource (CR) settings.

    A window for creating CR settings opens automatically after the installation of the MTA Operator is complete. The default settings are acceptable. However, make sure to check the system requirements for storage, memory, and cores.

    Alternatively, to work directly with the YAML file, click the YAML view and review the CR settings listed in the spec section of the YAML file.

    The spec section of the YAML file can have the following configuration:

    kind: Tackle
    apiVersion: tackle.konveyor.io/v1alpha1
    metadata:
      name: mta
      namespace: openshift-mta
    spec:
      hub_bucket_volume_size: "2.5Gi"
      maven_data_volume_size: "2.5Gi"
      rwx_supported: "false"
  8. Verify that the MTA pods are running:

    1. In the Administration view, click Workloads.
    2. Click Pods.

Verification

  • Verify that you can see the MTA Operator in the openshift-mta project with the status of Succeeded by clicking Operators and then Installed Operators.

3.4. Creating an MTA instance

You can use the migration toolkit for applications (MTA) user interface (UI) to get insights about the application adoption process at both the portfolio and application levels. You can use the MTA UI to inventory, assess, analyze, and manage applications for faster migration to Red Hat OpenShift.

To use the MTA UI for assessing and analyzing your applications, you must create a MTA instance first.

Prerequisites

  • You installed the MTA Operator on your system. For more information, see Installing the MTA Operator.
  • Your environment has 4 vCPUs, 8 GB RAM, and 40 GB persistent storage.
  • Your environment uses Red Hat OpenShift (cloud service or self-hosted), version 4.21–4.22.
  • You logged in as a user with cluster-admin permissions.

Procedure

  1. Click MTA Operator.
  2. Under Provided APIs, search for Tackle.
  3. Click Create Instance.
  4. Access the user interface from your browser by using the route provided by the mta-ui application within Red Hat OpenShift.
  5. Log in to the user interface instance by using the default credentials:

    • Username: admin
    • Password: Passw0rd!
  6. When prompted, create a new password.

Additional resources

3.5. Custom resource settings

When installing the migration toolkit for applications (MTA) Operator, you might need to create custom resource (CR) settings. The default settings are acceptable. However, make sure to check the system requirements for storage, memory, and cores.

The following are the most commonly used CR settings that you can find in the spec section of the YAML file.

Table 3.2. Common custom resource settings

CR nameDefault sizeDescription

cache_data_volume_size

100 GB

A size requested for the cache volume. This CR is ignored when the rwx_supported option is set to false.

cache_storage_class

Default storage class

A storage class used for the cache volume. This CR is ignored when the rwx_supported option is set to false.

feature_auth_required

True

A flag that indicates whether keycloak authorization is required. When set to false, the flag mounts to “noauth“, which means only a single user can use the web console. The single user is the default admin user.

feature_isolate_namespace

True

A flag that indicates whether namespace isolation by using network policies is enabled.

hub_database_volume_size

10 GB

A size requested for the Hub database volume.

hub_bucket_volume_size

100 GB

A size requested for the Hub bucket volume.

hub_bucket_storage_class

Default storage class

A storage class used for the bucket volume.

keycloak_database_data_volume_size

1 GB

A size requested for the Keycloak database volume.

pathfinder_database_data_volume_size

1 GB

A size requested for the Pathfinder database volume.

rwx_supported

True

A flag that indicates whether the cluster storage supports RWX mode.

rwo_storage_class

NA

A storage class requested for the Tackle RWO volumes.

rhsso_external_access

False

A flag that indicates whether a dedicated route is created to access the MTA managed RHSSO instance.

analyzer_container_limits_cpu

1

A maximum number of CPUs the pod is allowed to use.

analyzer_container_limits_memory

4 GB

Maximum amount of memory the pod is allowed to use. You can increase this limit if the pod displays OOMKilled errors.

analyzer_container_requests_cpu

1

A minimum number of CPUs the pod needs to run.

analyzer_container_requests_memory

4 GB

Minimum amount of memory the pod needs to run.

Additional resources

Chapter 4. migration toolkit for applications command-line interface installation

To install the migration toolkit for applications (MTA) command-line interface (CLI), use the instructions in the migration toolkit for applications CLI guide.

For more information, see Installing the migration toolkit for applications command-line interface.

Appendix A. How to contribute to the MTA project

You can help the migration toolkit for applications (MTA) to cover most application builds and server configurations, including yours.

You can help with any of the following items:

  • Send an email to jboss-migration-feedback@redhat.com and let us know what MTA migration rules must cover.
  • Provide example applications to test migration rules.
  • Identify application components and problem areas that might be difficult to migrate:

    • Write a short description of the problem migration areas.
    • Write a brief overview describing how to solve the problem in migration areas.
  • Try migration toolkit for applications on your application. Report any issues you encounter. MTA uses Jira as its issue tracking system. If you encounter an issue when using MTA, submit a Jira issue.
  • Contribute to the migration toolkit for applications rules repository:

  • Contribute to the project source code:

    • Create a core rule.
    • Improve MTA performance or efficiency.

Any level of involvement is greatly appreciated!

Additional resources

Legal Notice

Copyright © 2026 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.