Skip to content

[MTA 8.2.0] New mta-ops guide#383

Open
mpershina wants to merge 10 commits into
mainfrom
mta-ops
Open

[MTA 8.2.0] New mta-ops guide#383
mpershina wants to merge 10 commits into
mainfrom
mta-ops

Conversation

@mpershina

@mpershina mpershina commented Jul 7, 2026

Copy link
Copy Markdown
Collaborator

The first preview: https://mpershina.github.io/Previews/MTA/mta-ops-new.html

Summary by CodeRabbit

Summary by CodeRabbit

  • New Features

    • Added an end-to-end AsciiDoc guide for mta-ops, covering installation, stateless migration quick start, export → transform → local manifest generation/apply, optional validation, deployment, and troubleshooting.
  • Documentation

    • Added detailed supporting concept/procedure pages (cluster context management, transformation pipeline and plugin management, manifest compatibility validation, and conflict resolution).
    • Added new reference pages for mta-ops command options (export/transform/apply/validate).
    • Introduced improved guide landing page and metadata for better navigation and context-aware linking.

@mpershina mpershina self-assigned this Jul 7, 2026
@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 61dc278b-f399-41cf-b513-6b324e98795c

📥 Commits

Reviewing files that changed from the base of the PR and between d9ef019 and c7f2164.

📒 Files selected for processing (5)
  • docs/topics/mta-ops/proc_adding-a-custom-transformation-stage.adoc
  • docs/topics/mta-ops/proc_resolving-transformation-conflicts.adoc
  • docs/topics/mta-ops/ref_common-migration-pipeline-errors.adoc
  • docs/topics/mta-ops/ref_mta-ops-apply-command-options.adoc
  • docs/topics/mta-ops/ref_mta-ops-transform-command-options.adoc
💤 Files with no reviewable changes (2)
  • docs/topics/mta-ops/ref_mta-ops-apply-command-options.adoc
  • docs/topics/mta-ops/ref_mta-ops-transform-command-options.adoc
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/topics/mta-ops/ref_common-migration-pipeline-errors.adoc
  • docs/topics/mta-ops/proc_resolving-transformation-conflicts.adoc
  • docs/topics/mta-ops/proc_adding-a-custom-transformation-stage.adoc

📝 Walkthrough

Walkthrough

This PR adds a complete AsciiDoc guide for the mta-ops CLI, including master files, symlink wiring, assemblies, and topic pages covering installation, cluster access, migration stages, deployment, validation, troubleshooting, and command options.

Changes

mta-ops documentation guide

Layer / File(s) Summary
Guide scaffolding and master documents
docs/mta-ops-guide/master.adoc, docs/mta-ops-guide/master-docinfo.xml, docs/mta-ops-guide/assemblies, docs/mta-ops-guide/topics, assemblies/mta-ops-guide/topics
Adds the master document, docinfo metadata, and symlinks wiring assemblies and topics directories.
CLI introduction and installation
docs/topics/mta-ops/con_introduction-to-the-mta-ops-cli.adoc, docs/topics/mta-ops/con_mta-ops-cli-standalone-architecture.adoc, docs/topics/mta-ops/proc_downloading-and-extracting-the-mta-ops-cli.adoc, assemblies/mta-ops-guide/assembly_installing-the-mta-ops-cli.adoc
Documents the standalone CLI, supported migration scope, and installation workflow.
Cluster access and supported paths
assemblies/mta-ops-guide/assembly_configuring-cluster-access-for-migration.adoc, docs/topics/mta-ops/con_cluster-context-management.adoc, docs/topics/mta-ops/proc_configuring-source-and-target-cluster-contexts.adoc, assemblies/mta-ops-guide/assembly_supported-migration-paths-and-api-compatibility.adoc, docs/topics/mta-ops/con_stateless-migration-limitations.adoc, docs/topics/mta-ops/con_resource-and-api-compatibility.adoc
Documents cluster contexts, migration limitations, and API compatibility.
Workload manifest export
assemblies/mta-ops-guide/assembly_exporting-workload-manifests.adoc, docs/topics/mta-ops/con_workload-manifest-export.adoc, docs/topics/mta-ops/proc_exporting-manifests-from-the-source-cluster.adoc, docs/topics/mta-ops/ref_mta-ops-export-command-options.adoc
Documents source-cluster extraction, permission handling, failure artifacts, and export options.
Multi-stage manifest transformation
assemblies/mta-ops-guide/assembly_transforming-workload-manifests-by-using-a-multi-stage-pipeline.adoc, docs/topics/mta-ops/con_multi-stage-transformation-pipeline.adoc, docs/topics/mta-ops/con_transformation-plugin-management.adoc, docs/topics/mta-ops/proc_executing-a-multi-stage-workload-transformation.adoc, docs/topics/mta-ops/proc_transforming-manifests-with-an-instructions-file.adoc, docs/topics/mta-ops/proc_adding-a-custom-transformation-stage.adoc, docs/topics/mta-ops/ref_mta-ops-transform-command-options.adoc
Documents the transformation pipeline, plugin controls, instructions files, custom stages, and transform options.
Generating final deployable manifests
assemblies/mta-ops-guide/assembly_generating-final-deployable-manifests.adoc, docs/topics/mta-ops/con_local-manifest-generation.adoc, docs/topics/mta-ops/proc_generating-final-manifests-locally.adoc, docs/topics/mta-ops/proc_generating-ordered-manifests-locally.adoc, docs/topics/mta-ops/ref_mta-ops-apply-command-options.adoc
Documents local manifest rendering, ordered output, and apply options.
Validating target compatibility
assemblies/mta-ops-guide/assembly_validating-target-cluster-compatibility.adoc, docs/topics/mta-ops/con_manifest-compatibility-validation.adoc, docs/topics/mta-ops/proc_validating-workload-manifests-against-a-live-cluster.adoc, docs/topics/mta-ops/ref_mta-ops-validate-command-options.adoc
Documents compatibility validation, live-cluster validation, and validate options.
Deploying migrated workloads
assemblies/mta-ops-guide/assembly_deploying-the-migrated-workloads.adoc, docs/topics/mta-ops/con_workload-deployment.adoc, docs/topics/mta-ops/proc_deploying-workloads-to-the-target-cluster-as-an-administrator.adoc, docs/topics/mta-ops/proc_deploying-workloads-to-the-target-cluster-as-a-non-administrator.adoc
Documents consolidated manifest deployment for administrator and non-administrator workflows.
Stateless migration quickstart
assemblies/mta-ops-guide/assembly_migrating-stateless-workloads.adoc, docs/topics/mta-ops/proc_executing-a-stateless-migration-quickstart.adoc
Assembles the ordered migration pipeline and adds an end-to-end quickstart.
Pipeline troubleshooting
assemblies/mta-ops-guide/assembly_troubleshooting-the-mta-ops-pipeline.adoc, docs/topics/mta-ops/con_mta-ops-pipeline-troubleshooting.adoc, docs/topics/mta-ops/proc_enabling-verbose-logging-for-mta-ops.adoc, docs/topics/mta-ops/ref_common-migration-pipeline-errors.adoc, docs/topics/mta-ops/proc_resolving-validation-failures.adoc, docs/topics/mta-ops/proc_resolving-transformation-conflicts.adoc
Adds troubleshooting content for diagnostics, common errors, validation failures, and transformation conflicts.
Command options and developer guidance
assemblies/mta-ops-guide/assembly_mta-ops-command-options.adoc, docs/topics/mta-ops/ref_developer-and-architecture-guides.adoc
Adds command-option appendix wiring and developer/architecture guidance.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Suggested reviewers: anarnold97

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly reflects the main change: adding a new mta-ops guide for MTA 8.2.0.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch mta-ops

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 15

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@assemblies/mta-ops-guide/assembly_validating-target-cluster-compatibility.adoc`:
- Around line 24-26: The “Next steps” label in this section uses “workflows,”
but the guide consistently refers to workloads/manifests, so update the text in
the affected next-step bullet to use the correct term. Locate the “Next steps”
content in assembly_validating-target-cluster-compatibility.adoc and replace
“Deploy the migrated workflows.” with wording that matches the rest of the
guide, keeping the same intent but using “workloads.”

In `@docs/topics/mta-ops/con_introduction-to-the-mta-ops-cli.adoc`:
- Around line 13-21: The local-disk statement is too broad because the migration
pipeline includes the deployment stage, which applies workloads to the
destination cluster. Update the wording in the introduction to scope the “output
directly to your local disk” claim to the non-deployment stages only, or
separate the deployment stage into its own note; use the stage list in the MTA
Ops CLI introduction to keep the export, transformation, application, and
validation descriptions aligned.

In `@docs/topics/mta-ops/con_local-manifest-generation.adoc`:
- Line 15: Clarify that the `--skip-cluster-scoped` flag is intended for
namespace-only, split-responsibility deployment workflows rather than “for
administrators”; update the wording in the `mta-ops` consolidated-file
description so it aligns with the rest of the guide and makes the audience
clear. Reference the `--skip-cluster-scoped` option and the surrounding
explanation of consolidated resource ordering when revising the sentence.

In `@docs/topics/mta-ops/con_mta-ops-cli-standalone-architecture.adoc`:
- Around line 11-13: The install description for the mta-ops CLI is inconsistent
with the actual procedure, which downloads a .zip archive and then extracts the
binary. Update the standalone architecture page text to describe the install
artifact as a downloadable archive rather than a direct binary, keeping the
wording aligned with the install steps for the mta-ops CLI and the mta-ops
pipeline.

In `@docs/topics/mta-ops/con_workload-deployment.adoc`:
- Line 15: The deployment procedure currently points readers to the wrong
artifact path; update the referenced output file in the surrounding deployment
instructions to use output/output.yaml consistently. Make this change in the
affected documentation section so the path matches the rest of the deployment
workflow and the guidance around applying the consolidated output artifact
remains consistent.
- Around line 11-13: The architecture description overstates that the entire
mta-ops pipeline “does not connect to the target cluster,” which conflicts with
the live validation behavior documented elsewhere. Update the wording in the
affected prose to scope the no-cluster-connection claim only to the local
artifact-generation stages, and keep the rest of the pipeline description
consistent with the validation flow described by the mta-ops pipeline docs.

In `@docs/topics/mta-ops/proc_downloading-and-extracting-the-mta-ops-cli.adoc`:
- Around line 8-17: The abstract in
proc_downloading-and-extracting-the-mta-ops-cli topic uses “binary” where the
procedure actually downloads and extracts a `.zip` archive, so update the
wording to use “archive” for consistency with the steps and the
standalone-architecture topic. Keep the rest of the procedure intact and only
adjust the abstract text near the [role="_abstract"] section so it accurately
describes downloading and extracting the archive.

In `@docs/topics/mta-ops/proc_executing-a-stateless-migration-quickstart.adoc`:
- Around line 42-46: The deploy step in the quickstart is ambiguous because the
`oc apply` command in the migration instructions relies on whatever current kube
context is active. Update the wording around the deployment step in the
stateless migration quickstart to explicitly tell the user to switch or verify
the target cluster context before running `oc apply`, and make the instruction
in the deploy section clearly refer to the target cluster using the existing
deployment step text.

In `@docs/topics/mta-ops/proc_exporting-manifests-from-the-source-cluster.adoc`:
- Around line 27-31: The example in the exporting-manifests doc uses service
account wording for the `--as` and `--as-group` flags, but these flags are for
username/group impersonation. Update the sentence and the `mta-ops export`
example near the impersonation guidance to use user/group terminology instead of
“service account-based migrations” and rename the `_service_account_name_`
placeholder accordingly while keeping the `--as` and `--as-group` references.

In `@docs/topics/mta-ops/proc_generating-ordered-manifests-locally.adoc`:
- Line 22: Fix the malformed namespace placeholder in the AsciiDoc command
example so it follows the repo’s _<name>_ convention. Update the path text in
the generated-manifests docs to use the consistent outer-underscore placeholder
format, matching other placeholder usages in this document and related examples.

In
`@docs/topics/mta-ops/proc_validating-workload-manifests-against-a-live-cluster.adoc`:
- Around line 24-56: The fenced example is mislabeled as YAML even though the
payload is JSON, so update the AsciiDoc source annotation for this sample to
JSON. Locate the code block containing the live cluster validation output and
change the language marker used with the fenced block so it matches the shown
structure and preserves correct syntax highlighting.

In `@docs/topics/mta-ops/ref_developer-and-architecture-guides.adoc`:
- Line 15: The first mention of E2E in the development guides bullet should
expand the acronym to match repo style. Update the bullet in the documented list
so it reads as end-to-end (E2E) before later shorthand use, keeping the rest of
the description unchanged.

In `@docs/topics/mta-ops/ref_mta-ops-export-command-options.adoc`:
- Line 16: Update the `--namespace` option description in the `mta-ops export`
command options table so it refers to the source namespace, not the target
namespace. Adjust the wording in the affected row to match the `export` command
behavior and keep the terminology consistent with the surrounding export docs,
using the `--namespace` / `-n` option entry as the anchor.

In `@docs/topics/mta-ops/ref_mta-ops-transform-command-options.adoc`:
- Line 19: The CLI option name in the transform command options table is
malformed: `--skip-plugin`s` reads like a typo and does not document a valid
flag. Update the documented flag in the table entry used for the transform
command options so it matches the actual CLI identifier consistently, and verify
the surrounding option name formatting in this section remains correct.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: e46f4bd8-2e03-423a-8185-e2323278af5c

📥 Commits

Reviewing files that changed from the base of the PR and between cbd58bd and f076c15.

📒 Files selected for processing (49)
  • assemblies/mta-ops-guide/assembly_configuring-cluster-access-for-migration.adoc
  • assemblies/mta-ops-guide/assembly_deploying-the-migrated-workloads.adoc
  • assemblies/mta-ops-guide/assembly_exporting-workload-manifests.adoc
  • assemblies/mta-ops-guide/assembly_generating-final-deployable-manifests.adoc
  • assemblies/mta-ops-guide/assembly_installing-the-mta-ops-cli.adoc
  • assemblies/mta-ops-guide/assembly_migrating-stateless-workloads.adoc
  • assemblies/mta-ops-guide/assembly_mta-ops-command-options.adoc
  • assemblies/mta-ops-guide/assembly_supported-migration-paths-and-api-compatibility.adoc
  • assemblies/mta-ops-guide/assembly_transforming-workload-manifests-by-using-a-multi-stage-pipeline.adoc
  • assemblies/mta-ops-guide/assembly_troubleshooting-the-mta-ops-pipeline.adoc
  • assemblies/mta-ops-guide/assembly_validating-target-cluster-compatibility.adoc
  • assemblies/mta-ops-guide/topics
  • docs/mta-ops-guide/assemblies
  • docs/mta-ops-guide/master-docinfo.xml
  • docs/mta-ops-guide/master.adoc
  • docs/mta-ops-guide/topics
  • docs/topics/mta-ops/con_cluster-context-management.adoc
  • docs/topics/mta-ops/con_introduction-to-the-mta-ops-cli.adoc
  • docs/topics/mta-ops/con_local-manifest-generation.adoc
  • docs/topics/mta-ops/con_manifest-compatibility-validation.adoc
  • docs/topics/mta-ops/con_mta-ops-cli-standalone-architecture.adoc
  • docs/topics/mta-ops/con_mta-ops-pipeline-troubleshooting.adoc
  • docs/topics/mta-ops/con_multi-stage-transformation-pipeline.adoc
  • docs/topics/mta-ops/con_resource-and-api-compatibility.adoc
  • docs/topics/mta-ops/con_stateless-migration-limitations.adoc
  • docs/topics/mta-ops/con_transformation-plugin-management.adoc
  • docs/topics/mta-ops/con_workload-deployment.adoc
  • docs/topics/mta-ops/con_workload-manifest-export.adoc
  • docs/topics/mta-ops/proc_adding-a-custom-transformation-stage.adoc
  • docs/topics/mta-ops/proc_configuring-source-and-target-cluster-contexts.adoc
  • docs/topics/mta-ops/proc_deploying-workloads-to-the-target-cluster-as-a-non-administrator.adoc
  • docs/topics/mta-ops/proc_deploying-workloads-to-the-target-cluster-as-an-administrator.adoc
  • docs/topics/mta-ops/proc_downloading-and-extracting-the-mta-ops-cli.adoc
  • docs/topics/mta-ops/proc_enabling-verbose-logging-for-mta-ops.adoc
  • docs/topics/mta-ops/proc_executing-a-multi-stage-workload-transformation.adoc
  • docs/topics/mta-ops/proc_executing-a-stateless-migration-quickstart.adoc
  • docs/topics/mta-ops/proc_exporting-manifests-from-the-source-cluster.adoc
  • docs/topics/mta-ops/proc_generating-final-manifests-locally.adoc
  • docs/topics/mta-ops/proc_generating-ordered-manifests-locally.adoc
  • docs/topics/mta-ops/proc_resolving-transformation-conflicts.adoc
  • docs/topics/mta-ops/proc_resolving-validation-failures.adoc
  • docs/topics/mta-ops/proc_transforming-manifests-with-an-instructions-file.adoc
  • docs/topics/mta-ops/proc_validating-workload-manifests-against-a-live-cluster.adoc
  • docs/topics/mta-ops/ref_common-migration-pipeline-errors.adoc
  • docs/topics/mta-ops/ref_developer-and-architecture-guides.adoc
  • docs/topics/mta-ops/ref_mta-ops-apply-command-options.adoc
  • docs/topics/mta-ops/ref_mta-ops-export-command-options.adoc
  • docs/topics/mta-ops/ref_mta-ops-transform-command-options.adoc
  • docs/topics/mta-ops/ref_mta-ops-validate-command-options.adoc

Comment thread assemblies/mta-ops-guide/assembly_validating-target-cluster-compatibility.adoc Outdated
Comment thread docs/mta-ops-guide/topics
@@ -0,0 +1 @@
../../topics/ No newline at end of file

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '== symlink ==\n'
ls -l docs/mta-ops-guide/topics || true
printf '\n== relevant files ==\n'
git ls-files 'docs/mta-ops-guide/*' 'docs/*topics*' | sed -n '1,200p'
printf '\n== include references ==\n'
rg -n 'include::topics/|topics/' docs/mta-ops-guide -g '!**/*.png' -g '!**/*.jpg' -g '!**/*.gif' || true
printf '\n== master.adoc excerpt ==\n'
sed -n '1,220p' docs/mta-ops-guide/master.adoc

Repository: migtools/mta-documentation

Length of output: 11826


🏁 Script executed:

#!/bin/bash
set -euo pipefail

printf '== symlink ==\n'
ls -l docs/mta-ops-guide/topics || true
printf '\n== parent tree ==\n'
find docs -maxdepth 2 -type d | sort | sed -n '1,200p'
printf '\n== top-level topics candidates ==\n'
find . -maxdepth 2 -type d -name topics | sort | sed -n '1,200p'
printf '\n== include references ==\n'
rg -n 'include::topics/|topics/' docs/mta-ops-guide -g '!**/*.png' -g '!**/*.jpg' -g '!**/*.gif' || true
printf '\n== master.adoc excerpt ==\n'
sed -n '1,220p' docs/mta-ops-guide/master.adoc

Repository: migtools/mta-documentation

Length of output: 2245


Point this symlink at docs/topics.

../../topics/ resolves to a non-existent top-level topics directory, so the include::topics/... paths in docs/mta-ops-guide/master.adoc won’t resolve.

Fix
-../../topics/
+../topics/
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
../../topics/
[Symbolic link → ../topics/]

Comment thread docs/topics/mta-ops/con_introduction-to-the-mta-ops-cli.adoc Outdated
Comment thread docs/topics/mta-ops/con_local-manifest-generation.adoc Outdated
Comment thread docs/topics/mta-ops/con_mta-ops-cli-standalone-architecture.adoc Outdated
Comment thread docs/topics/mta-ops/proc_generating-ordered-manifests-locally.adoc Outdated
Comment thread docs/topics/mta-ops/ref_developer-and-architecture-guides.adoc Outdated
Comment thread docs/topics/mta-ops/ref_mta-ops-export-command-options.adoc
Comment thread docs/topics/mta-ops/ref_mta-ops-transform-command-options.adoc Outdated
Comment thread docs/mta-ops-guide/master-docinfo.xml Outdated
Comment thread assemblies/mta-ops-guide/assembly_migrating-stateless-workloads.adoc Outdated
Comment thread assemblies/mta-ops-guide/assembly_mta-ops-command-options.adoc Outdated
Comment thread assemblies/mta-ops-guide/assembly_generating-final-deployable-manifests.adoc Outdated
Comment thread assemblies/mta-ops-guide/assembly_installing-the-mta-ops-cli.adoc
Comment thread docs/topics/mta-ops/proc_generating-final-manifests-locally.adoc Outdated
Comment thread docs/topics/mta-ops/ref_mta-ops-export-command-options.adoc Outdated
Comment thread docs/topics/mta-ops/ref_mta-ops-transform-command-options.adoc Outdated
Comment thread docs/topics/mta-ops/ref_mta-ops-apply-command-options.adoc Outdated
Comment thread docs/topics/mta-ops/ref_mta-ops-validate-command-options.adoc Outdated
mpershina and others added 2 commits July 7, 2026 17:28
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
minor corrections per the coderabbit review

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Comment thread assemblies/mta-ops-guide/assembly_generating-final-deployable-manifests.adoc Outdated
Comment thread assemblies/mta-ops-guide/assembly_migrating-stateless-workloads.adoc Outdated
Comment thread docs/topics/mta-ops/proc_executing-a-stateless-migration-quickstart.adoc Outdated
Comment thread docs/topics/mta-ops/proc_generating-final-manifests-locally.adoc Outdated

@aufi aufi left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left few comment primary on left-over --stage ransform flag, which was changed to be a positional arg, but overall docs look good to me.

| `--export-dir` | `-e` | The directory path containing the exported resources to be processed.
| `--transform-dir` | `-t` | The directory path to create the isolated transform stages.
| `--stage` | | A specific custom or built-in stage directory name to run.
| `--force` | | A flag to overwrite modified custom stage directories. This is mandatory for re-running custom stages.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note, this is subject of replacement with --overwrite, but that depends on migtools/crane#613, so currently the doc content is correct.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack! TY!

Comment thread docs/topics/mta-ops/ref_common-migration-pipeline-errors.adoc Outdated
Comment thread docs/topics/mta-ops/proc_resolving-transformation-conflicts.adoc Outdated
Comment thread docs/topics/mta-ops/proc_adding-a-custom-transformation-stage.adoc Outdated
Comment thread docs/topics/mta-ops/proc_resolving-transformation-conflicts.adoc Outdated
Comment thread docs/topics/mta-ops/ref_common-migration-pipeline-errors.adoc Outdated
Comment thread docs/topics/mta-ops/ref_common-migration-pipeline-errors.adoc Outdated
Comment thread docs/topics/mta-ops/ref_common-migration-pipeline-errors.adoc Outdated
Comment thread docs/topics/mta-ops/ref_common-migration-pipeline-errors.adoc Outdated
Comment on lines +35 to +36
| A required Custom Resource Definition (CRD) is missing.
| Install the required Operator on the target cluster.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| A required Custom Resource Definition (CRD) is missing.
| Install the required Operator on the target cluster.
| A required Custom Resource Definition (CRD) does not exist on the target cluster.
| Install the required Operator on the target cluster before you deploy the generated manifests.

@mpershina

Copy link
Copy Markdown
Collaborator Author

Left few comment primary on left-over --stage ransform flag, which was changed to be a positional arg, but overall docs look good to me.

Thanks @aufi, I applied the required changes. Could you please double-check? And these look good, approve the PR?
TY!

Comment thread assemblies/mta-ops-guide/assembly_exporting-workload-manifests.adoc Outdated
Comment thread assemblies/mta-ops-guide/assembly_configuring-cluster-access-for-migration.adoc Outdated
Comment thread assemblies/mta-ops-guide/assembly_generating-final-deployable-manifests.adoc Outdated
Comment thread assemblies/mta-ops-guide/assembly_installing-the-mta-ops-cli.adoc Outdated
@mpershina
mpershina requested a review from vashirova July 9, 2026 11:32

@vashirova vashirova left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mpershina peer review completed. Impressive work! I have some small notes, but nothing major enough to prevent you from merging.

Comment thread docs/topics/mta-ops/con_introduction-to-the-mta-ops-cli.adoc Outdated
Comment thread docs/topics/mta-ops/con_introduction-to-the-mta-ops-cli.adoc Outdated
Comment thread docs/topics/mta-ops/proc_executing-a-stateless-migration-quickstart.adoc Outdated
Comment thread assemblies/mta-ops-guide/assembly_migrating-stateless-workloads.adoc Outdated
Comment thread docs/topics/mta-ops/con_mta-ops-pipeline-troubleshooting.adoc Outdated
Comment thread docs/topics/mta-ops/proc_resolving-validation-failures.adoc Outdated
Comment thread assemblies/mta-ops-guide/assembly_mta-ops-command-options.adoc Outdated
Comment thread docs/topics/mta-ops/ref_mta-ops-validate-command-options.adoc Outdated
= Developer and architecture guides

[role="_abstract"]
When you want to extend the `mta-ops` command-line interface (CLI) or understand its internal mechanics, review the upstream developer guides. This helps you build custom plugins or contribute to the project.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do users know where to find them?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume so, but I can check with my SMEs for the link :-)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@istein1, what would be the correct links to the upstream developer guide(s), please?

mpershina and others added 2 commits July 10, 2026 13:14
Co-authored-by: Valentina Ashirova <107574498+vashirova@users.noreply.github.com>
Comment thread assemblies/mta-ops-guide/assembly_mta-ops-command-options.adoc
Comment thread docs/topics/mta-ops/con_mta-ops-pipeline-troubleshooting.adoc
Comment thread docs/topics/mta-ops/proc_downloading-and-extracting-the-mta-ops-cli.adoc Outdated
Comment thread docs/topics/mta-ops/ref_mta-ops-export-command-options.adoc
Comment thread docs/topics/mta-ops/ref_mta-ops-apply-command-options.adoc
Comment thread docs/topics/mta-ops/ref_mta-ops-validate-command-options.adoc
Comment thread docs/topics/mta-ops/ref_mta-ops-transform-command-options.adoc

@aufi aufi left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. We have fix for transform force/overwrite merged upstream, but it will most likely be released post-GA, so current docs look OK.

@mpershina

Copy link
Copy Markdown
Collaborator Author

Looks good to me. We have fix for transform force/overwrite merged upstream, but it will most likely be released post-GA, so current docs look OK.

Ack on the fix! Will keep an eye on it, thank you!

+
[subs="+quotes"]
----
$ *mta-ops apply -t transform -o output --overwrite*

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
$ *mta-ops apply -t transform -o output --overwrite*
$ *mta-ops apply -t transform -o output --overwrite --ordered*

Lets keep --ordered by default

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aufi aufi Jul 14, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You reported valid issue with OCP-specific resources might have a wrong dependency order without --ordered.

My initial thought was to keep the quickstart as simple as possible (e.g. using default flags values without explicit -t transform -o output) to let user focus on understanding the core concept with export->transform->apply(->validate) commands flow.

However using more bullet-proof commands flags is not a bad way, I have quite neutral opinion about this.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good! Users can check what the --ordered flag is for anyway further in the document.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skipping based on Sachin's feedback on Slack.

+
[subs="+quotes"]
----
$ *oc apply -f output/output.yaml*

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
$ *oc apply -f output/output.yaml*
$ *oc apply -f output/resources/ --recursive*

As the document is for OCP, this would a better choice. output.yaml might have wrong ordering for OCP resources.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point with OCP-specific resources 👍 While this is a quickstart part of the doc, I'd stay with original content and document it in a separate section, just my point of view.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mpershina no need for this change here then.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack! Will just resolve the comment then :-)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skipping based on Sachin's feedback on Slack.

@stillalearner stillalearner left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Comment thread docs/topics/mta-ops/ref_mta-ops-apply-command-options.adoc Outdated
Comment thread docs/topics/mta-ops/ref_mta-ops-transform-command-options.adoc Outdated
[role="_abstract"]
When you adapt complex applications, you can manage transformation plugins to control the pipeline. This ensures the tool cleans specific metadata and applies additional transformations, if needed.

The `mta-ops` command-line interface (CLI) automatically discovers plugins from the `~/.local/share/crane/plugins/` default path. You can view available plugins by using the `list-plugins` subcommand.

@aufi aufi Jul 17, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One final point related to today's discussions, we might mention here something like: User's custom plugins discovered on their filesystem, can be arbitrary applications. mta-ops in this version doesn't apply any additional restrictions or sandboxing during their execution, so, user should trust those plugins.

@mpershina mpershina Jul 17, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@aufi, is my suggestion correct? BTW, is having crane in the path correct? Or should it be changed to mta-ops?

Suggested change
The `mta-ops` command-line interface (CLI) automatically discovers plugins from the `~/.local/share/crane/plugins/` default path. You can view available plugins by using the `list-plugins` subcommand.
The `mta-ops` command-line interface (CLI) automatically discovers plugins from the `~/.local/share/crane/plugins/` default path. You can view available plugins by using the `list-plugins` subcommand. Custom plugins discovered on your file system can be arbitrary applications. In this version, `mta-ops` does not apply additional restrictions or sandboxing during plugin execution. Therefore, ensure that you trust these plugins.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, looks good to me, thank you!

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vashirova, could you please check?

Comment thread docs/topics/mta-ops/ref_mta-ops-validate-command-options.adoc
| `--input-dir` | `-i` | The directory path containing the final rendered manifests to validate.
| `--context` | | The local kubeconfig context of the target cluster.
| `--kubeconfig` | | The path to the kubeconfig file for the target cluster.
| `--api-resources` | | The path to a captured API surface JSON file for offline validation.

@nachandr nachandr Jul 17, 2026

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `--api-resources` | | The path to a captured API surface JSON file for offline validation.
| `--api-resources` | a.| The path to a captured API surface JSON file for offline validation. This flag is mutually exclusive with the following live cluster flags:
* `--context`
* `--kubeconfig`
* `--server`
* `--token`
* `--cluster`
* `--user`

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Modified it a bit.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vashirova, could you please check?

| `--api-resources` | | The path to a captured API surface JSON file for offline validation.
| `--validate-dir` | | The directory path to save validation reports and failure artifacts.
| `--output` | `-o` | The format of the generated report file. Valid options are `json` or `yaml`.
| `--overwrite` | | Overwrite of the validation directory if it already exists.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
| `--overwrite` | | Overwrite of the validation directory if it already exists.
| `--overwrite` | | Overwrite of the validation directory if it already exists.
| `--server` | `-s` | The address and port of the Kubernetes API server for the target cluster.
| `--token` | | Bearer token for authentication to the target cluster API server.
| `--cluster` | | The name of the `kubeconfig` cluster to use.
| `--user` | | The name of the `kubeconfig` user to use.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@vashirova, could you please check?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants