Tutorial: Hardware requirements for Foreman deployments

Hello,

unfortunately it’s not easy to plan Foreman deployment as it is very flexible project with many features often coming as plugins. However it is possible to gather some stats about various community deployments to get some rough idea.

Feel free to edit this OP as it’s a wiki page, mark your calendars to return here once per year to update information. When you upgrade, please create a new record in the table so older versions are kept for comparison. Thank you!

Foreman version Plugins in use Number of smart-proxies Managed nodes Foreman DB HW Proxy HW Comments Passenger Tuning PuppetServer Tuning
1.18.2 foreman-tasks foreman_ansible foreman_bootdisk foreman_column_view foreman_dhcp_browser foreman_hooks foreman_memcache foreman_remote_execution foreman_templates 18(puppet masters) 6(TFTP/DHCP) 12(Foreman Only UI) 1(CA) 16,000 16core 64GB RAM ( 3x Dedicated MariadDB 10.2 w/ Galera) 16core 64GB RAM ( 18 PuppetMasters) 15 environments w/ approx 800 classes per environment, 30 min check-in time passenger.conf PassengerMaxInstancesPerApp:24 PassengerStatThrottleRate:120 PassengerMaxRequestQueueSize:250 PassengerMaxPoolSize:24 05-foreman-ssl.conf PassengerMaxRequests:100000 PassengerMaxPreloaderIdleTime:600 PassengerMinInstances:12 PassengerStartTimeout:180 puppetserver.conf max-active-instances:24 max-requests-per-instance:50000 environment-class-cache-enabled:true idle-timeout-milliseconds:500000 connect-timeout-milliseconds:180000