https://www.puppet.com/community logo
Join Slack
Powered by
# puppet-enterprise
  • g

    Goran Brannstrom

    11/26/2025, 3:19 PM
    We are trying to set up a new Puppet 2025.6 server and trying to automate the setting-up somehow. An AI agent suggested that this would be the "preferred way" to implement this:
    Copy code
    class role::pe_primary_master {
      include profile::base_config
      include puppet_enterprise::profile::master
      include puppet_enterprise::profile::console
      # ... other infrastructure classes ...
    }
    Would this be a good way to automate this, or a crazy AI agent's dream of doing it?
    nope2 1
  • b

    bastelfreak

    11/26/2025, 3:22 PM
    that is horrible and totally wrong
  • b

    bastelfreak

    11/26/2025, 3:22 PM
    Do you want to add an additional compiler to an existing installation?
  • a

    Adrian Parreiras Horta

    11/26/2025, 5:11 PM
    There are already multiple way to automate PE installs, like
    peadm
    . There's also PIM, which I don't much about https://github.com/puppetlabs/puppetlabs-peadm https://help.puppet.com/pe/2023.8/topics/install-pe-cli-pim.htm
  • j

    Jason St-Cyr

    11/26/2025, 5:18 PM
    Definitely go peadm over PIM for automating installation. I believe there are efforts to move more automation towards the peadm way of doing things.
  • c

    csharpsteen

    11/26/2025, 5:54 PM
    include puppet_enterprise::...
    is definitely incorrect. Those classes must be assigned through the classification config set up by the PE installer.
  • g

    Goran Brannstrom

    11/27/2025, 7:12 AM
    Would peadm be able to help us set up a new server with most of the PE Infrastructure, PE Patch management, Code manager and LDAP setup from an existing server?
  • b

    bastelfreak

    11/27/2025, 7:17 AM
    Yes
  • g

    Goran Brannstrom

    11/27/2025, 8:18 AM
    I don't see any documentation to support that... It seems to mostly provision bare-bones servers of certain roles, not any custom setup.
  • b

    bastelfreak

    11/27/2025, 8:21 AM
    the complexity depends on how you configured your existing setup
  • b

    bastelfreak

    11/27/2025, 8:21 AM
    I assume with "new server" you mean a new primary
  • b

    bastelfreak

    11/27/2025, 8:22 AM
    when all your settings are managed via puppet itself, it's very easy
  • g

    Goran Brannstrom

    11/27/2025, 9:05 AM
    Ah, I'll explain: When we "upgrade" to a new major version we usualy set up a new server (single-server setup) because an in-place upgrade feels really daunting. However, migrating all the stuff currently defined in node groups (PE Infrastructure, PE Patch Mgm) is a lot of work. And then there's a number of server settings that we customize too. Just installing the server is a breeze for a single-server. It's how we can set up what is currently implemented in Node groups under (PE Infrastructure, PE Patch Mgm) that is the most amount of work, followed by all the server settings. So we are looking to simplify this somehow, but are currently confused about the way forward... What is the modern, preferred way to do this in at least semi-auomated way if an in-place upgrade feels scary? What would be the best tools to use? Should we abandon most of the GUI setup and go hiera all the way? If so how? 🤷
  • b

    bastelfreak

    11/27/2025, 9:10 AM
    yes abandon node groups as good as possible and rely on Hiera.
  • b

    bastelfreak

    11/27/2025, 9:11 AM
    It's also possible to manage node groups via Puppet, and you can export and import node groups
  • g

    Goran Brannstrom

    11/27/2025, 9:27 AM
    Yes, that's the gospel I hear everywhere. But we are kind of stuck on...how? Is there any good documentation on how to setup a modern "hiera-based" PE server? Can all the settings under PE Infrastructure, PE Patch Mgm be defined in hiera also? What would be the best module to handle those hiera settings? We are clueless right now. 🙂
  • b

    bastelfreak

    11/27/2025, 9:28 AM
    in the easiest form, hiera is just a collection of yaml files
  • b

    bastelfreak

    11/27/2025, 9:28 AM
    which settings did you configure under the PE Infrastructure group?
  • b

    bastelfreak

    11/27/2025, 9:28 AM
    they can usually be copied 1:1 to Hiera
  • b

    bastelfreak

    11/27/2025, 9:29 AM
    If you want a UI for Hiera / see which nodes get which dataset from where, you can use https://github.com/betadots/hdm
  • g

    Goran Brannstrom

    11/27/2025, 9:37 AM
    Under PE Master we define the agent to provide to nodes of various distros and versions.
  • b

    bastelfreak

    11/27/2025, 10:10 AM
    if you provide the exact data, we can tell you how to put that into Hiera
  • g

    Goran Brannstrom

    11/27/2025, 11:05 AM
    I'm looking for some documentation on how to confiure Puppet itself with hiera, but in the entire documentation all I could find, with one example only was: https://help.puppet.com/pe/2025.6/topics/configure_settings_with_hiera.htm Is there nothing more on this? Feels more like "if you use hiera, you're on your own".
  • b

    bastelfreak

    11/27/2025, 11:06 AM
    you throw your class parameters 1:1 into Hiera
  • g

    Goran Brannstrom

    11/27/2025, 11:10 AM
    So, as an example, how would i know the syntax to convert this into hiera settings e.g: puppet config set --section main runinterval 90m" puppet config set --section main splay true"
  • b

    bastelfreak

    11/27/2025, 11:10 AM
    I doubt that's what you have in your node group
  • b

    bastelfreak

    11/27/2025, 11:12 AM
    The recommended module to configure your agents within PE is puppetlabs/puppet_agent. If you use the module via node manager, you can copy the data directly into Hiera
  • k

    kenyon

    11/27/2025, 7:40 PM
    you really should just do in-place upgrades, they are very simple and easy for single-server setups. you just run one command.
  • a

    Adrian Parreiras Horta

    11/27/2025, 7:58 PM
    You could export and import your classifier data into the new primary, but I would also agree with just upgrading in-place https://portal.perforce.com/s/article/115004588928
  • v

    vchepkov

    11/27/2025, 8:16 PM
    We only upgraded LTS versions. You leave too much baggage in place with new postgres, java, ruby and so on. Also way easier to go back if something goes wrong