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

chef-waiter (15) Versions 1.5.0

Installs/Configures the Chef Waiter service

Policyfile
Berkshelf
Knife
cookbook 'chef-waiter', '~> 1.5.0', :supermarket
cookbook 'chef-waiter', '~> 1.5.0'
knife supermarket install chef-waiter
knife supermarket download chef-waiter
README
Dependencies
Changelog
Quality 17%

Chef Waiter Cookbook

This cookbook will install and configure the Chef waiter service on both windows and linux servers.

What is the chef waiter

The chef-waiter service is a wrapper around chef that will add an API to the chef client to allow runs and reporting.

See Chef Waiter on GitHub for more details.

How to use the cookbook

  1. Set the version of chef waiter to be installed in your environment files.
  2. Set any configuration values you want.
  3. Turn on the install toggle.
  4. Include chef-waiter in your cookbook or runlist.

See below for attributes.

Configuring the cookbook

Downloading Chef Waiter

Chef waiter is downloaded from Github releases.

These attributes do this.

Attribute Type Example value
node['chef-waiter']['version'] String "1.0.15"
node['chef-waiter']['url_base'] String This is the git releases page. Change only if you fork the project.

Feature toggles

The cookbook works using the prinicple of feature toggles.
The following feature toggles are available to you.

Attribute Type Example value Description
node['chef-waiter']['feature']['enabled'] Bool true Run the code to install and remove chef waiter.
node['chef-waiter']['feature']['manage_firewall'] Bool true Run the code to add or remove the firewall rules for chef waiter.
node['chef-waiter']['feature']['deploy_config_file'] Bool true Deploy an optional configuration files with supplied values.
node['chef-waiter']['remove'] Bool false Install or remove the chef waiter.

Where does it go

The cookbook uses the following values to download and install the chef waiter.

When downloading the files the cookbook tries to tidy up after itself and remove any temp files at the end of the run.

Attribute Type Example value Description
node['chef-waiter']['config_dir'] String "/etc/chefwaiter" or "c:/Program Files/chefwaiter" Where to put the configuration file.
node['chef-waiter']['binary_path'] String "/usr/local/bin" or "c:/Program Files/chefwaiter" Where to put the binary.
node['chef-waiter']['logs_path'] String "/var/log/chefwaiter" or "c:/logs/chefwaiter" Where should chef waiter store log files.
node['chef-waiter']['download_directory'] String "/tmp" or "c:/temp" where should chef download the files to while installing.

Configuration file values

All values under the node['chef-waiter']['config_file'] attribute will be pushed into the configuration file.

Chef makes no attempt to valid these values, so make sure they are correct.

Example:

This:

node['chef-waiter']['config_file']['state_table_size'] = 40
node['chef-waiter']['config_file']['periodic_chef_runs'] = true
node['chef-waiter']['config_file']['run_interval'] = 30

Will equal this:

{
  "state_table_size": 40,
  "periodic_chef_runs": true,
  "run_interval": 30
}

Supported Operating Systems

The cookbook tested to support the following OSs.

  • Windows 2012
  • CentOS 6
  • CentOS 7
  • Ubuntu 18.04

It could work on other OSs but has not been tested.

Contributing

Fork, Change, Test and submit PR.

Dependent cookbooks

iptables >= 0.0.0
zipfile ~> 0.2.0
windows >= 0.0.0
windows_firewall >= 0.0.0

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

chef-waiter CHANGELOG

This file is used to list changes made in each version of the chef-waiter cookbook.

1.5.0

Bumped the version of chef waiter that gets installed.
Changed to no longer require the travis build number.

1.3.1

Bumped the version of chef waiter that gets installed.

1.3.0

Changed install_chef_waiter to delete the chef waiter install file at the start of the run. This is to prevent situations where failed downloads cause servers to not have chef waiter installed.

1.1.2

Updated the which_at and which_chefclient to be more os indepentdent.

1.1.1

Changed the readme structure as minimart tries to read a directory called README as the readme file.

1.1.0

Adding in better support for windows and updating the metadata file

1.0.1

Inital public verion

Collaborator Number Metric
            

1.5.0 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric
            

1.5.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file

Foodcritic Metric
            

1.5.0 failed this metric

FC009: Resource attribute not recognised: chef-waiter/recipes/configure_firewall.rb:7
FC009: Resource attribute not recognised: chef-waiter/recipes/deploy_chef_waiter.rb:29
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric
            

1.5.0 passed this metric

Testing File Metric
            

1.5.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file

Version Tag Metric
            

1.5.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number