Skip to content
This repository has been archived by the owner on Dec 14, 2018. It is now read-only.

makenew/chef-cookbook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9a224de · Jun 9, 2016
Feb 17, 2016
Jun 9, 2016
May 13, 2015
Feb 17, 2016
Feb 17, 2016
Feb 19, 2016
Jan 31, 2015
Feb 17, 2016
Feb 17, 2016
Jun 14, 2014
Feb 17, 2016
May 10, 2016
Jun 21, 2014
May 2, 2015
May 8, 2016
Jun 9, 2016
Feb 19, 2016
Feb 17, 2016
Jun 9, 2016
Feb 17, 2016
Jul 17, 2014
Feb 19, 2016
Apr 12, 2016
Apr 12, 2016
Jun 9, 2016
May 10, 2016

Repository files navigation

Chef Cookbook Skeleton

Chef cookbook GitHub license Gemnasium Travis Codecov

Built from makenew/chef-cookbook.

wercker status

Description

Chef cookbook skeleton.

Bootstrap a new Chef cookbook in less than a minute.

Features

Bootstrapping a New Project

  1. Clone the master branch of this repository with

    $ git clone --single-branch https://github.com/makenew/chef-cookbook.git new-chef-cookbook
    $ cd new-chef-cookbook
    

    Optionally, reset to the latest release with

    $ git reset --hard chef-cookbook-v3.3.4
    
  2. Run

    $ ./makenew.sh
    

    and follow the prompts. This will replace the boilerplate, delete itself, and stage changes for commit. This script assumes the project repository will be hosted on GitHub. For an alternative location, you must update the URLs manually.

  3. Fill in the README Description section and add (or remove) your own wercker badge to doc/badges.md (you will need to create a new wercker application).

  4. If choosing a license other than the one provided: update LICENSE.txt, the README License section, metadata.rb, attributes/default.rb, and recipes/default.rb with your chosen license.

  5. Regenerate README.md with $ rake readme. Do not edit README.md directly: it will be generated from _README.md.erb using data from metadata.rb, and the .md files in /doc.

  6. Optionally, set require_chef_omnibus in .kitchen.yml to a specific Chef version. You may also set the Ruby versions to test against in .travis.yml and wercker.yml. If using codecov and wercker, you must set the CODECOV_TOKEN environment variable.

Updating

If you want to pull in future updates from this skeleton, you can fetch and merge in changes from this repository.

If this repository is already set as origin, rename it to upstream with

$ git remote rename origin upstream

and then configure your origin branch as normal.

Otherwise, add this as a new remote with

$ git remote add upstream https://github.com/makenew/chef-cookbook.git

You can then fetch and merge changes with

$ git fetch upstream
$ git merge upstream/master

Changelog

Note that CHANGELOG.md is just a template for this skeleton. The actual changes for this project are documented in the commit history and summarized under Releases.

Requirements

  • Chef 12.

Installation

Add this as a dependency in your cookbook's metadata.rb with

depends 'makenew-chef_cookbook'

Alternatively, add this to your Berksfile with

cookbook 'makenew-chef_cookbook'

and update your cookbooks with

$ berks

Platform Support

  • ubuntu (~> 14.04)

Recipes

  • makenew-chef_cookbook::default - Default recipe.

Development and Testing

Requirements

You will need Ruby with Bundler.

VirtualBox and Vagrant are required for integration testing with Test Kitchen.

The following Vagrant plugins are recommended: vagrant-berkshelf, vagrant-cachier, vagrant-ohai and vagrant-omnibus.

Install the development dependencies with

$ bundle

Source Code

The makenew-chef_cookbook source is hosted on GitHub. Clone the project with

$ git clone https://github.com/makenew/chef-cookbook.git

Rake

Run rake -T to see all Rake tasks.

rake all                          # Run all tasks
rake doc                          # Build documentation
rake foodcritic                   # Lint Chef cookbooks
rake kitchen:all                  # Run all test instances
rake kitchen:default-ubuntu-1404  # Run default-ubuntu-1404 test instance
rake publish                      # Publish this cookbook
rake readme                       # Generate README.md from _README.md.erb
rake rubocop                      # Run RuboCop
rake rubocop:auto_correct         # Auto-correct RuboCop offenses
rake spec                         # Run RSpec code examples
rake test                         # Run kitchen integration tests
rake yard                         # Generate YARD Documentation

Thor

Run thor -T to see all Thor tasks.

Guard

Guard tasks have been separated into the following groups: doc, lint, unit, and integration.

By default, Guard will generate documentation, lint, and run unit tests. The integration group must be selected manually with guard -g integration.

Contributing

Please submit and comment on bug reports and feature requests.

To submit a patch:

  1. Fork it (https://github.com/makenew/chef-cookbook/fork).
  2. Create your feature branch (git checkout -b my-new-feature).
  3. Make changes. Write and run tests.
  4. Commit your changes (git commit -am 'Add some feature').
  5. Push to the branch (git push origin my-new-feature).
  6. Create a new Pull Request.

This software can be used freely, see The Unlicense. The copyright text appearing below and elsewhere in this repository is for demonstration purposes only and does not apply to this software.

License

Copyright 2016 Evan Sosenko

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Warranty

This software is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantibility and fitness for a particular purpose.