in itchef/cookbooks/cpe_chrome/resources/cpe_chrome_posix.rb [142:222]
def manage_chrome_macos(mprefs, prefs)
prefix = node['cpe_profiles']['prefix']
organization = node['organization'] ? node['organization'] : 'Facebook'
chrome_profile = {
'PayloadIdentifier' => "#{prefix}.browsers.chrome",
'PayloadRemovalDisallowed' => true,
'PayloadScope' => 'System',
'PayloadType' => 'Configuration',
'PayloadUUID' => 'bf900530-2306-0131-32e2-000c2944c108',
'PayloadOrganization' => organization,
'PayloadVersion' => 1,
'PayloadDisplayName' => 'Chrome',
'PayloadContent' => [{
'PayloadType' => 'com.google.Chrome',
'PayloadVersion' => 1,
'PayloadIdentifier' => "#{prefix}.browsers.chrome",
'PayloadUUID' => '3377ead0-2310-0131-32ec-000c2944c108',
'PayloadEnabled' => true,
'PayloadDisplayName' => 'Chrome',
}],
}
prefs.each do |k, v|
chrome_profile['PayloadContent'][0][k] = v
end
profile_domain = "#{node['cpe_profiles']['prefix']}.browsers.chrome"
node.default['cpe_profiles'][profile_domain] = chrome_profile
if node.installed?('com.google.Chrome.canary')
prefix = node['cpe_profiles']['prefix']
organization = node['organization'] ? node['organization'] : 'Facebook'
canary_profile = {
'PayloadIdentifier' => "#{prefix}.browsers.chromecanary",
'PayloadRemovalDisallowed' => true,
'PayloadScope' => 'System',
'PayloadType' => 'Configuration',
'PayloadUUID' => 'bf900530-2306-0131-32e2-000c2944c108',
'PayloadOrganization' => organization,
'PayloadVersion' => 1,
'PayloadDisplayName' => 'Chrome Canary',
'PayloadContent' => [{
'PayloadType' => 'com.google.Chrome.canary',
'PayloadVersion' => 1,
'PayloadIdentifier' => "#{prefix}.browsers.chromecanary",
'PayloadUUID' => 'bf900530-2306-0131-32e2-000c2944c108',
'PayloadEnabled' => true,
'PayloadDisplayName' => 'Chrome Canary',
}],
}
prefs.each do |k, v|
unless node['cpe_chrome']['canary_ignored_prefs'].include?(k)
canary_profile['PayloadContent'][0][k] = v
end
end
profile_domain = "#{node['cpe_profiles']['prefix']}.browsers.chromecanary"
node.default['cpe_profiles'][profile_domain] = canary_profile
end
master_path = '/Library/Google/Google Chrome Master Preferences'
if mprefs.empty?
file master_path do
action :delete
end
else
directory '/Library/Google' do
mode '0755'
owner 'root'
group 'wheel'
action :create
end
file master_path do
mode '0644'
owner 'root'
group 'wheel'
action :create
content Chef::JSONCompat.to_json_pretty(mprefs)
end
end
end