From 78f791842dcd5f86f00c947d1d873e5fff62a78b Mon Sep 17 00:00:00 2001 From: Ian Fowler Date: Wed, 5 Feb 2025 10:19:05 +0000 Subject: [PATCH 1/6] Create chapter on access through a proxy Assembly and first modules Create asciidoc for AAP through proxy. https://issues.redhat.com/browse/AAP-39768 --- .../assembly-aap-through-a-proxy.adoc | 27 ++++++++ downstream/images/extra_variables.png | Bin 0 -> 10862 bytes downstream/images/proxy_architecture.png | Bin 0 -> 35448 bytes .../platform/con-overview-egress-proxy.adoc | 11 ++++ .../modules/platform/con-proxy-backends.adoc | 9 +++ .../proc-proxy-controller-settings.adoc | 60 ++++++++++++++++++ .../ref-supported-cloud-providers.adoc | 14 ++++ .../ref-system-proxy-configuration.adoc | 14 ++++ downstream/titles/automation-mesh/master.adoc | 3 + 9 files changed, 138 insertions(+) create mode 100644 downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc create mode 100644 downstream/images/extra_variables.png create mode 100644 downstream/images/proxy_architecture.png create mode 100644 downstream/modules/platform/con-overview-egress-proxy.adoc create mode 100644 downstream/modules/platform/con-proxy-backends.adoc create mode 100644 downstream/modules/platform/proc-proxy-controller-settings.adoc create mode 100644 downstream/modules/platform/ref-supported-cloud-providers.adoc create mode 100644 downstream/modules/platform/ref-system-proxy-configuration.adoc diff --git a/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc b/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc new file mode 100644 index 0000000000..ab2999cbaf --- /dev/null +++ b/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc @@ -0,0 +1,27 @@ +[id="assembly-aap-through-a-proxy"] + +ifdef::context[:parent-context: {context}] +:context: planning-mesh + += Configure {PlatformNameShort} to use egress proxy + +You can deploy {PlatformNameShort} so that egress from the platform functions properly through proxy servers. + +The procedure prepares infrastructure, installs {PlatformNameShort}, and runs tests on the topology with a proxy on the control plane. + +Several steps are involved: + +* Deploying {PlatformNameShort} either using RPM or containerized installers +* Configuring the {RHEL} host proxy settings to point to a proxy server to which outbound traffic is routed. +* Launch an {PlatformNameShort} job that automates a remote resource either through HTTP/HTTPS or SSH. + +After which the automation traffic routes through the proxy server and completes successfully. + +include::platform/con-overview-egress-proxy.adoc[leveloffset=+1] +include::platform/con-proxy-backends.adoc[leveloffset=+1] +include::platform/ref-system-proxy-configuration.adoc[leveloffset+1] +include::platform/proc-proxy-controller-settings.adoc[leveloffset=+1] +include::ref-supported-cloud-providers.adoc[leveloffset=+1] +include::hub/proc-configure-proxy-remote.adoc[leveloffset+1] + + diff --git a/downstream/images/extra_variables.png b/downstream/images/extra_variables.png new file mode 100644 index 0000000000000000000000000000000000000000..b9be31be227b95fe9ccbf696fa73ebec9a8f59a6 GIT binary patch literal 10862 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 TWOA*F7I95gy$2QdA3pnkL_8iO literal 0 HcmV?d00001 diff --git a/downstream/images/proxy_architecture.png b/downstream/images/proxy_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..c0d1af83193f8818e1d3ba8558a388f5c41185dd GIT binary patch literal 35448 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%0AmTVJ{ATD7(W1DLAJouQE!er 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 A0ssI2 literal 0 HcmV?d00001 diff --git a/downstream/modules/platform/con-overview-egress-proxy.adoc b/downstream/modules/platform/con-overview-egress-proxy.adoc new file mode 100644 index 0000000000..0e0d347414 --- /dev/null +++ b/downstream/modules/platform/con-overview-egress-proxy.adoc @@ -0,0 +1,11 @@ +[id="con-overview-egress-proxy"] + += Overview +The approach uses cloud provider security groups to limit the external outbound traffic of the control nodes. +All the control plane _Virtual Machines_ (VMs) also have system proxy configured which enable the required outbound traffic to flow over the proxy VMs. + +All local traffic within the restricted security group is allowed. + +The following diagram is an overview of the infrastructure architecture: + +image::proxy-architecture.png[Generalized AAP architecture communicating via a proxy with the internet gateway] diff --git a/downstream/modules/platform/con-proxy-backends.adoc b/downstream/modules/platform/con-proxy-backends.adoc new file mode 100644 index 0000000000..a639b4a94d --- /dev/null +++ b/downstream/modules/platform/con-proxy-backends.adoc @@ -0,0 +1,9 @@ +[id="con-proxy-backends"] + += Proxy Backends + +For HTTP and HTTPS proxies you can use a squid server. +Squid is a forward proxy for the Web supporting HTTP, HTTPS, and FTP, reducing bandwidth and improving response times by caching and reusing frequently-requested web pages. +It is licensed under the GNU GPL. +Forward proxies are systems that intercept network traffic going to another network (typically the internet) and send it on the behalf of the internal systems. +The squid proxy enables all required communication to pass through it. diff --git a/downstream/modules/platform/proc-proxy-controller-settings.adoc b/downstream/modules/platform/proc-proxy-controller-settings.adoc new file mode 100644 index 0000000000..b7e480ba12 --- /dev/null +++ b/downstream/modules/platform/proc-proxy-controller-settings.adoc @@ -0,0 +1,60 @@ +[id="proc-proxy-controller-settings"] + += Controller settings + +When using the RPM installer, you must configure {ControllerName} to use outbound proxy. + +[NOTE] +==== +This is not required for containerized installers because podman uses system configured proxy and redirects all the container traffic to the proxy. For automation controller you must set the `AWX_TASK_ENV` variable in `/api/v2/settings/`. +==== + +To do this through the UI use the following procedure: + +.Procedure + +. From the navigation pane, select {MenuSetJob}. +. Click Edit. +. Add the variables to the Extra Environment Variables field ++ +image::extra_variables.png[extra variables field] ++ +set: +---- +"AWX_TASK_ENV": { +"http_proxy": "http://external-proxy_0:3128", +"https_proxy": "http://external-proxy_0:3128", +"no_proxy": "localhost,127.0.0.0/8" + } +---- +The control plane must open all outbound ports to the proxy. + +The {PlatformNameShort} specific ports are as follows: +---- +acl Safe_ports port 81 +acl Safe_ports port 82 +acl Safe_ports port 389 +acl Safe_ports port 444 +acl Safe_ports port 445 +acl SSL_ports port 22 +---- +The following ports are for containerized installations: +---- +acl SSL_ports port 444 +acl SSL_ports port 445 +acl SSL_ports port 8443 +acl SSL_ports port 8444 +acl SSL_ports port 8445 +acl SSL_ports port 8446 +acl SSL_ports port 44321 +acl SSL_ports port 44322 + +http_access deny !Safe_ports +http_access deny CONNECT !SSL_ports +---- +Set the following environment variables on all nodes (ideally in the `/etc/environment` file): +---- +http_proxy=“http://proxy_host:proxy_port” +https_proxy=“http://proxy_host:proxy_port” +no_proxy=“localhost,127.0.0.0/8,10.0.0.0/8” +---- diff --git a/downstream/modules/platform/ref-supported-cloud-providers.adoc b/downstream/modules/platform/ref-supported-cloud-providers.adoc new file mode 100644 index 0000000000..bcf7266036 --- /dev/null +++ b/downstream/modules/platform/ref-supported-cloud-providers.adoc @@ -0,0 +1,14 @@ +[id="ref-supported-cloud-providers"] + += Supported cloud providers + +To support proxy testing the cloud provider must have: + +* A concept of security groups to limit traffic for the nodes within the same subnet. +* All the static security groups configured + +At present the following cloud provider is supported to run proxy test scenarios: + +* AWS (ec2) + +Proxy settings must be configured for each {PlatformNameShort} component. diff --git a/downstream/modules/platform/ref-system-proxy-configuration.adoc b/downstream/modules/platform/ref-system-proxy-configuration.adoc new file mode 100644 index 0000000000..9d0059450e --- /dev/null +++ b/downstream/modules/platform/ref-system-proxy-configuration.adoc @@ -0,0 +1,14 @@ +[id="ref-system-proxy-configuration"] + += System proxy configuration + +The outbound proxy is configured on the system level for all the nodes in the restricted security group. + +The following environment variables must be set: +---- +http_proxy=“http://{{ groups[‘external_proxy’][0] }}:3128” +https_proxy=“http://{{ groups[‘external_proxy’][0] }}:3128” +no_proxy=“localhost,127.0.0.0/8,10.0.0.0/8” +---- + +The installer ensures that all external communication during the installation goes through the proxy. diff --git a/downstream/titles/automation-mesh/master.adoc b/downstream/titles/automation-mesh/master.adoc index b037bc6122..ced843a325 100644 --- a/downstream/titles/automation-mesh/master.adoc +++ b/downstream/titles/automation-mesh/master.adoc @@ -26,3 +26,6 @@ include::platform/assembly-setting-up-automation-mesh.adoc[leveloffset=+1] include::platform/assembly-mesh-design-patterns.adoc[leveloffset=+1] include::platform/assembly-deprovisioning-mesh.adoc[leveloffset=+1] + +include::platform/assembly-aap-through-a-proxy.adoc[leveloffset=+1] + From a5172784776ade141b54ccb2a20dd25937e8e58f Mon Sep 17 00:00:00 2001 From: Ian Fowler Date: Wed, 5 Feb 2025 12:57:05 +0000 Subject: [PATCH 2/6] Create chapter on access through a proxy Corrections Create asciidoc for AAP through proxy. https://issues.redhat.com/browse/AAP-39768 --- .../assemblies/platform/assembly-aap-through-a-proxy.adoc | 6 +++--- downstream/modules/hub/proc-configure-proxy-remote.adoc | 7 ++++++- downstream/modules/platform/con-overview-egress-proxy.adoc | 2 +- .../modules/platform/proc-proxy-controller-settings.adoc | 2 +- downstream/titles/hub/managing-content/master.adoc | 1 + 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc b/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc index ab2999cbaf..3a313d09c1 100644 --- a/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc +++ b/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc @@ -19,9 +19,9 @@ After which the automation traffic routes through the proxy server and completes include::platform/con-overview-egress-proxy.adoc[leveloffset=+1] include::platform/con-proxy-backends.adoc[leveloffset=+1] -include::platform/ref-system-proxy-configuration.adoc[leveloffset+1] +include::platform/ref-system-proxy-configuration.adoc[leveloffset=+1] +include::platform/ref-supported-cloud-providers.adoc[leveloffset=+1] include::platform/proc-proxy-controller-settings.adoc[leveloffset=+1] -include::ref-supported-cloud-providers.adoc[leveloffset=+1] -include::hub/proc-configure-proxy-remote.adoc[leveloffset+1] +include::hub/hub/proc-configure-proxy-remote.adoc[leveloffset=+1] diff --git a/downstream/modules/hub/proc-configure-proxy-remote.adoc b/downstream/modules/hub/proc-configure-proxy-remote.adoc index 74313edbbb..0f57908d06 100644 --- a/downstream/modules/hub/proc-configure-proxy-remote.adoc +++ b/downstream/modules/hub/proc-configure-proxy-remote.adoc @@ -3,8 +3,13 @@ :_mod-docs-content-type: PROCEDURE [id="configure-proxy-remote_{context}"] +ifdef::manage-hub[] = Configuring proxy settings - +endif::[] +ifndef::manage-hub[] += Configuring proxy settings on {HubName} +endif::[] +b [role="_abstract"] If your {PrivateHubName} is behind a network proxy, you can configure proxy settings on the remote to sync content located outside of your local network. diff --git a/downstream/modules/platform/con-overview-egress-proxy.adoc b/downstream/modules/platform/con-overview-egress-proxy.adoc index 0e0d347414..909573b8fc 100644 --- a/downstream/modules/platform/con-overview-egress-proxy.adoc +++ b/downstream/modules/platform/con-overview-egress-proxy.adoc @@ -8,4 +8,4 @@ All local traffic within the restricted security group is allowed. The following diagram is an overview of the infrastructure architecture: -image::proxy-architecture.png[Generalized AAP architecture communicating via a proxy with the internet gateway] +image:proxy_architecture.png[Generalized AAP architecture communicating via a proxy with the internet gateway] diff --git a/downstream/modules/platform/proc-proxy-controller-settings.adoc b/downstream/modules/platform/proc-proxy-controller-settings.adoc index b7e480ba12..2bcac63da9 100644 --- a/downstream/modules/platform/proc-proxy-controller-settings.adoc +++ b/downstream/modules/platform/proc-proxy-controller-settings.adoc @@ -17,7 +17,7 @@ To do this through the UI use the following procedure: . Click Edit. . Add the variables to the Extra Environment Variables field + -image::extra_variables.png[extra variables field] +image:extra_variables.png[extra variables field] + set: ---- diff --git a/downstream/titles/hub/managing-content/master.adoc b/downstream/titles/hub/managing-content/master.adoc index ccc26c42c3..f118240b39 100644 --- a/downstream/titles/hub/managing-content/master.adoc +++ b/downstream/titles/hub/managing-content/master.adoc @@ -2,6 +2,7 @@ :numbered: :toclevels: 1 :experimental: +:manage-hub: include::attributes/attributes.adoc[] = Managing automation content From d35fe4858c379945e4daa1f219bf0ce947db2ab3 Mon Sep 17 00:00:00 2001 From: Ian Fowler Date: Wed, 5 Feb 2025 13:00:38 +0000 Subject: [PATCH 3/6] Create chapter on access through proxy Correction Create asciidoc for AAP through proxy. https://issues.redhat.com/browse/AAP-39768 --- downstream/modules/hub/proc-configure-proxy-remote.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/downstream/modules/hub/proc-configure-proxy-remote.adoc b/downstream/modules/hub/proc-configure-proxy-remote.adoc index 0f57908d06..fbb982fef0 100644 --- a/downstream/modules/hub/proc-configure-proxy-remote.adoc +++ b/downstream/modules/hub/proc-configure-proxy-remote.adoc @@ -9,7 +9,7 @@ endif::[] ifndef::manage-hub[] = Configuring proxy settings on {HubName} endif::[] -b + [role="_abstract"] If your {PrivateHubName} is behind a network proxy, you can configure proxy settings on the remote to sync content located outside of your local network. From e581b839233013c2e993b184fc26bff46cfec3ca Mon Sep 17 00:00:00 2001 From: Ian Fowler Date: Wed, 5 Feb 2025 13:55:27 +0000 Subject: [PATCH 4/6] Create chapter on access through a proxy Additional modules Create asciidoc for AAP through proxy. https://issues.redhat.com/browse/AAP-39768 --- .../assembly-aap-through-a-proxy.adoc | 4 +++- downstream/images/eda_proxy_field.png | Bin 0 -> 54173 bytes .../platform/proc-eda-proxy-settings.adoc | 12 +++++++++++ .../ref-automation-mesh-settings.adoc | 20 ++++++++++++++++++ .../ref-environment-proxy-settings.adoc | 11 ++++++++++ 5 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 downstream/images/eda_proxy_field.png create mode 100644 downstream/modules/platform/proc-eda-proxy-settings.adoc create mode 100644 downstream/modules/platform/ref-automation-mesh-settings.adoc create mode 100644 downstream/modules/platform/ref-environment-proxy-settings.adoc diff --git a/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc b/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc index 3a313d09c1..e7fc964d75 100644 --- a/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc +++ b/downstream/assemblies/platform/assembly-aap-through-a-proxy.adoc @@ -23,5 +23,7 @@ include::platform/ref-system-proxy-configuration.adoc[leveloffset=+1] include::platform/ref-supported-cloud-providers.adoc[leveloffset=+1] include::platform/proc-proxy-controller-settings.adoc[leveloffset=+1] include::hub/hub/proc-configure-proxy-remote.adoc[leveloffset=+1] - +include::platform/proc-eda-proxy-settings.adoc[leveloffset=+1] +include::platform/ref-automation-mesh-settings.adoc[leveloffset=+1] +include::platform/ref-environment-proxy-settings.adoc[leveloffset=+2] diff --git a/downstream/images/eda_proxy_field.png b/downstream/images/eda_proxy_field.png new file mode 100644 index 0000000000000000000000000000000000000000..1da547489a523899ab16cb415ca97fd8b71006cf GIT binary patch literal 54173 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 literal 0 HcmV?d00001 diff --git a/downstream/modules/platform/proc-eda-proxy-settings.adoc b/downstream/modules/platform/proc-eda-proxy-settings.adoc new file mode 100644 index 0000000000..a4bb00678e --- /dev/null +++ b/downstream/modules/platform/proc-eda-proxy-settings.adoc @@ -0,0 +1,12 @@ +[id="proc-eda-proxy-settings"] + += {EDAName} settings +For {EDAName}, there are no global settings to set a proxy. +You must specify the proxy for every project. + +.Procedure +. From the navigation panel, select {MenuADProjects}. +. Click *Create project* +. Use the Proxy field. ++ +image:eda-proxy-field.png[EDA create project page] diff --git a/downstream/modules/platform/ref-automation-mesh-settings.adoc b/downstream/modules/platform/ref-automation-mesh-settings.adoc new file mode 100644 index 0000000000..60603d95ae --- /dev/null +++ b/downstream/modules/platform/ref-automation-mesh-settings.adoc @@ -0,0 +1,20 @@ +[id="ref-automation-mesh-settings"] + += Automation mesh settings + +You can route outbound communication from the receptor on an automation mesh node through a proxy server. +If your proxy does not strip out TLS certificates then an installation of {PlatformName} automatically supports the use of a proxy server. + +Every node on the mesh must have a Certifying Authority that the installer creates on your behalf. + +The default install location for the Certifying Authority is: + +`/etc/receptor/tls/ca/mesh-CA.crt` + +The certificates and keys created on your behalf use the nodeID for their names: + +For the certificate: +`/etc/receptor/tls/NODEID.crt` + +For the key: +`/etc/receptor/tls/NODEID.key' diff --git a/downstream/modules/platform/ref-environment-proxy-settings.adoc b/downstream/modules/platform/ref-environment-proxy-settings.adoc new file mode 100644 index 0000000000..b34fb9b1ec --- /dev/null +++ b/downstream/modules/platform/ref-environment-proxy-settings.adoc @@ -0,0 +1,11 @@ +[id="ref-environment-proxy-settings"] + += Environment proxy settings for an individual inventory sync that uses the AWS inventory plugin +Manually edit `/usr/lib/systemd/system/receptor.service.d/override.conf` and add the following `http_proxy` environment variables there: + +---- +http_proxy +https_proxy +proxy_username +proxy_password +---- From 0563bd2f53b4b7c29236d3d23bdcd6abfae71dd3 Mon Sep 17 00:00:00 2001 From: Ian Fowler Date: Wed, 5 Feb 2025 15:08:48 +0000 Subject: [PATCH 5/6] Create chapter on access through proxy Correct image name Create asciidoc for AAP through proxy. https://issues.redhat.com/browse/AAP-39768 --- downstream/modules/platform/proc-eda-proxy-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/downstream/modules/platform/proc-eda-proxy-settings.adoc b/downstream/modules/platform/proc-eda-proxy-settings.adoc index a4bb00678e..139f73ef9d 100644 --- a/downstream/modules/platform/proc-eda-proxy-settings.adoc +++ b/downstream/modules/platform/proc-eda-proxy-settings.adoc @@ -9,4 +9,4 @@ You must specify the proxy for every project. . Click *Create project* . Use the Proxy field. + -image:eda-proxy-field.png[EDA create project page] +image:eda_proxy_field.png[EDA create project page] From 8e609f6803047ac62e6de5a72cf5452c13580966 Mon Sep 17 00:00:00 2001 From: Ian Fowler Date: Fri, 7 Feb 2025 10:33:24 +0000 Subject: [PATCH 6/6] Create chapter on access through a proxy Minor change Create asciidoc for AAP through proxy. https://issues.redhat.com/browse/AAP-39768 --- downstream/modules/platform/proc-proxy-controller-settings.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/downstream/modules/platform/proc-proxy-controller-settings.adoc b/downstream/modules/platform/proc-proxy-controller-settings.adoc index 2bcac63da9..1812961237 100644 --- a/downstream/modules/platform/proc-proxy-controller-settings.adoc +++ b/downstream/modules/platform/proc-proxy-controller-settings.adoc @@ -2,7 +2,7 @@ = Controller settings -When using the RPM installer, you must configure {ControllerName} to use outbound proxy. +After using the RPM installer, you must configure {ControllerName} to use outbound proxy. [NOTE] ====