Skip to content

paxful/chef-chrome

 
 

Repository files navigation

Chrome Cookbook

Cookbook Version linux osx win

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.

Requirements

Chef 14+

Platforms

  • CentOS 7, Red Hat 7, Fedora
  • Debian, Ubuntu
  • Mac OS X
  • Windows

Usage

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')

Attributes

  • node['chrome']['track'] - For Linux only. Install stable, beta or unstable version. Default is stable.
  • node['chrome']['32bit_only'] - For windows only. Install 32-bit browser on 64-bit machines. Default is false.

See attributes/default.rb for complete list of attributes.

master_preferences

Manage a template resource that configures master_preferences. More info...

Resource Attributes

  • 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 - Default master_preferences.json.erb, source template file.
  • parameters - Additional parameters, see Examples.

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.

ChefSpec Matchers

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)

Getting Help

Contributing

Please refer to CONTRIBUTING.

License

MIT - see the accompanying LICENSE file for details.

About

Chef cookbook to install Google Chrome browser

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Ruby 95.8%
  • HTML 4.2%