From 7946467dacc6d3bf2e45099f43262b8f35831804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aneta=20=C5=A0teflov=C3=A1=20Petrov=C3=A1?= Date: Fri, 28 Nov 2025 18:59:51 +0100 Subject: [PATCH 1/2] Introduce 'foremanctl' as a new flavour Includes switching Quickstart from tabs to a separate foremanctl guide --- .github/workflows/deploy.yml | 1 + Makefile | 2 +- README.md | 2 +- guides/common/attributes-foremanctl.adoc | 0 guides/common/attributes.adoc | 4 ++++ .../proc_running-project-deployment-utility.adoc | 9 ++------- .../ref_system-requirements-quickstart.adoc | 9 ++------- .../snip_configuring-repositories-el.adoc | 16 ---------------- ...snip_configuring-repositories-foremanctl.adoc | 6 ++++++ guides/doc-Quickstart/master.adoc | 9 +-------- 10 files changed, 18 insertions(+), 40 deletions(-) create mode 100644 guides/common/attributes-foremanctl.adoc create mode 100644 guides/common/modules/snip_configuring-repositories-foremanctl.adoc diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6c6e6c0b4f5..b86bd8ab150 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -58,6 +58,7 @@ jobs: make clean make -j ${{ env.MAKE_J }} html BUILD=foreman-el make -j ${{ env.MAKE_J }} html BUILD=foreman-deb + make -j ${{ env.MAKE_J }} html BUILD=foremanctl make -j ${{ env.MAKE_J }} html BUILD=katello make -j ${{ env.MAKE_J }} html BUILD=satellite make -j ${{ env.MAKE_J }} html BUILD=orcharhino diff --git a/Makefile b/Makefile index 27759cd98d4..ca9eb791e60 100644 --- a/Makefile +++ b/Makefile @@ -24,7 +24,7 @@ clean: $(MAKE) -C guides/ clean rm -rf $(DEST) web/output/ -html: build-foreman-el build-foreman-deb build-katello +html: build-foreman-el build-foreman-deb build-foremanctl build-katello build-%: FORCE prep $(MAKE) -C guides/ html BUILD=$* diff --git a/README.md b/README.md index 429f29d307d..3dc0b60a69c 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ See the [README in the `guides/` subdirectory](guides/README.md) for more inform To build both the static site and the guides for easy local testing, a global `Makefile` is provided in the root directory with the following targets: -* `html`: builds HTML guides with all contexts (`foreman-el`, `foreman-deb`, `katello`, `satellite`, and `orcharhino`) +* `html`: builds HTML guides with all contexts (`foreman-el`, `foreman-deb`, `foremanctl`, `katello`, `satellite`, and `orcharhino`) * `web`: builds static site using the `nanoc` tool * `compile`: compiles all content into a single directory `./result` * `serve`: serves the result directory via a python web server (the default target) diff --git a/guides/common/attributes-foremanctl.adoc b/guides/common/attributes-foremanctl.adoc new file mode 100644 index 00000000000..e69de29bb2d diff --git a/guides/common/attributes.adoc b/guides/common/attributes.adoc index 606eb4f25a5..dd03a00b497 100644 --- a/guides/common/attributes.adoc +++ b/guides/common/attributes.adoc @@ -24,6 +24,7 @@ // Attribute files for SPECIFIC PRODUCTS: // * attributes-foreman-el.adoc (attributes overridden or unique to Red Hat Enterprise Linux and clones) // * attributes-foreman-deb.adoc (attributes overridden or unique to Debian/Ubuntu) +// * attributes-foremanctl.adoc (attributes overridden or unique to foremanctl build) // * attributes-katello.adoc (attributes overridden or unique to Katello) // * attributes-orcharhino.adoc (attributes overridden or unique to orcharhino) // * attributes-satellite.adoc (attributes overridden or unique to Satellite) @@ -37,6 +38,9 @@ ifeval::["{build}" == "foreman-deb"] :foreman-deb: :foreman: endif::[] +ifeval::["{build}" == "foremanctl"] +:foremanctl: +endif::[] ifeval::["{build}" == "katello"] :katello: endif::[] diff --git a/guides/common/modules/proc_running-project-deployment-utility.adoc b/guides/common/modules/proc_running-project-deployment-utility.adoc index 042563791f1..def5a675f22 100644 --- a/guides/common/modules/proc_running-project-deployment-utility.adoc +++ b/guides/common/modules/proc_running-project-deployment-utility.adoc @@ -6,11 +6,7 @@ Install the required packages and run the {Project} deployment utility. .Procedure -ifdef::foremanctl[] -[tabs] -==== -Puppet-based installation:: -endif::[] +ifndef::foremanctl[] . Upgrade all packages: + [options="nowrap" subs="+quotes,attributes"] @@ -36,8 +32,8 @@ The installation run is non-interactive by default. The script displays its progress and writes logs to `{installer-log-file}`. + For a list of the available customization options, run `{foreman-installer} --help` or `{foreman-installer} --full-help`. +endif::[] ifdef::foremanctl[] -Containerized installation:: . Upgrade all packages: + [options="nowrap" subs="+quotes,attributes"] @@ -60,5 +56,4 @@ Containerized installation:: You can find credentials to access your {ProjectServer} in the message shown in the `TASK [post_install : Admin credentials]` task results. + For a list of available options, run `foremanctl --help`. -==== endif::[] diff --git a/guides/common/modules/ref_system-requirements-quickstart.adoc b/guides/common/modules/ref_system-requirements-quickstart.adoc index 21571e1f267..140d12efcc0 100644 --- a/guides/common/modules/ref_system-requirements-quickstart.adoc +++ b/guides/common/modules/ref_system-requirements-quickstart.adoc @@ -5,11 +5,7 @@ The following list shows the most critical requirements common for most scenarios. -ifdef::foremanctl[] -[tabs] -==== -Puppet-based installation:: -endif::[] +ifndef::foremanctl[] // The requirements in this section must match the full requirements in the installation guide. ifdef::foreman-deb[] * The following operating systems are supported for deploying {Project}: @@ -30,9 +26,9 @@ ifdef::foreman-el,katello,orcharhino[] endif::[] * Install {ProductName} on a freshly provisioned system that serves no other function except to run {ProductName}. * Ensure the system has at least {project-minimum-cpus} and {project-minimum-memory} of memory. +endif::[] ifdef::foremanctl[] -Containerized installation:: ifdef::foreman-deb[] * The following operating systems are supported for deploying {Project}: endif::[] @@ -49,5 +45,4 @@ ifdef::foreman-deb[] endif::[] * Install {ProductName} on a freshly provisioned system that serves no other function except to run {ProductName}. * Ensure the system has at least {project-minimum-cpus} and {project-minimum-memory} of memory. -==== endif::[] diff --git a/guides/common/modules/snip_configuring-repositories-el.adoc b/guides/common/modules/snip_configuring-repositories-el.adoc index af74e28e68f..f87059b847c 100644 --- a/guides/common/modules/snip_configuring-repositories-el.adoc +++ b/guides/common/modules/snip_configuring-repositories-el.adoc @@ -1,8 +1,3 @@ -ifdef::foremanctl[] -[tabs] -==== -Puppet-based installation:: -endif::[] . Clear any metadata: + [options="nowrap" subs="+quotes,attributes"] @@ -40,14 +35,3 @@ ifdef::foreman-el,katello[] # {package-install} https://yum.puppet.com/puppet7-release-el-{distribution-major-version}.noarch.rpm ---- endif::[] - -ifdef::foremanctl[] -Containerized installation:: -* Enable the required repositories: -+ -[options="nowrap" subs="+quotes,attributes"] ----- -# dnf copr enable @theforeman/foremanctl rhel-9-x86_64 ----- -==== -endif::[] diff --git a/guides/common/modules/snip_configuring-repositories-foremanctl.adoc b/guides/common/modules/snip_configuring-repositories-foremanctl.adoc new file mode 100644 index 00000000000..ae1e80845bf --- /dev/null +++ b/guides/common/modules/snip_configuring-repositories-foremanctl.adoc @@ -0,0 +1,6 @@ +* Enable the required repositories: ++ +[options="nowrap" subs="+quotes,attributes"] +---- +# dnf copr enable @theforeman/foremanctl rhel-9-x86_64 +---- diff --git a/guides/doc-Quickstart/master.adoc b/guides/doc-Quickstart/master.adoc index 09dfbf1ad6b..475ae54609d 100644 --- a/guides/doc-Quickstart/master.adoc +++ b/guides/doc-Quickstart/master.adoc @@ -5,20 +5,13 @@ include::common/header.adoc[] :mode: connected :ProductName: {ProjectServer} :tabs-sync-option: -ifdef::katello[] -:foremanctl: -endif::[] = {QuickstartDocTitle} This guide describes the quickest way to get a {ProjectServer} up and running. -ifdef::foremanctl[] -You can choose between a Puppet-based installation and containerized installation. -endif::[] For a full installation guide, see {InstallingServerDocURL}[_{InstallingServerDocTitle}_]. -ifdef::foremanctl[] -The full installation guide is currently provided only for the Puppet-based installation. +ifdef::foremanctl[] :FeatureName: The `foremanctl` deployment utility include::common/modules/snip_technology-preview.adoc[] endif::[] From 6386d76858e2cf0f115722902c6a0245def1481c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aneta=20=C5=A0teflov=C3=A1=20Petrov=C3=A1?= Date: Fri, 28 Nov 2025 19:11:06 +0100 Subject: [PATCH 2/2] Add foremanctl to web navigation --- guides/doc-Installing_Server/master.adoc | 3 ++- guides/doc-Release_Notes/master.adoc | 2 ++ guides/doc-Upgrading_Project/master.adoc | 2 ++ web/content/index.adoc.erb | 1 + web/releases/nightly.json | 22 ++++++++++++++++++++++ 5 files changed, 29 insertions(+), 1 deletion(-) diff --git a/guides/doc-Installing_Server/master.adoc b/guides/doc-Installing_Server/master.adoc index 258a526ca08..9b955275182 100644 --- a/guides/doc-Installing_Server/master.adoc +++ b/guides/doc-Installing_Server/master.adoc @@ -21,6 +21,7 @@ ifdef::satellite[] include::common/modules/con_red-hat-helper-app.adoc[leveloffset=+1] endif::[] +ifndef::foremanctl[] include::common/assembly_planning-project-server-installation.adoc[leveloffset=+1] include::common/assembly_preparing-environment-for-project-server-installation.adoc[leveloffset=+1] @@ -73,7 +74,7 @@ endif::[] [appendix] include::common/modules/proc_restoring-manual-changes-overwritten-by-a-puppet-run.adoc[leveloffset=+1] - +endif::[] endif::[] ifndef::orcharhino,satellite[] diff --git a/guides/doc-Release_Notes/master.adoc b/guides/doc-Release_Notes/master.adoc index da3daa86da6..a956ded11ab 100644 --- a/guides/doc-Release_Notes/master.adoc +++ b/guides/doc-Release_Notes/master.adoc @@ -1,6 +1,7 @@ include::common/attributes.adoc[] include::common/header.adoc[] +ifndef::foremanctl[] ifndef::katello[] include::topics/foreman.adoc[] endif::[] @@ -27,6 +28,7 @@ ifdef::katello[] include::topics/katello-contributors.adoc[leveloffset=+1] endif::[] +endif::[] ifndef::orcharhino,satellite[] include::common/ribbons.adoc[] diff --git a/guides/doc-Upgrading_Project/master.adoc b/guides/doc-Upgrading_Project/master.adoc index 1d7e7f51951..7ea2f5aea5c 100644 --- a/guides/doc-Upgrading_Project/master.adoc +++ b/guides/doc-Upgrading_Project/master.adoc @@ -10,6 +10,7 @@ ifdef::satellite[] include::common/modules/proc_providing-feedback-on-red-hat-documentation.adoc[leveloffset=+1] endif::[] +ifndef::foremanctl[] ifdef::foreman-el[] [IMPORTANT] ==== @@ -47,6 +48,7 @@ endif::[] [appendix] include::common/modules/proc_troubleshooting-permission-issues.adoc[leveloffset=+1] +endif::[] ifndef::orcharhino,satellite[] include::common/ribbons.adoc[] diff --git a/web/content/index.adoc.erb b/web/content/index.adoc.erb index 324ce41b197..ff966c9b8c8 100644 --- a/web/content/index.adoc.erb +++ b/web/content/index.adoc.erb @@ -38,6 +38,7 @@ The future version is built in nightly: ** link:/release/nightly/index-foreman-el.html[Foreman on Enterprise Linux (EL)] ** link:/release/nightly/index-foreman-deb.html[Foreman on Debian/Ubuntu] ** link:/release/nightly/index-katello.html[Foreman with Katello on Enterprise Linux (EL)] +** link:/release/nightly/index-foremanctl.html[Containerized Foreman] <% if (release = releases_in_state('RC').first) %> A release candidate is available for testing: diff --git a/web/releases/nightly.json b/web/releases/nightly.json index 38bdda046f9..b75068572ba 100644 --- a/web/releases/nightly.json +++ b/web/releases/nightly.json @@ -129,6 +129,28 @@ ["Hammer_Reference", "Hammer reference"] ] } + }, + { + "title": "Containerized Foreman", + "header": "Containerized Foreman {FOREMAN_VER}", + "filename": "index-foremanctl.html", + "sections": { + "Release notes and upgrading": [ + ["Upgrading_Project", "Upgrading Foreman to Containerized {FOREMAN_VER}"] + ], + "Quickstart": [ + ["Quickstart", "Quickstart guide"] + ], + "Deploying Foreman": [ + ["Installing_Server", "Installing Foreman Server"] + ], + "Administering Foreman server": [ + ], + "Administering hosts": [ + ], + "Reference": [ + ] + } } ] }