def self.configure_bootstrap_puppetserver
info('Configuring the puppetserver to listen on port 8150', 'cyan')
begin
puppetserver_dir = '/etc/puppetlabs/puppetserver/conf.d'
if File.directory?(puppetserver_dir)
conf_files = ["#{puppetserver_dir}/webserver.conf",
"#{puppetserver_dir}/web-routes.conf",
'/etc/sysconfig/puppetserver']
conf_files.each do |file|
if File.exists?(file)
backup_dir = File.join(@bootstrap_backup, File.dirname(file))
FileUtils.mkdir_p(backup_dir)
FileUtils.cp(file, backup_dir)
info("Successfully backed up #{file} to #{backup_dir}", 'green')
end
end
else
fail( "Could not find directory #{puppetserver_dir}" )
end
server_conf_tmp = "#{::Utils.puppet_info[:config]['vardir']}/pserver_tmp"
FileUtils.mkdir_p(server_conf_tmp)
FileUtils.chown('puppet','puppet',server_conf_tmp)
command = "puppet resource simp_file_line puppetserver path='/etc/sysconfig/puppetserver'" +
%Q{ match='^JAVA_ARGS' line='JAVA_ARGS="-Xms2g -Xmx2g -XX:MaxPermSize=256m} +
%Q{ -Djava.io.tmpdir=#{server_conf_tmp}"' 2>&1 > /dev/null}
execute(command)
info("Successfully configured /etc/sysconfig/puppetserver to use a temporary cache", 'green')
File.open("#{puppetserver_dir}/webserver.conf", 'w') do |file|
file.puts "webserver: {\naccess-log-config: /etc/puppetlabs/puppetserver/request-logging.xml\nclient-auth: want\nssl-host = 0.0.0.0\nssl-port = 8150\n}\n"
end
info("Successfully configured #{puppetserver_dir}/webserver.conf with bootstrap settings", 'green')
File.open("#{puppetserver_dir}/web-routes.conf", 'w') do |file|
file.puts "web-router-service: {\n\"puppetlabs.services.ca.certificate-authority-service/certificate-authority-service\": \"/puppet-ca\"\n\"puppetlabs.services.master.master-service/master-service\": \"/puppet\"\n\"puppetlabs.services.legacy-routes.legacy-routes-service/legacy-routes-service\": \"\"\n\"puppetlabs.services.puppet-admin.puppet-admin-service/puppet-admin-service\": \"/puppet-admin-api\"\n\"puppetlabs.trapperkeeper.services.status.status-service/status-service\": \"/status\"\n}\n"
end
info("Successfully configured #{puppetserver_dir}/web-routes.conf with bootstrap settings", 'green')
rescue => error
fail( "Failed to configure the puppetserver with bootstrap settings: #{error.message}" )
end
end