-
Notifications
You must be signed in to change notification settings - Fork 110
Document how to setup external OpenVox server for Smart Proxy #4610
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
maximiliankolb
wants to merge
3
commits into
theforeman:master
Choose a base branch
from
ATIX-AG:external_puppet_server
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
3 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
19 changes: 19 additions & 0 deletions
19
guides/common/modules/con_using-external-openvox-servers.adoc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| :_mod-docs-content-type: CONCEPT | ||
|
|
||
| [id="using-external-openvox-servers"] | ||
| = Using external OpenVox servers | ||
|
|
||
| [role="_abstract"] | ||
| {Project} supports using external OpenVox servers that send reports and facts to {ProjectServer} through {SmartProxies}. | ||
| To forward port {smartproxy_port} from {SmartProxies} to port 443 on {ProjectServer}, you must enable the Request Forwarder plugin on your {SmartProxyServers}. | ||
|
|
||
| [IMPORTANT] | ||
| ==== | ||
| Hosts will only send reports and facts to {Project}. | ||
| You cannot override the Puppet classes, Puppet environment, and Puppet smart class parameters of your hosts. | ||
|
|
||
| If you provision hosts through {Project}, you cannot directly attach them to your external OpenVox server. | ||
| Leave the Puppet Proxy and Puppet CA Proxy empty during host provisioning. | ||
|
|
||
| Instead, use the certificates of your existing OpenVox infrastructure. | ||
| ==== |
95 changes: 95 additions & 0 deletions
95
guides/common/modules/proc_attaching-smart-proxy-to-external-openvox-server.adoc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,95 @@ | ||
| :_mod-docs-content-type: PROCEDURE | ||
|
|
||
| [id="attaching-{smart-proxy-context}-to-external-openvox-server"] | ||
| = Attaching {SmartProxy} to external OpenVox server | ||
|
|
||
| [role="_abstract"] | ||
| You can attach an external OpenVox server to {SmartProxies}. | ||
|
|
||
| .Prerequisites | ||
| * You have enabled the Puppet plugin on your {ProjectServer}. | ||
| For more information, see xref:enabling-puppet-integration-with-{project-context}[]. | ||
| * You have enabled the Request Forwarder plugin on your {ProjectServer}. | ||
| For more information, see xref:installing-the-request-forwarder-plugin[]. | ||
|
|
||
| .Procedure | ||
| . In the {ProjectWebUI}, navigate to *Administer* > *Settings*. | ||
| . On the *Authentication* tab, locate the *Trusted hosts* setting and add the FQDN of your OpenVox server to the list. | ||
| . On your {SmartProxyServer}, extend the list of trusted hosts with your OpenVox server in `/etc/foreman-installer/scenarios.d/foreman-proxy-content-answers.yaml`: | ||
| + | ||
| [source, yaml, options="nowrap", subs="+quotes,verbatim,attributes"] | ||
| ---- | ||
| foreman_proxy: | ||
| trusted_hosts: | ||
| - _My_{Project}_Server_FQDN_ | ||
| - _My_{SmartProxy}_Server_FQDN_ | ||
| - _My_OpenVox_Server_FQDN_ | ||
| ---- | ||
| . Install OpenVox or Puppet server. | ||
| + | ||
| For more information, see https://voxpupuli.org/openvox/install/[Installing OpenVox]. | ||
| . On your {ProjectServer}, create certificates for your OpenVox server: | ||
| ** If you use self-signed certificates: | ||
| + | ||
| [options="nowrap", subs="+quotes,verbatim,attributes"] | ||
| ---- | ||
| # {certs-generate} \ | ||
| --certs-tar _My_Certificates_Archive_ \ | ||
| --foreman-proxy-fqdn _My_OpenVox_Server_FQDN_ \ | ||
| --node-fqdn _My_OpenVox_Server_FQDN_ | ||
| ---- | ||
| ** If you use custom certificates: | ||
| + | ||
| [options="nowrap", subs="+quotes,verbatim,attributes"] | ||
| ---- | ||
| # {certs-generate} \ | ||
| --certs-tar _My_Certificates_Archive_ \ | ||
| --foreman-proxy-fqdn _My_OpenVox_Server_FQDN_ \ | ||
| --node-fqdn _My_OpenVox_Server_FQDN_ \ | ||
| --server-ca-cert _My_CA_Cert_ \ | ||
| --server-cert _My_Cert_ \ | ||
| --server-key _My_Key_ | ||
| ---- | ||
| . From your {ProjectServer}, transfer the certificates to your OpenVox server: | ||
| + | ||
| [options="nowrap", subs="+quotes,verbatim,attributes"] | ||
| ---- | ||
| # scp /root/_My_Certificates_Archive_ root@openvox.example.com:/root/ | ||
| ---- | ||
| . On your OpenVox server, extract the certificates: | ||
| + | ||
| ---- | ||
| # tar xf /root/_My_Certificates_Archive_ | ||
| ---- | ||
| . On your OpenVox server, configure the connection to your {Project} in `/etc/puppetlabs/puppet/foreman.yaml`: | ||
| + | ||
| [source, yaml, options="nowrap", subs="+quotes,verbatim,attributes"] | ||
| ---- | ||
| :url: "https://{smartproxy-example-com}:{smartproxy_port}" | ||
| :ssl_ca: "/path/to/katello-server-ca.crt" | ||
| :ssl_cert: "/path/to/puppet-client.crt" | ||
| :ssl_key: "/path/puto/puppet-client.key" | ||
|
|
||
| :puppetdir: "/opt/puppetlabs/server/data/puppetserver" | ||
| :puppetuser: "puppet" | ||
| :facts: true | ||
| :timeout: 10 | ||
| :threads: null | ||
| ---- | ||
| . From your {ProjectServer}, copy the `report.rb` script to your OpenVox server: | ||
| + | ||
| ---- | ||
| # scp /usr/share/foreman-installer/modules/puppetserver_foreman/files/report.rb root@openvox.example.com:/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/reports/foreman.rb | ||
| ---- | ||
| . Configure your OpenVox server to upload reports: | ||
| + | ||
| [options="nowrap", subs="+quotes,verbatim,attributes"] | ||
| ---- | ||
| # puppet config set --section main reports "foreman" | ||
| ---- | ||
| . Restart your OpenVox server: | ||
| + | ||
| [options="nowrap", subs="+quotes,verbatim,attributes"] | ||
| ---- | ||
| # systemctl restart puppetserver.service | ||
| ---- |
49 changes: 49 additions & 0 deletions
49
guides/common/modules/proc_installing-the-request-forwarder-plugin.adoc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| :_mod-docs-content-type: PROCEDURE | ||
|
|
||
| [id="installing-the-request-forwarder-plugin"] | ||
| = Installing the Request Forwarder plugin | ||
|
|
||
| [role="_abstract"] | ||
| If you use port 8443 on {SmartProxyServer} to upload Puppet reports and host facts from hosts to {ProjectServer}, install the Request Forwarder plugin on your {SmartProxyServer}. | ||
| Afterwards, configure your OpenVox server to use the new API endpoint of your {SmartProxyServers}. | ||
|
|
||
| .Procedure | ||
| . Install the plugin on your {SmartProxyServer}: | ||
| + | ||
| [options="nowrap", subs="verbatim,quotes,attributes"] | ||
| ---- | ||
| # {project-package-install} rubygem-smart_proxy_request_forwarder | ||
| ---- | ||
| . Enable the plugin: | ||
| + | ||
| [options="nowrap", subs="verbatim,quotes,attributes"] | ||
| ---- | ||
| # cat > /etc/foreman-proxy/settings.d/request_forwarder.yml << EOF | ||
| --- | ||
| :enabled: https | ||
| EOF | ||
| ---- | ||
| . Configure your {SmartProxyServer}: | ||
| + | ||
| [options="nowrap", subs="verbatim,quotes,attributes"] | ||
| ---- | ||
| # {foreman-installer} | ||
| ---- | ||
| . Restart {Project} services: | ||
| + | ||
| [options="nowrap", subs="verbatim,quotes,attributes"] | ||
| ---- | ||
| # {foreman-maintain} service restart --only foreman-proxy | ||
| ---- | ||
| . On your OpenVox server, replace the URL in `/etc/puppetlabs/puppet/foreman.yaml`: | ||
| + | ||
| [source, yaml, options="nowrap", subs="verbatim,quotes,attributes"] | ||
| ---- | ||
| :url: "https://{smartproxy-example-com}:{smartproxy_port}/" | ||
| ---- | ||
| . Restart the OpenVox service: | ||
| + | ||
| [options="nowrap", subs="verbatim,quotes,attributes"] | ||
| ---- | ||
| # systemctl restart puppetserver | ||
| ---- |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMHO we should never document manual steps to install Smart Proxy plugins and config files outside of the installer, which is why I'm tempted to hide all these steps in the
katellobuild.