Skip to content

Split remote execution into multiple assemblies#4753

Merged
aneta-petrova merged 8 commits intotheforeman:masterfrom
aneta-petrova:cqa-rex
Apr 8, 2026
Merged

Split remote execution into multiple assemblies#4753
aneta-petrova merged 8 commits intotheforeman:masterfrom
aneta-petrova:cqa-rex

Conversation

@aneta-petrova
Copy link
Copy Markdown
Member

What changes are you introducing?

Creating sub-assemblies in the existing remote execution assembly. The new assemblies are based on 'feature lifecycle phases': overview/learning, getting started, configuring, customizing, reference.

Why are you introducing these changes? (Explanation, links to references, issues, etc.)

The existing assembly is very large (about 30 sections). Splitting it into multiple assemblies helps with navigation.

Part of the CQA (Content Quality Assessment) checklist: One user story per assembly

Anything else to add? (Considerations, potential downsides, alternative solutions you have explored, etc.)

Contributor checklists

  • I am okay with my commits getting squashed when you merge this PR.
  • I am familiar with the contributing guidelines.

Please cherry-pick my commits into:

  • Foreman 3.18/Katello 4.20 (Satellite 6.19)
  • Foreman 3.17/Katello 4.19
  • Foreman 3.16/Katello 4.18 (Satellite 6.18; orcharhino 7.6 and 7.7)
  • Foreman 3.15/Katello 4.17
  • Foreman 3.14/Katello 4.16 (Satellite 6.17; orcharhino 7.4; orcharhino 7.5)
  • Foreman 3.13/Katello 4.15 (EL9 only)
  • Foreman 3.12/Katello 4.14 (Satellite 6.16; orcharhino 7.2 on EL9 only; orcharhino 7.3)
  • We do not accept PRs for Foreman older than 3.12.

Reorganize remote execution assembly into logical sections

Split the remote execution assembly into three focused assemblies to improve navigation and maintainability:
- Overview: what REX is, architecture, transport mode comparison
- Configuration: setting up hosts, permissions, SSH/Kerberos, templates, running jobs
- Reference: advanced settings, cron lines, rate limits

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

Restructure remote execution into five focused assemblies

Replace the previous three-section structure with five assemblies following a progressive learning path:
- Discovering remote execution: overview, architecture, transport modes
- Getting started with remote execution: installation, permissions, first jobs
- Configuring remote execution: SmartProxy settings, authentication, SSH/Kerberos
- Extending remote execution: job templates, Ansible playbooks, scheduling
- Remote execution reference: advanced settings, cron syntax, performance

Use gerund-based naming (discovering, getting started, configuring, extending) for better consistency with documentation conventions. Drop _{context} suffix from assembly IDs for cleaner cross-references.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

Fix up assembly introductions

Rework remote execution reference
@github-actions github-actions bot added Needs tech review Requires a review from the technical perspective Needs style review Requires a review from docs style/grammar perspective Needs testing Requires functional testing labels Apr 2, 2026
Copy link
Copy Markdown
Contributor

@Lennonka Lennonka left a comment

Choose a reason for hiding this comment

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

Love it!

I've taken a look at the new TOC and the following things jumped out at me.
The rest looks good architecture wise.

@pr-processor pr-processor bot added the Waiting on contributor Requires an action from the author label Apr 2, 2026
@Lennonka
Copy link
Copy Markdown
Contributor

Lennonka commented Apr 2, 2026

Btw, I've been thinking about moving Ansible playbook import (example) into the Ansible guide solely because it fits better with the Ansible content journey rather than the REX content journey IMO. But we can do that in another PR ofc if we agree on it.


include::modules/con_remote-execution-in-project.adoc[leveloffset=+1]

include::modules/con_remote-execution-workflow.adoc[leveloffset=+1]
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.

Can we reserve the term "workflow" for user workflows and call this a "process"?

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.

I like this question. I do not have an answer/+1/-1.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I think I know what you mean with 'workflow' but also don't think 'process' would be right here. Is it okay if I leave this as is? This is not something I'm changing in this PR, the heading already exists.

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.

Sure, it's okay.

@Lennonka
Copy link
Copy Markdown
Contributor

Lennonka commented Apr 2, 2026

Feel free to leave changes in headings/titles for another PR. :)

Co-authored-by: Brian Angelica <91690569+bangelic@users.noreply.github.com>
@pr-processor pr-processor bot added Needs re-review and removed Waiting on contributor Requires an action from the author labels Apr 7, 2026
Co-authored-by: Lena Ansorgová <zuansorg@redhat.com>
@maximiliankolb maximiliankolb self-requested a review April 7, 2026 10:47
Copy link
Copy Markdown
Contributor

@maximiliankolb maximiliankolb left a comment

Choose a reason for hiding this comment

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

One suggestion about deeply nested assemblies. Overall, I like this PR.


include::modules/con_remote-execution-in-project.adoc[leveloffset=+1]

include::modules/con_remote-execution-workflow.adoc[leveloffset=+1]
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.

I like this question. I do not have an answer/+1/-1.

aneta-petrova and others added 2 commits April 7, 2026 21:08
Co-authored-by: Maximilian Kolb <mail@maximilian-kolb.de>
Separate authentication and advanced config assemblies

Create reference assembly for remote execution

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@aneta-petrova
Copy link
Copy Markdown
Member Author

Btw, I've been thinking about moving Ansible playbook import (example) into the Ansible guide solely because it fits better with the Ansible content journey rather than the REX content journey IMO. But we can do that in another PR ofc if we agree on it.

Why not try it if it makes sense, but a separate PR would be better for that with its own round of reviews and all that :)

@aneta-petrova
Copy link
Copy Markdown
Member Author

Thanks for all the brilliant suggestions, this was a very productive peer review. Can I please get a re-review?

@aneta-petrova aneta-petrova removed the Needs tech review Requires a review from the technical perspective label Apr 8, 2026
@aneta-petrova aneta-petrova removed the Needs testing Requires functional testing label Apr 8, 2026
@maximiliankolb maximiliankolb self-requested a review April 8, 2026 08:35
Copy link
Copy Markdown
Contributor

@Lennonka Lennonka left a comment

Choose a reason for hiding this comment

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

LGTM!
Just a few notes, mostly non-blocking.

A second ack by @maximiliankolb would be appreciated.

Copy link
Copy Markdown
Contributor

@maximiliankolb maximiliankolb left a comment

Choose a reason for hiding this comment

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

Thanks Anet, LGTM.

RE Lena's comment: I lean towards applying it.

@maximiliankolb maximiliankolb added style review done No issues from docs style/grammar perspective and removed Needs style review Requires a review from docs style/grammar perspective labels Apr 8, 2026
Co-authored-by: Lena Ansorgová <zuansorg@redhat.com>
@aneta-petrova aneta-petrova merged commit 593c49d into theforeman:master Apr 8, 2026
10 of 11 checks passed
@aneta-petrova aneta-petrova deleted the cqa-rex branch April 8, 2026 09:52
aneta-petrova added a commit that referenced this pull request Apr 8, 2026
---------

Co-authored-by: Brian Angelica <91690569+bangelic@users.noreply.github.com>
Co-authored-by: Lena Ansorgová <zuansorg@redhat.com>
Co-authored-by: Maximilian Kolb <mail@maximilian-kolb.de>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
(cherry picked from commit 593c49d)
(cherry picked from commit 331257a)
aneta-petrova added a commit that referenced this pull request Apr 8, 2026
---------

Co-authored-by: Brian Angelica <91690569+bangelic@users.noreply.github.com>
Co-authored-by: Lena Ansorgová <zuansorg@redhat.com>
Co-authored-by: Maximilian Kolb <mail@maximilian-kolb.de>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
(cherry picked from commit 593c49d)
aneta-petrova added a commit that referenced this pull request Apr 8, 2026
---------

Co-authored-by: Brian Angelica <91690569+bangelic@users.noreply.github.com>
Co-authored-by: Lena Ansorgová <zuansorg@redhat.com>
Co-authored-by: Maximilian Kolb <mail@maximilian-kolb.de>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
(cherry picked from commit 593c49d)
@aneta-petrova
Copy link
Copy Markdown
Member Author

Merged to "master" and cherry-picked:

20aefbf..a24c485 3.18 -> 3.18
b95a6e4..331257a 3.17 -> 3.17 (a conflict due to the rex SSH certs feature being missing)
8bb602b..9979d27 3.16 -> 3.16 (picked from 3.17)

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

Labels

style review done No issues from docs style/grammar perspective

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants