cookbook 'chrome', '= 1.0.5'
chrome
(28) Versions
1.0.5
-
Follow25
Installs/Configures Chrome browser
cookbook 'chrome', '= 1.0.5', :supermarket
knife supermarket install chrome
knife supermarket download chrome
Chrome Cookbook
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 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.
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
- Defaultmaster_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
- Ask specific questions on Stack Overflow.
- Report bugs and discuss potential features in Github issues.
Contributing
Please refer to CONTRIBUTING.
License
MIT - see the accompanying LICENSE file for details.
Dependent cookbooks
This cookbook has no specified dependencies.
Contingent cookbooks
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
1.0.5 passed this metric