diff --git a/guides/common/assembly_configuring-and-setting-up-remote-jobs.adoc b/guides/common/assembly_configuring-and-setting-up-remote-jobs.adoc index 95f494b3811..22a6287f5ed 100644 --- a/guides/common/assembly_configuring-and-setting-up-remote-jobs.adoc +++ b/guides/common/assembly_configuring-and-setting-up-remote-jobs.adoc @@ -2,104 +2,16 @@ include::modules/con_configuring-and-setting-up-remote-jobs.adoc[] -include::modules/con_remote-execution-in-project.adoc[leveloffset=+1] +include::assembly_remote-execution-overview.adoc[leveloffset=+1] -include::modules/con_remote-execution-workflow.adoc[leveloffset=+1] +include::assembly_getting-started-with-remote-execution.adoc[leveloffset=+1] -include::modules/con_permissions-for-remote-execution.adoc[leveloffset=+1] - -include::modules/con_transport-modes-for-remote-execution.adoc[leveloffset=+1] - -ifdef::foreman-el,foreman-deb[] -include::modules/proc_installing-the-remote-execution-plugin.adoc[leveloffset=+1] -endif::[] - -ifdef::katello,orcharhino,satellite[] -include::modules/proc_configuring-a-host-to-use-the-pull-client.adoc[leveloffset=+1] -endif::[] - -include::modules/proc_creating-a-job-template-by-using-web-ui.adoc[leveloffset=+1] - -include::modules/proc_creating-a-job-template-by-using-cli.adoc[leveloffset=+1] - -include::modules/proc_importing-an-ansible-playbook-by-name.adoc[leveloffset=+1] - -include::modules/proc_importing-all-available-ansible-playbooks.adoc[leveloffset=+1] - -include::modules/proc_configuring-the-fallback-to-any-smartproxy-remote-execution-setting-by-using-web-ui.adoc[leveloffset=+1] - -include::modules/proc_configuring-the-fallback-to-any-smartproxy-remote-execution-setting-by-using-cli.adoc[leveloffset=+1] - -include::modules/proc_configuring-the-global-smartproxy-remote-execution-setting-by-using-web-ui.adoc[leveloffset=+1] - -include::modules/proc_configuring-the-global-smartproxy-remote-execution-setting-by-using-cli.adoc[leveloffset=+1] - -include::modules/proc_setting-an-alternative-directory-for-remote-execution-jobs-in-push-mode.adoc[leveloffset=+1] - -ifeval::["{context}" == "managing-hosts"] -include::modules/proc_setting-an-alternative-directory-for-remote-execution-jobs-in-pull-mode.adoc[leveloffset=+1] -endif::[] - -include::modules/proc_altering-the-privilege-elevation-method.adoc[leveloffset=+1] - -include::modules/proc_distributing-ssh-keys-for-remote-execution.adoc[leveloffset=+1] - -include::modules/proc_adding-project-server-ssh-key-to-authorized-keys.adoc[leveloffset=+1] - -include::modules/proc_distributing-ssh-keys-for-remote-execution-manually.adoc[leveloffset=+1] - -include::modules/proc_adding-a-passphrase-to-ssh-key-used-for-remote-execution.adoc[leveloffset=+1] - -include::modules/proc_using-the-api-to-obtain-ssh-keys-for-remote-execution.adoc[leveloffset=+1] - -ifndef::orcharhino,satellite[] -:parent-client-provisioning-template-type: {client-provisioning-template-type} -:client-provisioning-template-type: Agama -include::modules/proc_configuring-a-template-to-distribute-ssh-keys-during-provisioning.adoc[leveloffset=+1] -:client-provisioning-template-type: {parent-client-provisioning-template-type} -:!parent-client-provisioning-template-type: -endif::[] - -ifndef::orcharhino[] -:parent-client-provisioning-template-type: {client-provisioning-template-type} -:client-provisioning-template-type: Kickstart -endif::[] -include::modules/proc_configuring-a-template-to-distribute-ssh-keys-during-provisioning.adoc[leveloffset=+1] -ifndef::orcharhino[] -:client-provisioning-template-type: {parent-client-provisioning-template-type} -:!parent-client-provisioning-template-type: -endif::[] - -ifndef::orcharhino,satellite[] -:parent-client-provisioning-template-type: {client-provisioning-template-type} -:client-provisioning-template-type: Preseed -include::modules/proc_configuring-a-template-to-distribute-ssh-keys-during-provisioning.adoc[leveloffset=+1] -:client-provisioning-template-type: {parent-client-provisioning-template-type} -:!parent-client-provisioning-template-type: -endif::[] +include::assembly_configuring-remote-execution.adoc[leveloffset=+1] include::assembly_configuring-smart-proxy-and-hosts-to-authenticate-with-ssh-certificates.adoc[leveloffset=+1] -include::modules/proc_configuring-a-keytab-for-kerberos-ticket-granting-tickets.adoc[leveloffset=+1] - -include::modules/proc_configuring-kerberos-authentication-for-remote-execution.adoc[leveloffset=+1] - -include::modules/proc_customizing-job-templates.adoc[leveloffset=+1] - -include::modules/proc_executing-a-remote-job-by-using-web-ui.adoc[leveloffset=+1] - -include::modules/proc_executing-a-remote-job-by-using-cli.adoc[leveloffset=+1] - -include::modules/ref_advanced-settings-in-the-job-wizard.adoc[leveloffset=+1] - -include::modules/con_using-extended-cron-lines.adoc[leveloffset=+1] - -include::modules/proc_scheduling-a-recurring-ansible-job-for-a-host.adoc[leveloffset=+1] - -include::modules/proc_scheduling-a-recurring-ansible-job-for-a-host-group.adoc[leveloffset=+1] +include::assembly_tuning-authentication-and-performance.adoc[leveloffset=+1] -ifdef::katello,orcharhino,satellite[] -include::modules/proc_using-ansible-provider-for-package-and-errata-actions.adoc[leveloffset=+1] -endif::[] +include::assembly_customizing-remote-jobs.adoc[leveloffset=+1] -include::modules/proc_setting-the-job-rate-limit-on-smartproxy.adoc[leveloffset=+1] +include::assembly_remote-execution-reference.adoc[leveloffset=+1] diff --git a/guides/common/assembly_configuring-remote-execution.adoc b/guides/common/assembly_configuring-remote-execution.adoc new file mode 100644 index 00000000000..d6089532824 --- /dev/null +++ b/guides/common/assembly_configuring-remote-execution.adoc @@ -0,0 +1,53 @@ +:_mod-docs-content-type: ASSEMBLY + +include::modules/con_configuring-remote-execution.adoc[] + +include::modules/proc_configuring-the-fallback-to-any-smartproxy-remote-execution-setting-by-using-web-ui.adoc[leveloffset=+1] + +include::modules/proc_configuring-the-fallback-to-any-smartproxy-remote-execution-setting-by-using-cli.adoc[leveloffset=+1] + +include::modules/proc_configuring-the-global-smartproxy-remote-execution-setting-by-using-web-ui.adoc[leveloffset=+1] + +include::modules/proc_configuring-the-global-smartproxy-remote-execution-setting-by-using-cli.adoc[leveloffset=+1] + +include::modules/proc_setting-an-alternative-directory-for-remote-execution-jobs-in-push-mode.adoc[leveloffset=+1] + +ifeval::["{context}" == "managing-hosts"] +include::modules/proc_setting-an-alternative-directory-for-remote-execution-jobs-in-pull-mode.adoc[leveloffset=+1] +endif::[] + +include::modules/proc_altering-the-privilege-elevation-method.adoc[leveloffset=+1] + +include::modules/proc_adding-project-server-ssh-key-to-authorized-keys.adoc[leveloffset=+1] + +include::modules/proc_distributing-ssh-keys-for-remote-execution-manually.adoc[leveloffset=+1] + +include::modules/proc_adding-a-passphrase-to-ssh-key-used-for-remote-execution.adoc[leveloffset=+1] + +include::modules/proc_using-the-api-to-obtain-ssh-keys-for-remote-execution.adoc[leveloffset=+1] + +ifndef::orcharhino,satellite[] +:parent-client-provisioning-template-type: {client-provisioning-template-type} +:client-provisioning-template-type: Agama +include::modules/proc_configuring-a-template-to-distribute-ssh-keys-during-provisioning.adoc[leveloffset=+1] +:client-provisioning-template-type: {parent-client-provisioning-template-type} +:!parent-client-provisioning-template-type: +endif::[] + +ifndef::orcharhino[] +:parent-client-provisioning-template-type: {client-provisioning-template-type} +:client-provisioning-template-type: Kickstart +endif::[] +include::modules/proc_configuring-a-template-to-distribute-ssh-keys-during-provisioning.adoc[leveloffset=+1] +ifndef::orcharhino[] +:client-provisioning-template-type: {parent-client-provisioning-template-type} +:!parent-client-provisioning-template-type: +endif::[] + +ifndef::orcharhino,satellite[] +:parent-client-provisioning-template-type: {client-provisioning-template-type} +:client-provisioning-template-type: Preseed +include::modules/proc_configuring-a-template-to-distribute-ssh-keys-during-provisioning.adoc[leveloffset=+1] +:client-provisioning-template-type: {parent-client-provisioning-template-type} +:!parent-client-provisioning-template-type: +endif::[] diff --git a/guides/common/assembly_customizing-remote-jobs.adoc b/guides/common/assembly_customizing-remote-jobs.adoc new file mode 100644 index 00000000000..8ba8feda30d --- /dev/null +++ b/guides/common/assembly_customizing-remote-jobs.adoc @@ -0,0 +1,21 @@ +:_mod-docs-content-type: ASSEMBLY + +include::modules/con_customizing-remote-jobs.adoc[] + +include::modules/proc_creating-a-job-template-by-using-web-ui.adoc[leveloffset=+1] + +include::modules/proc_creating-a-job-template-by-using-cli.adoc[leveloffset=+1] + +include::modules/proc_importing-an-ansible-playbook-by-name.adoc[leveloffset=+1] + +include::modules/proc_importing-all-available-ansible-playbooks.adoc[leveloffset=+1] + +include::modules/proc_customizing-job-templates.adoc[leveloffset=+1] + +include::modules/proc_scheduling-a-recurring-ansible-job-for-a-host.adoc[leveloffset=+1] + +include::modules/proc_scheduling-a-recurring-ansible-job-for-a-host-group.adoc[leveloffset=+1] + +ifdef::katello,orcharhino,satellite[] +include::modules/proc_using-ansible-provider-for-package-and-errata-actions.adoc[leveloffset=+1] +endif::[] diff --git a/guides/common/assembly_getting-started-with-remote-execution.adoc b/guides/common/assembly_getting-started-with-remote-execution.adoc new file mode 100644 index 00000000000..f6d8fd71f04 --- /dev/null +++ b/guides/common/assembly_getting-started-with-remote-execution.adoc @@ -0,0 +1,19 @@ +:_mod-docs-content-type: ASSEMBLY + +include::modules/con_getting-started-with-remote-execution.adoc[] + +include::modules/con_permissions-for-remote-execution.adoc[leveloffset=+1] + +ifdef::foreman-el,foreman-deb[] +include::modules/proc_installing-the-remote-execution-plugin.adoc[leveloffset=+1] +endif::[] + +ifdef::katello,orcharhino,satellite[] +include::modules/proc_configuring-a-host-to-use-the-pull-client.adoc[leveloffset=+1] +endif::[] + +include::modules/proc_distributing-ssh-keys-for-remote-execution.adoc[leveloffset=+1] + +include::modules/proc_executing-a-remote-job-by-using-web-ui.adoc[leveloffset=+1] + +include::modules/proc_executing-a-remote-job-by-using-cli.adoc[leveloffset=+1] diff --git a/guides/common/assembly_remote-execution-overview.adoc b/guides/common/assembly_remote-execution-overview.adoc new file mode 100644 index 00000000000..66b7f676895 --- /dev/null +++ b/guides/common/assembly_remote-execution-overview.adoc @@ -0,0 +1,9 @@ +:_mod-docs-content-type: ASSEMBLY + +include::modules/con_remote-execution-overview.adoc[] + +include::modules/con_remote-execution-in-project.adoc[leveloffset=+1] + +include::modules/con_remote-execution-workflow.adoc[leveloffset=+1] + +include::modules/con_transport-modes-for-remote-execution.adoc[leveloffset=+1] diff --git a/guides/common/assembly_remote-execution-reference.adoc b/guides/common/assembly_remote-execution-reference.adoc new file mode 100644 index 00000000000..c450c5a9639 --- /dev/null +++ b/guides/common/assembly_remote-execution-reference.adoc @@ -0,0 +1,7 @@ +:_mod-docs-content-type: ASSEMBLY + +include::modules/con_remote-execution-reference.adoc[] + +include::modules/ref_advanced-settings-in-the-job-wizard.adoc[leveloffset=+1] + +include::modules/ref_extended-cron-line-syntax-in-remote-jobs.adoc[leveloffset=+1] diff --git a/guides/common/assembly_tuning-authentication-and-performance.adoc b/guides/common/assembly_tuning-authentication-and-performance.adoc new file mode 100644 index 00000000000..fd93cee18e4 --- /dev/null +++ b/guides/common/assembly_tuning-authentication-and-performance.adoc @@ -0,0 +1,9 @@ +:_mod-docs-content-type: ASSEMBLY + +include::modules/con_tuning-authentication-and-performance.adoc[] + +include::modules/proc_configuring-a-keytab-for-kerberos-ticket-granting-tickets.adoc[leveloffset=+1] + +include::modules/proc_configuring-kerberos-authentication-for-remote-execution.adoc[leveloffset=+1] + +include::modules/proc_setting-the-job-rate-limit-on-smartproxy.adoc[leveloffset=+1] diff --git a/guides/common/modules/con_configuring-remote-execution.adoc b/guides/common/modules/con_configuring-remote-execution.adoc new file mode 100644 index 00000000000..c3b6ea20888 --- /dev/null +++ b/guides/common/modules/con_configuring-remote-execution.adoc @@ -0,0 +1,8 @@ +:_mod-docs-content-type: CONCEPT + +[id="configuring-remote-execution_{context}"] += Configuring remote execution + +[role="_abstract"] +You can configure remote execution in several ways to control how remote jobs run on your hosts. +This helps you configure the remote execution process to run in a way that fits your needs. diff --git a/guides/common/modules/con_customizing-remote-jobs.adoc b/guides/common/modules/con_customizing-remote-jobs.adoc new file mode 100644 index 00000000000..03c46aee2ae --- /dev/null +++ b/guides/common/modules/con_customizing-remote-jobs.adoc @@ -0,0 +1,8 @@ +:_mod-docs-content-type: CONCEPT + +[id="customizing-remote-jobs"] += Customizing remote jobs + +[role="_abstract"] +You can customize remote jobs in {Project} to fit your needs. +For example, you can create and customize job templates or you can import Ansible playbooks to use in your remote jobs. diff --git a/guides/common/modules/con_getting-started-with-remote-execution.adoc b/guides/common/modules/con_getting-started-with-remote-execution.adoc new file mode 100644 index 00000000000..a05f1b98d4d --- /dev/null +++ b/guides/common/modules/con_getting-started-with-remote-execution.adoc @@ -0,0 +1,7 @@ +:_mod-docs-content-type: CONCEPT + +[id="getting-started-with-remote-execution"] += Getting started with remote execution + +[role="_abstract"] +To run your first remote job, ensure that your user account has the required permissions and your hosts are configured to run remote jobs. diff --git a/guides/common/modules/con_remote-execution-overview.adoc b/guides/common/modules/con_remote-execution-overview.adoc new file mode 100644 index 00000000000..9910be6267e --- /dev/null +++ b/guides/common/modules/con_remote-execution-overview.adoc @@ -0,0 +1,8 @@ +:_mod-docs-content-type: CONCEPT + +[id="remote-execution-overview"] += Remote execution overview + +[role="_abstract"] +With remote execution in {Project}, you can run commands on hosts from {SmartProxies} by using shell scripts or Ansible. +Multiple transport modes and job providers are available so that you can pick the one that fits your environment. diff --git a/guides/common/modules/con_remote-execution-reference.adoc b/guides/common/modules/con_remote-execution-reference.adoc new file mode 100644 index 00000000000..b9d44059426 --- /dev/null +++ b/guides/common/modules/con_remote-execution-reference.adoc @@ -0,0 +1,7 @@ +:_mod-docs-content-type: CONCEPT + +[id="remote-execution-reference_{context}"] += Remote execution reference + +[role="_abstract"] +Remote execution in {Project} provides advanced configuration options and extended scheduling capabilities for running jobs on hosts. diff --git a/guides/common/modules/con_tuning-authentication-and-performance.adoc b/guides/common/modules/con_tuning-authentication-and-performance.adoc new file mode 100644 index 00000000000..ca3f83bac6c --- /dev/null +++ b/guides/common/modules/con_tuning-authentication-and-performance.adoc @@ -0,0 +1,8 @@ +:_mod-docs-content-type: CONCEPT + +[id="tuning-authentication-and-performance-for-remote-execution_{context}"] += Tuning authentication and performance for remote execution + +[role="_abstract"] +{Project} supports advanced authentication methods and performance tuning for remote execution. +You can configure Kerberos-based authentication and control job execution rates on {SmartProxies}. diff --git a/guides/common/modules/con_using-extended-cron-lines.adoc b/guides/common/modules/con_using-extended-cron-lines.adoc deleted file mode 100644 index 1e14f3f9d29..00000000000 --- a/guides/common/modules/con_using-extended-cron-lines.adoc +++ /dev/null @@ -1,36 +0,0 @@ -:_mod-docs-content-type: CONCEPT - -[id="using-extended-cron-lines_{context}"] -= Using extended cron lines - -[role="_abstract"] -When scheduling a cron job with remote execution, you can use an extended cron line to specify the cadence of the job. - -The standard cron line contains five fields that specify minute, hour, day of the month, month, and day of the week. -For example, `0 5 * * *` stands for every day at 5 AM. -ifdef::foreman-deb,foreman-el,katello[] -If you want to learn more about the standard cron line, check https://crontab.guru[crontab guru]. -endif::[] - -The extended cron line provides the following features: - -You can use `#` to specify a concrete week day in a month:: -For example: -+ -* `0 0 * * mon#1` specifies first Monday of the month -* `0 0 * * fri#3,fri#4` specifies 3rd and 4th Fridays of the month -* `0 7 * * fri#-1` specifies the last Friday of the month at 07:00 -* `0 7 * * fri#L` also specifies the last Friday of the month at 07:00 -* `0 23 * * mon#2,tue` specifies the 2nd Monday of the month and every Tuesday, at 23:00 - -You can use `%` to specify every n-th day of the month:: -For example: -+ -* `9 0 * * sun%2` specifies every other Sunday at 00:09 -* `0 0 * * sun%2+1` specifies every odd Sunday -* `9 0 * * sun%2,tue%3` specifies every other Sunday and every third Tuesday - -You can use `&` to specify that the day of the month has to match the day of the week:: -For example: -+ -* `0 0 30 * 1&` specifies 30th day of the month, but only if it is Monday diff --git a/guides/common/modules/ref_extended-cron-line-syntax-in-remote-jobs.adoc b/guides/common/modules/ref_extended-cron-line-syntax-in-remote-jobs.adoc new file mode 100644 index 00000000000..dba20e2ccad --- /dev/null +++ b/guides/common/modules/ref_extended-cron-line-syntax-in-remote-jobs.adoc @@ -0,0 +1,37 @@ +:_mod-docs-content-type: REFERENCE + +[id="extended-cron-line-syntax-in-remote-jobs_{context}"] += Extended cron line syntax in remote jobs + +[role="_abstract"] +When scheduling a cron job with remote execution, you can use an extended cron line to specify the cadence of the job. +Extended cron syntax adds patterns on top of the standard five-field cron line when you schedule remote execution jobs. + +The standard cron line has five fields: minute, hour, day of the month, month, and day of the week. +For example, `0 5 * * *` means every day at 5 AM. +ifdef::foreman-deb,foreman-el,katello[] +For more information about the standard cron line, see https://crontab.guru[crontab guru]. +endif::[] + +Extended syntax supports the following patterns: + +`#` to specify a concrete weekday in a month:: +For example: ++ +* `0 0 * * mon#1` specifies first Monday of the month +* `0 0 * * fri#3,fri#4` specifies third and fourth Fridays of the month +* `0 7 * * fri#-1` specifies the last Friday of the month at 07:00 +* `0 7 * * fri#L` also specifies the last Friday of the month at 07:00 +* `0 23 * * mon#2,tue` specifies the second Monday of the month and every Tuesday, at 23:00 + +`%` to specify every n-th day of the month:: +For example: ++ +* `9 0 * * sun%2` specifies every other Sunday at 00:09 +* `0 0 * * sun%2+1` specifies every odd Sunday +* `9 0 * * sun%2,tue%3` specifies every other Sunday and every third Tuesday + +`&` to specify that the day of month must match day of week:: +For example: ++ +* `0 0 30 * 1&` specifies the 30th day of the month, but only if it is Monday