I am trying to setup Foreman to interface with my Puppet Master and Ansible installation. Do I need to have this on the same server or can it be by itself and make API/port calls? I am new to this so I don't know.
The Foreman comes with a Puppet Master whether you like it or not since The Foreman uses puppet as part of it's installer. This can't be disabled and The Forman will leave it behind and running - so you might as well use what is deployed anyway and make the Puppet Master and your Foreman server one in the same. You can keep your Ansible installation elsewhere, however The Forman integrates with Ansible and has Ansible callbacks so it might make sense to keep your configuration management stack all in one place.
On the other hand, The Forman can be a big install with lots of moving parts that seem to get gummed up from time to time, so you might be better off putting together an Ansible playbook to redeploy your Foreman stack since Ansible can also manage your Forman resources - so this would be a good argument to keep the Ansible bits seperated.