This cookbook installs Google Chrome browser (https://www.google.com/chrome/) at compile time, provides
chrome_version
library method to retrieve Chrome version installed, and provides master_preferences
resource
to set user preferences.
Chef 12.14+
- CentOS 7, Red Hat 7, Fedora
- Debian, Ubuntu
- Mac OS X
- Windows
- dmg - used by Mac OS X platform
Include the default recipe on a node's runlist to ensure that Chrome is installed.
A library method chrome_version
is provided to retrieve the Chrome version installed:
v = chrome_version
Tip: use allow_any_instance_of
to stub chrome_version method when testing with rspec:
allow_any_instance_of(Chef::Recipe).to receive(:chrome_version).and_return('50.0.0.0')
node['chrome']['track']
- For Linux only. Install stable, beta or unstable version. Default isstable
.node['chrome']['32bit_only']
- For windows only. Install 32-bit browser on 64-bit machines. Default isfalse
.
See attributes/default.rb for complete list of attributes.
Manage a template resource that configures master_preferences. More info...
name
- The name of the preference.cookbook
- Optional. Cookbook where the source template is. If this is not defined, Chef will use the named template in the cookbook where the definition is used.template
- Defaultmaster_preferences.json.erb
, source template file.parameters
- Additional parameters, see Examples.
The following example would look for a template named master_preferences.json.erb
in your cookbook:
chrome 'custom_preferences' do
parameters(
homepage: 'https://mycompany.com/'
import_bookmarks_from_file: 'c:\path\to\bookmarks.html'
)
action :master_preferences
end
The Chrome cookbook comes with a master_preferences.json.erb
template as an example. The following parameter is used
in the template:
homepage
- Sets the homepage URL.
To use the default template preferences, set cookbook to chrome
, for example:
chrome 'set_user_preferences' do
cookbook 'chrome'
parameters(
homepage: 'https://www.getchef.com'
)
action :master_preferences
end
The parameter specified will be used as:
@parameters[:homepage]
In the template, when you write your own, the @
is significant.
This cookbook includes custom ChefSpec matchers you can use to test your own cookbooks.
Example Matcher Usage
expect(chef_run).to master_preferences_chrome('name').with(
parameters: {
homepage: 'https://www.getchef.com'
}
)
Cookbook Matchers
- master_preferences_chrome(name)
- Ask specific questions on Stack Overflow.
- Report bugs and discuss potential features in Github issues.
Please refer to CONTRIBUTING.
MIT - see the accompanying LICENSE file for details.