Is it possible to deploy foreman+katello and candlepin+pulp separately in developement env?

Hi,every collegues in the foreman community! I am a ruby on rails developer.Not long ago, I was learning about centos system knowledge and related software warehouse knowledge, I was fortunate enough to learn about foreman, a professional and standardized project. But because of my weak ability, it’s so hard for me to build the whole foreman insfrastructure(include katello candlepin pulp). So i was wondering “Is it possible to deploy foreman+katello and candlepin+pulp separately?”, thus i can do my ruby on rails work like the normal rails project, and leave candlepin and pulp to other people who are more familiar with it.

1 Like

do you mean whether it is possible to run Foreman+Katello from source (git checkout or similar), while using Pulp and Candlepin as packages (the ones we use for production deploys)?

1 Like

Yes,run foreman+katello from source(just like the normal rails project),while the pulp,qpid,candlepin etc are invoked as remote services.

Yeah, this is totally possible and actually exactly what most developers do, as they don’t wan’t/need all services to run from source.

Probably the easiest way to achieve that is to use forklift which is our wrapper around Vagrant+Ansible, and it can spin up development vms just like you describe them. It’s still a VM, not directly on your machine, but that allows us to deploy the other services (pulp, candlepin, etc) just like we need them without worrying about your local system.

1 Like

Thanks for reply~ :grinning:
But, it dosen’t seems to resolve my doubt after i tried forklift. Here are two questions what i face:

  1. Forklift(based on vagrant + ansible + libvirt/virtualbox ) is still use the foreman-installer and it installed the whole foreman+katello environment in vm. It can’t run work finely on my computer(8G Memory MBP)
  2. The whole environment are installed in the vm,so when i want to development on it(such as make somg code work on foreman/katello), i still must go into the vm.
    Or, Do you mean that forklift can install only things other services(pulp,candlepin,etc) in vm?For example, deploy the others services in remote machine use forklift,and deploy foreman+katello in my local machine, and then i changed some remote url in foreman/katello? :face_with_raised_eyebrow:

Ah, yeah. 8G is tough for a Katello setup, that’s true. So you’d need to run Pulp and Candlepin on a remote machine, but I am afraid we don’t have a recipe for that (and I am almost sure Katello does a few assumptions that it’s running on the same system).

I think most developers use SSHFS to mount the development checkout between the VM and the real system, so that the services all run inside the VM, but they can use their local IDE and stuff.

Sorry not to have too great answers for you :frowning:

Never mind~. I will continue my study on this :thinking:

This won’t help you with candlepin, but it is possible to point a dev setup at a 2nd pulp server (in this case its spun up with pulp_installer to get the latest 3.15 build):
https://projects.theforeman.org/projects/katello/wiki/Pulp_3_Integration#Using-a-2nd-server-as-a-pulp-server-for-use-in-development