The foreman installer assumes network connectivity to all the repositories it relies on - namely, Centos, EPEL, SCL (for rh-ruby25), puppetlabs and of course Foreman.
You will likely need to create a local offline mirror of all of them for the installer to finish properly, or try running an install in a connected environment to see the full list of installed packages that you need to get into the disconnected environment.
That would only download the foreman repo, the installer relies on packages that are in EL base, EPEL, puppetlabs and scl repos.
I’m afraid explaining how to create local repos on a disconnected network is a bit out of the scope of this support forum.
@ekohl is it possible to override the repository file in puppet? I think the user struggle with Puppet overrwriting repo file everytime enforcing our official URL while he/she needs some local mirror or directory.
The installer doesn’t manage the repositories (by default) so this shouldn’t be an issue.
Overall I’d say offline install works, but we do require some knowledge from the admin. The only thing we rely on during installation is yum repositories. That means you can use reposync (part of yum-utils) and set up your repositories. This is nothing Foreman specific so we never documented this. Some users are using a Pulp instance as well but it’s good to note Katello doesn’t support self-hosting.
You need to ensure yum install works. We only support having the entire repositories available, not just single RPMs. It’s up to you to fix this. The easiest solution was reposync and configure yum to point to it.
Thank you everyone. Indeed, I didn’t install “all” the RPM packet. I missed the"tfm" and “rh-ruby25”, etc.
Then I run the foreman-installer -v to check what the script tried to install. But you can also skip this with the interractive mode and disable what you want (for example puppet-server).