puppetlabs / bolt

Bolt is an open source orchestration tool that automates the manual work it takes to maintain your infrastructure on an as-needed basis or as part of a greater orchestration workflow. It can be installed on your local workstation and connects directly to remote nodes with SSH or WinRM, so you are not required to install any agent software.
https://puppet.com/docs/bolt/latest/bolt.html
Apache License 2.0
496 stars 224 forks source link

Allow usage of PE installer source when using puppet_agent::install #3346

Open tuxmea opened 6 days ago

tuxmea commented 6 days ago

Use Case

A PE Customer runs an air-gapped environment and want to make use of bolt apply. Bolt apply uses puppet_agent::install to install the agent. Default is to install from public source (apt, vum.puppetlabs.com).

One can run the puppet_agent::install task providing the PE yum, apt and msi source. But the customer prefers to make use of the PE installer script.

Describe the Solution You Would Like

Bolt should be able to identify the target OS and use the appropriate PE installer source.

Describe Alternatives You've Considered

Finding os and the proper PE package paths is time consuming.

donoghuc commented 6 days ago

I'm not quite following the use case here. So in this case they want to use bolt on targets that want to get packages from PE, but are not actually managed by PE? Apply is careful to not attempt an install if puppet library code is detected. I'm not sure what we can detect on an un-managed target to determine if it is associated in any way with a particular PE instance. Maybe I am misunderstanding the use case though?

tuxmea commented 5 days ago

I already thought about adding a parameter to puppet_agent::install task, which will point to the pe server. This would still mean that one must run the task individually, but will allow using existing pe installer source instead of creating a local mirror of Puppet repos.