GithubHelp home page GithubHelp logo

isabella232 / chef-chrome Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rapid7/chef-chrome

0.0 0.0 0.0 107 KB

Chef cookbook to install Google Chrome browser

Home Page: https://www.google.com/chrome/

License: MIT License

Ruby 95.84% HTML 4.16%

chef-chrome's Introduction

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 12.14+

Platforms

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

Cookbooks

  • dmg - used by Mac OS X platform

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.
  • node['chrome']['action'] - The action to use when configuring the package. Default is install.

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.

chef-chrome's People

Contributors

dhoer avatar cdoughty-r7 avatar ramereth avatar dautushenka avatar erkki avatar elliterate avatar laradji avatar sbotman avatar austburn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.