Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status

RSS

chrome (28) Versions 1.0.5

Installs/Configures Chrome browser

Policyfile
Berkshelf
Knife
cookbook 'chrome', '= 1.0.5', :supermarket
cookbook 'chrome', '= 1.0.5'
knife supermarket install chrome
knife supermarket download chrome
README
Dependencies
Changelog
Quality 100%

Chrome Cookbook

Cookbook Version
Build Status
GitHub Issues

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 11.14.2 or higher.

Platforms

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

Cookbooks

These cookbooks are referenced with suggests, so be sure to depend on the cookbooks that apply.

  • apt
  • dmg
  • yum
  • 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('40.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.
  • params - 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
  params(
    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'
  params(
    homepage: 'https://www.getchef.com'
  )
  action :master_preferences
end

The parameter specified will be used as:

  • @params[:homepage]

In the template, when you write your own, the @ is significant.

ChefSpec Matchers

The Chrome 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(
  params: {
    homepage: 'https://www.getchef.com'
  }
)

Chrome Cookbook Matchers

  • master_preferences_chrome(name)

Getting Help

Contributing

Please refer to CONTRIBUTING.

License

MIT - see the accompanying LICENSE file for details.

Chrome Changelog

1.0.5

  • Fix mac issues

1.0.4

  • Fix rubocop offenses

1.0.3

  • Fix readme rendering issue on supermarket

1.0.2

  • Rename .chefignore to chefignore

1.0.1

  • Fix Chef Client 12 introduced error: undefined method `new' for Chrome:Module
  • Remove trailing space from chrome_version
  • Add .chefignore

1.0.0

  • Support multiple platforms
  • Rename preferences resource to master_preferences

0.4.0

  • Add 64-bit support for windows

0.3.0

  • Add chrome_version method
  • Install Chrome at compile time
  • Warn if not windows platform

0.2.0

  • Add preferences resource

0.1.0

  • Initial release

Foodcritic Metric
            

1.0.5 passed this metric