This Chef cookbook will download the latest cPanel installation script and run it on a bootstrap node only if cPanel is already not installed. Please do note that this is an unofficial cPanel cookbook. It was made on my free time to practice my Chef skills. :)
Please review the cPanel software's system requirements at their official docs website listed below. cPanel System Requirements Docs
This cookbook assumes that the node is compliant with cPanel's requirements. You can read these requirements under the "Important" notification box located in their official installation guide. cPanel Installation Guide
Attributes for the /var/cpanel/cpanel.config
file are available. You can set preferred settings for your cPanel/WHM installation.
The cpanel.config File
You can set some of these attributes by creating a wrapper cookbook or updating the default.rb recipe file.
$ cat ~/chef-repo/cookbooks/cpanel/recipes/default.rb
# Cookbook:: cpanel
# Recipe:: default
# Example attribute change.
node.default['cpanel']['access_log'] = '/var/log/cpanel-access.log'
include_recipe 'cpanel::install_cpanel'
include_recipe 'cpanel::configure_cpanel'
To utilize this cookbook you will need to add it to your desired nodes runlist or associate it with a role and assign that role to your node.