Skip to content

Update documentation around project use cases#4969

Open
aneta-petrova wants to merge 7 commits into
theforeman:masterfrom
aneta-petrova:planning-intro
Open

Update documentation around project use cases#4969
aneta-petrova wants to merge 7 commits into
theforeman:masterfrom
aneta-petrova:planning-intro

Conversation

@aneta-petrova

@aneta-petrova aneta-petrova commented Jun 25, 2026

Copy link
Copy Markdown
Member

What changes are you introducing?

Reviewing and updating Planning guide information regarding Foreman overview and benefits. This should eventually involve:

  • Listing Foreman's use cases/core capabilities
    * [x] Reorganizing the existing documentation that supports these use cases
    * [x] Identifying which use cases are not yet described
    * [x] Documenting these gaps

The PR also exposes the containerized Planning guide in navigation, with the new section on use cases being the only section included in the containerized guide. It should serve as an introduction to the project.

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

The goal is to concentrate this introductory information in one place and make sure it's up-to-date and aligned with the project's direction.

To provide a short overview of the main use cases aka 'why you should use Foreman (and Katello)'

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

Target audience: Architect

Documentation category: Discover = Orient to what the project is, what it does, and when to use it / Understand whether the project solves my problem, what it can do, and how it conceptually works

Assisted-by: Cursor, Claude

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.19/Katello 4.21
  • 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, 7.7, and 7.8)
  • Foreman 3.15/Katello 4.17
  • Foreman 3.14/Katello 4.16 (Satellite 6.17; orcharhino 7.4; orcharhino 7.5)
  • We do not accept PRs for Foreman older than 3.14.

@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 Jun 25, 2026
@aneta-petrova aneta-petrova removed 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 Jun 25, 2026
@aneta-petrova aneta-petrova force-pushed the planning-intro branch 2 times, most recently from 6c661aa to dc5d258 Compare June 25, 2026 13:33
@aneta-petrova aneta-petrova force-pushed the planning-intro branch 2 times, most recently from 9ae8ab2 to 46b32c8 Compare July 10, 2026 12:53
= {Project} use cases

[role="_abstract"]
{ProjectName} is a centralized tool for provisioning,

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.

The AbstractLength failure is only due to conditionals. The rendered text is within the required limit.

@aneta-petrova aneta-petrova force-pushed the planning-intro branch 4 times, most recently from 5777340 to df2d225 Compare July 10, 2026 13:51
@aneta-petrova aneta-petrova marked this pull request as ready for review July 10, 2026 13:58
@aneta-petrova

Copy link
Copy Markdown
Member Author

Hi @ekohl, @ianballou, and @parthaa, can you please review this description of use cases?

@ekohl ekohl left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This may be a bit of a brain dump. Especially the TODOs to link guides is something you're already aware of, but it helps me to write it down.

Comment thread guides/common/modules/con_project-use-cases.adoc Outdated
Comment thread guides/common/modules/con_project-use-cases.adoc Outdated
Comment thread guides/common/modules/con_project-use-cases.adoc Outdated
Comment thread guides/common/modules/con_project-use-cases.adoc

{ProjectName} focuses on the following use cases:

Provisioning::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Todo: link to the provisioning hosts guide

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.

Just for completeness, I'll also note that concept modules can no longer include links in the module's body. Any link that we decide to add would have to go in an .Additional resources section. With that in mind, we should also make sure that .Additional resources don't just duplicate a list of guides that users can easily see at docs.theforeman.org.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You could make a point that this content should live directly on https://theforeman.org/ as well and from there point to the guides.

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 could, but that wouldn't get me much closer to my goal, which is updating product documentation -- including the downstream one :)

This approach provides enhanced control over what software runs in your environment.
endif::[]

Security management::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Todo: link to the managing security compliance guide.

+
This capability enables centralized security oversight, supports incident response, and helps reduce the attack surface of your systems.

Knowledge and analytics::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I wonder where we have this. In the managing hosts guide?

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 suspect our guides might not always map precisely to these use cases. At least some of our guides are feature-based (content, hosts) and use cases might pull in multiple features.

Ideally, our documentation should be organized in a way that begins with the use cases as a high-level starting point (think one guide per use case), and then that would make it easy to link to docs from this section. I recognize that saying "Foreman can do this super cool thing" without clearly pointing to guidance on how to achieve it is not great, but it's at least a good first step (and IMO a very necessary thing to do in general).

@ekohl ekohl Jul 10, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think it's been an underdeveloped area for a long time. https://github.com/theforeman/foreman_statistics was extracted from core and barely sees any activity. Perhaps the whole project should think about how we can support this use case.

Edit: https://theforeman.org/ has some things that work towards this, but I think it's outdated.

This knowledge helps you make informed decisions about your infrastructure and spot potential problems.

ifndef::satellite[]
Configuration management::

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Todo: link to Ansible, Puppet, and Salt guides (where applicable).

Comment thread guides/common/modules/con_project-use-cases.adoc Outdated
Comment thread guides/common/modules/con_project-use-cases.adoc Outdated
Patch management::
Apply updates to hosts in a consistent, scalable, and repeatable manner.
+
{ProjectName} helps you schedule maintenance windows, test updates in staging environments, and roll out patches across your infrastructure with controlled deployment strategies.

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 definition of Katello, I think it represents its core use cases well.

Comment thread guides/common/modules/con_project-use-cases.adoc Outdated
Comment thread guides/common/modules/con_project-use-cases.adoc Outdated
@aneta-petrova aneta-petrova force-pushed the planning-intro branch 2 times, most recently from 419abe4 to a2d99fd Compare July 10, 2026 16:16
@aneta-petrova

Copy link
Copy Markdown
Member Author

This may be a bit of a brain dump.

A good brain dump that helped me improve things, thank you.

Especially the TODOs to link guides is something you're already aware of, but it helps me to write it down.

Is this something you'd expect to see in this PR? For reasons I noted here and elsewhere (we don't have containerized guides yet, .Additional resources shouldn't duplicate a list of guides, it's tricky to map use cases to feature-based documentation), including the links wasn't on my to-do list for this PR.

Drop redundant conditionals

Emphasize flexibility in provisioning over standards

Drop the separate patch management use case

Update non-core use cases for Satellite
@ekohl

ekohl commented Jul 10, 2026

Copy link
Copy Markdown
Member

Is this something you'd expect to see in this PR? For reasons I noted here and elsewhere (we don't have containerized guides yet, .Additional resources shouldn't duplicate a list of guides, it's tricky to map use cases to feature-based documentation), including the links wasn't on my to-do list for this PR.

No. It helped me to connect things and I'd love to in the future but in the short term I don't think it's feasible.

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.

3 participants