Correct way to manage foreman itself post-install?

I’ve freshly installed Foreman 3.1 using foreman-installer on RHEL 8 and I’ve been going through the documentation since. There’s lot of places where it’s mentioned that you need a particular plugin, or you need to edit a yaml file etc.

I’ve got some basic level questions regarding doing so:

  1. What’s the right way to add/remove plugins after initial installation?
  2. Many (most?) of these yaml files include a comment at the top that they are managed via puppet. From what I understand, foreman-installer does it’s work via puppet. I don’t see that these files are managed by the puppet server set-up during installation. Is it safe to edit these files directly? What’s the correct way to do this, if not by a direct edit? If I re-run foreman-installer (as I’m guessing is the way to install extra stuff) will it stomp on these local changes?

Apologies in advance if I have missed some documentation that answers these questions.

For some context, I am working with a temporary installation (once I’m done learning/evaluating I’d build a new deployment of foreman for actual use. We also plan on having a very simple environment - one foreman server able to talk with devices directly (no need for additional smart proxies etc). Further context: I’m looking to replace a home-grown deployment system that uses a one-shot ansible playbook to configure tftpd, dhcpd, and template kickstart and pxelinux files. Our needs are minimal - we just don’t want to maintain that playbook anymore. Ideally we just need something to drive dhcpd and kickstart such that a new server is ready for a manually run ansible playbook to take it further. Anything more than that is either a bonus or isn’t really wanted.

(if the answer with that context is “use X instead of foreman” I’ll be happy to hear that, too!)

1 Like

Hello and welcome!

I think this guide will have everything that you’re looking for Provisioning Guide
A bit here too: Configuring Foreman to use Ansible if you want to execute playbooks for remote jobs.
It has instructions for how you enable anything you need post-installation.

Thanks, that is helpful. Still looking for feedback on #2 though re: manually editing stuff :slight_smile:

By design, you should not edit files created by the foreman-installer manually, and it will stomp out any changes with the next run. Instead foreman-installer offers about a gazillion parameters that you can supply it with, which are passed on to the puppet to amend the behavior. Parameters can be passed via command line argument when the foreman installer is called, or else they can be placed in “answers.yaml” config files before invoking the installer (though I can’t recall the exact location of the config file just now).

1 Like