bourdain 1.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/Gemfile +11 -0
- data/Rakefile +19 -0
- data/Readme.md +1 -0
- data/TODO.md +41 -0
- data/VERSION +1 -0
- data/bin/tony +54 -0
- data/bin/tony-bump +3 -0
- data/bin/tony-check +3 -0
- data/bin/tony-generate +3 -0
- data/bourdain.gemspec +25 -0
- data/install-or-upgrade.sh +4 -0
- data/lib/bourdain/helpers/config.rb +12 -0
- data/lib/bourdain/helpers/locals.rb +17 -0
- data/lib/bourdain/helpers/logger.rb +41 -0
- data/lib/bourdain/helpers/parser.rb +76 -0
- data/lib/bourdain/helpers/registry.rb +53 -0
- data/lib/bourdain/helpers.rb +32 -0
- data/lib/bourdain/metadata.rb +19 -0
- data/lib/bourdain/resources/checks/bourdain.rb +71 -0
- data/lib/bourdain/resources/checks/chef.rb +35 -0
- data/lib/bourdain/resources/checks/cookbooks.rb +97 -0
- data/lib/bourdain/resources/checks/hooks.rb +67 -0
- data/lib/bourdain/resources/checks/ssh_config.rb +61 -0
- data/lib/bourdain/resources/checks.rb +36 -0
- data/lib/bourdain/resources/commands/bump.rb +74 -0
- data/lib/bourdain/resources/commands/check.rb +103 -0
- data/lib/bourdain/resources/commands/generate.rb +33 -0
- data/lib/bourdain/resources/commands.rb +10 -0
- data/lib/bourdain/resources/generators/attribute.rb +43 -0
- data/lib/bourdain/resources/generators/cookbook.rb +125 -0
- data/lib/bourdain/resources/generators/recipe.rb +54 -0
- data/lib/bourdain/resources/generators.rb +22 -0
- data/lib/bourdain/resources.rb +104 -0
- data/lib/bourdain.rb +3 -0
- data/templates/chef/environment.json +8 -0
- data/templates/chef/role.json +9 -0
- data/templates/cookbook/Berksfile +3 -0
- data/templates/cookbook/Readme.md +1 -0
- data/templates/cookbook/VERSION +1 -0
- data/templates/cookbook/Vagrantfile +19 -0
- data/templates/cookbook/attributes/example.rb +24 -0
- data/templates/cookbook/busser_minitest.rb +7 -0
- data/templates/cookbook/gitignore +26 -0
- data/templates/cookbook/kitchen.yml +23 -0
- data/templates/cookbook/metadata.rb +10 -0
- data/templates/cookbook/pre-commit +80 -0
- data/templates/cookbook/recipes/example.rb +38 -0
- data/test.sh +12 -0
- metadata +165 -0
@@ -0,0 +1,104 @@
|
|
1
|
+
require 'trollop'
|
2
|
+
|
3
|
+
|
4
|
+
module Bourdain
|
5
|
+
class Resource
|
6
|
+
attr_reader :status, :spec, :opts, :raw_usage, :resource_name
|
7
|
+
|
8
|
+
def self.log= log ; @@log = log end
|
9
|
+
|
10
|
+
def self.resource_name ; raise 'not implemented' end
|
11
|
+
|
12
|
+
def self.raw_usage ; raise 'not implemented' end
|
13
|
+
|
14
|
+
def self.usage type, raw_usage
|
15
|
+
type = type.to_s
|
16
|
+
|
17
|
+
metaclass = class << self ; self ; end
|
18
|
+
|
19
|
+
metaclass.send(:define_method, 'raw_usage') do
|
20
|
+
raw_usage.gsub(/^ +/, '')
|
21
|
+
end
|
22
|
+
|
23
|
+
metaclass.send(:define_method, 'resource_name') do
|
24
|
+
raw_usage.lines.to_a[1].split(' ').first
|
25
|
+
end
|
26
|
+
|
27
|
+
metaclass.send(:define_method, 'resource_type') do
|
28
|
+
type
|
29
|
+
end
|
30
|
+
|
31
|
+
metaclass.send(:define_method, 'spec') do
|
32
|
+
self.spec ||= Bourdain::Helpers::UsageParser.parse(self.class.raw_usage)
|
33
|
+
end
|
34
|
+
|
35
|
+
Bourdain::Registry.register(type, self)
|
36
|
+
end
|
37
|
+
|
38
|
+
def initialize argv
|
39
|
+
@status = 0
|
40
|
+
@spec = Bourdain::Helpers::UsageParser.parse(self.class.raw_usage)
|
41
|
+
@opts = trollop_with_spec(self.class.resource_type, argv, @spec)
|
42
|
+
end
|
43
|
+
|
44
|
+
|
45
|
+
protected
|
46
|
+
def log ; @@log ||= Bourdain::Logger.new end
|
47
|
+
|
48
|
+
def error! ; @status = 1 end
|
49
|
+
|
50
|
+
def require_versionfile!
|
51
|
+
return true if File::exists?('VERSION')
|
52
|
+
log.fatal "I don't see any VERSION file around here..."
|
53
|
+
@status = 1
|
54
|
+
false
|
55
|
+
end
|
56
|
+
|
57
|
+
def require_cookbook!
|
58
|
+
return true if File::exists?('metadata.rb')
|
59
|
+
log.fatal "I don't see any metadata around here, is this a cookbook?"
|
60
|
+
@status = 1
|
61
|
+
false
|
62
|
+
end
|
63
|
+
|
64
|
+
def require_chef!
|
65
|
+
return true if File::exists?('Howto.md')
|
66
|
+
log.fatal "I don't see any Chef stuff around here, is this the Chef repo?"
|
67
|
+
@status = 1
|
68
|
+
false
|
69
|
+
end
|
70
|
+
|
71
|
+
def trollop_with_spec subcommand, argv, spec
|
72
|
+
subcommand = " #{subcommand}" unless subcommand.nil?
|
73
|
+
Trollop::options(argv) do
|
74
|
+
banner Bourdain::ART + "\n\n" + <<-EOS.gsub(/^ /, '')
|
75
|
+
#{spec[:desc]}
|
76
|
+
|
77
|
+
Usage: tony#{subcommand} #{spec[:usage]}
|
78
|
+
#{format_resources spec[:resources]}
|
79
|
+
Options:
|
80
|
+
EOS
|
81
|
+
spec[:opts].each do |opt|
|
82
|
+
send(:opt, opt[:long], opt[:desc], opt[:opts])
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
module Trollop
|
92
|
+
class Parser
|
93
|
+
def format_resources rs
|
94
|
+
rs.map do |r|
|
95
|
+
"\n#{r.capitalize}s:\n" +
|
96
|
+
Bourdain::Registry.details(r) * "\n" + "\n"
|
97
|
+
end.join("\n")
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
101
|
+
|
102
|
+
require_relative 'resources/checks'
|
103
|
+
require_relative 'resources/commands'
|
104
|
+
require_relative 'resources/generators'
|
data/lib/bourdain.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
# <%= name %>
|
@@ -0,0 +1 @@
|
|
1
|
+
0.0.0
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- mode: ruby -*-
|
3
|
+
# vi: set ft=ruby :
|
4
|
+
Vagrant.configure('2') do |config|
|
5
|
+
config.omnibus.chef_version = :latest
|
6
|
+
config.berkshelf.enabled = true
|
7
|
+
config.vm.define 'vagrant' do |node|
|
8
|
+
node.vm.box = 'chef/ubuntu-14.04'
|
9
|
+
node.vm.hostname = 'vagrant'
|
10
|
+
node.vm.provision :chef_solo do |chef|
|
11
|
+
chef.log_level = :debug
|
12
|
+
chef.json = {}
|
13
|
+
chef.run_list = %w(
|
14
|
+
recipe[apt]
|
15
|
+
recipe[<%= name %>]
|
16
|
+
)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
<% if name == 'default' %>
|
2
|
+
# User for <%= cookbook_name %> directories, files, and services
|
3
|
+
default['<%= cookbook_name %>']['user'] = '<%= cookbook_name %>'
|
4
|
+
|
5
|
+
# Directory to install the <%= cookbook_name %> source
|
6
|
+
default['<%= cookbook_name %>']['home'] = '/opt/<%= cookbook_name %>'
|
7
|
+
|
8
|
+
# Directory to store the <%= cookbook_name %> logs
|
9
|
+
default['<%= cookbook_name %>']['logs'] = '/var/log/<%= cookbook_name %>'
|
10
|
+
|
11
|
+
# Directory to store the <%= cookbook_name %> data
|
12
|
+
default['<%= cookbook_name %>']['data'] = '/var/data/<%= cookbook_name %>'
|
13
|
+
|
14
|
+
# Version of <%= cookbook_name %> to install
|
15
|
+
default['<%= cookbook_name %>']['version'] = '1.0.0'
|
16
|
+
|
17
|
+
# Full URL (%pattern-sensitive) for <%= cookbook_name %> releases
|
18
|
+
default['<%= cookbook_name %>']['url'] = \
|
19
|
+
'http://example.com/<%= cookbook_name %>%{version}.tar.gz'
|
20
|
+
|
21
|
+
# SHA-256 checksum for the bundled release
|
22
|
+
default['<%= cookbook_name %>']['checksum'] = \
|
23
|
+
'...'
|
24
|
+
<% end %>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
.vagrant
|
2
|
+
Berksfile.lock
|
3
|
+
*~
|
4
|
+
*#
|
5
|
+
.#*
|
6
|
+
\#*#
|
7
|
+
.*.sw[a-z]
|
8
|
+
*.un~
|
9
|
+
/cookbooks
|
10
|
+
|
11
|
+
# Bundler
|
12
|
+
Gemfile.lock
|
13
|
+
bin/*
|
14
|
+
.bundle/*
|
15
|
+
|
16
|
+
.kitchen/
|
17
|
+
.kitchen.local.yml
|
18
|
+
|
19
|
+
.DS_Store
|
20
|
+
*.tmp
|
21
|
+
*.out
|
22
|
+
*.pid
|
23
|
+
*.log
|
24
|
+
tmp
|
25
|
+
|
26
|
+
.chef/cookbooks
|
@@ -0,0 +1,23 @@
|
|
1
|
+
---
|
2
|
+
driver_plugin: vagrant
|
3
|
+
driver_config:
|
4
|
+
require_chef_omnibus: true
|
5
|
+
|
6
|
+
provisioner:
|
7
|
+
name: chef_solo
|
8
|
+
cookbook_files_glob: "**/*"
|
9
|
+
|
10
|
+
platforms:
|
11
|
+
- name: ubuntu-12.04
|
12
|
+
driver_config:
|
13
|
+
box: chef/ubuntu-12.04
|
14
|
+
- name: ubuntu-14.04
|
15
|
+
driver_config:
|
16
|
+
box: chef/ubuntu-14.04
|
17
|
+
|
18
|
+
suites:
|
19
|
+
- name: default
|
20
|
+
run_list:
|
21
|
+
- recipe[apt]
|
22
|
+
- recipe[<%= name %>]
|
23
|
+
attributes: {}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
name '<%= name %>'
|
2
|
+
version File.read(File.join(File.dirname(__FILE__), 'VERSION')).strip
|
3
|
+
description 'Install and configure <%= name %>'
|
4
|
+
long_description 'Install and configure <%= name %>'
|
5
|
+
maintainer 'FIRSTNAME LASTNAME / Blue Jeans Network'
|
6
|
+
maintainer_email 'USERNAME@bluejeans.com'
|
7
|
+
|
8
|
+
# depends 'ark'
|
9
|
+
|
10
|
+
# suggests 'bjn_ruby'
|
@@ -0,0 +1,80 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
#
|
3
|
+
# Pre-commit hook for checking cookbook standards and bumping versions
|
4
|
+
#
|
5
|
+
# set -x
|
6
|
+
set -e
|
7
|
+
|
8
|
+
function normalize {
|
9
|
+
arg="$1"
|
10
|
+
[ -z "$arg" ] && arg="yes"
|
11
|
+
echo "$arg" | tr '[:upper:]' '[:lower:]'
|
12
|
+
}
|
13
|
+
|
14
|
+
|
15
|
+
ROOT="$(git rev-parse --show-toplevel)"
|
16
|
+
NAME="$(basename $ROOT)"
|
17
|
+
|
18
|
+
cd $ROOT
|
19
|
+
echo "Checking cookbook..."
|
20
|
+
echo
|
21
|
+
|
22
|
+
find . -name .DS_Store -exec rm {} \; # INF-4970
|
23
|
+
|
24
|
+
bundle exec knife cookbook test $NAME -o ".."
|
25
|
+
bundle exec foodcritic .
|
26
|
+
|
27
|
+
exec < /dev/tty # Enable reading from STDIN in commit hook
|
28
|
+
|
29
|
+
|
30
|
+
if [ -f .kitchen.yml ] ; then
|
31
|
+
read -p "Now, you ran test kitchen, right? (yes|no) " plea
|
32
|
+
plea="$(normalize $plea)"
|
33
|
+
while [ "yes" != "$plea" -a "no" != "$plea" ] ; do
|
34
|
+
echo "Hey man, 'yes' or 'no' please."
|
35
|
+
read -p "But really, you ran test kitchen? (yes|no) " plea
|
36
|
+
plea="$(normalize $plea)"
|
37
|
+
done
|
38
|
+
if [ "no" == "$plea" ] ; then
|
39
|
+
echo "Thanks for your honesty. Bailing!"
|
40
|
+
exit 1
|
41
|
+
fi
|
42
|
+
echo "All right then..."
|
43
|
+
fi
|
44
|
+
|
45
|
+
if [ -f VERSION ] ; then
|
46
|
+
echo
|
47
|
+
read -p "Should I bump the cookbook version? (yes|no|major|minor) " plea
|
48
|
+
plea="$(normalize $plea)"
|
49
|
+
while [ -n "$plea" -a "yes" != "$plea" -a "no" != "$plea" -a "major" != "$plea" -a "minor" != "$plea" ] ; do
|
50
|
+
echo "I only understand 'yes', 'no', major', and 'minor'"
|
51
|
+
read -p "So should I bump it? (yes|no|major|minor) " plea
|
52
|
+
plea="$(normalize $plea)"
|
53
|
+
done
|
54
|
+
|
55
|
+
|
56
|
+
if [ "$plea" == "no" ] ; then
|
57
|
+
echo "No version bump for you, then!"
|
58
|
+
echo "Current version $(cat VERSION)."
|
59
|
+
fi
|
60
|
+
|
61
|
+
if [ "$plea" == "major" ] ; then
|
62
|
+
echo "Bumping the major version..."
|
63
|
+
bundle exec tony bump major
|
64
|
+
fi
|
65
|
+
|
66
|
+
if [ "$plea" == "minor" ] ; then
|
67
|
+
echo "Bumping the minor version..."
|
68
|
+
bundle exec tony bump minor
|
69
|
+
fi
|
70
|
+
|
71
|
+
if [ "$plea" == "yes" ] ; then
|
72
|
+
echo "Bumping the patch version..."
|
73
|
+
bundle exec tony bump
|
74
|
+
fi
|
75
|
+
|
76
|
+
git add VERSION
|
77
|
+
fi
|
78
|
+
|
79
|
+
echo
|
80
|
+
echo "Finished."
|
@@ -0,0 +1,38 @@
|
|
1
|
+
#
|
2
|
+
# Cookbook Name:: <%= cookbook_name %>
|
3
|
+
# Recipe:: <%= name %>
|
4
|
+
#
|
5
|
+
# Copyright (C) <%= Time.now.year %> Blue Jeans Network
|
6
|
+
#
|
7
|
+
<% if name == 'default' %>
|
8
|
+
# group node['<%= cookbook_name %>']['user'] do
|
9
|
+
# system true
|
10
|
+
# end
|
11
|
+
|
12
|
+
# user node['<%= cookbook_name %>']['user'] do
|
13
|
+
# gid node['<%= cookbook_name %>']['user']
|
14
|
+
# shell '/bin/false'
|
15
|
+
# system true
|
16
|
+
# end
|
17
|
+
|
18
|
+
# directory node['<%= cookbook_name %>']['logs'] do
|
19
|
+
# owner node['<%= cookbook_name %>']['user']
|
20
|
+
# group node['<%= cookbook_name %>']['user']
|
21
|
+
# recursive true
|
22
|
+
# end
|
23
|
+
|
24
|
+
# directory node['<%= cookbook_name %>']['data'] do
|
25
|
+
# owner node['<%= cookbook_name %>']['user']
|
26
|
+
# group node['<%= cookbook_name %>']['user']
|
27
|
+
# recursive true
|
28
|
+
# end
|
29
|
+
|
30
|
+
# ark '<%= cookbook_name %>' do
|
31
|
+
# url node['<%= cookbook_name %>']['url']
|
32
|
+
# checksum node['<%= cookbook_name %>']['checksum']
|
33
|
+
# version node['<%= cookbook_name %>']['version']
|
34
|
+
# home_dir node['<%= cookbook_name %>']['home']
|
35
|
+
# owner node['<%= cookbook_name %>']['user']
|
36
|
+
# group node['<%= cookbook_name %>']['user']
|
37
|
+
# end
|
38
|
+
<% end %>
|
data/test.sh
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
#!/usr/bin/env bash
|
2
|
+
plea=no
|
3
|
+
read -p "You ran test kitch, right? (yes/no) " plea
|
4
|
+
while [ "yes" != "$plea" -a "no" != "$plea" ] ; do
|
5
|
+
echo "Hey, man, 'yes' or 'no' please."
|
6
|
+
read -p "But, really you ran test kitchen? (yes/no) " plea
|
7
|
+
done
|
8
|
+
if [ "no" == "$plea" ] ; then
|
9
|
+
echo "Thanks for your honesty. Bailing!"
|
10
|
+
exit 1
|
11
|
+
fi
|
12
|
+
echo "All right then..."
|
metadata
ADDED
@@ -0,0 +1,165 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: bourdain
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.2.13
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Sean Clemmer
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-12-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: pmap
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: gitlab
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: trollop
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: colorize
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: activesupport
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
description: Tools for badass chefs.
|
84
|
+
email: sclemmer@bluejeans.com
|
85
|
+
executables:
|
86
|
+
- tony
|
87
|
+
- tony-bump
|
88
|
+
- tony-check
|
89
|
+
- tony-generate
|
90
|
+
extensions: []
|
91
|
+
extra_rdoc_files: []
|
92
|
+
files:
|
93
|
+
- ".gitignore"
|
94
|
+
- Gemfile
|
95
|
+
- Rakefile
|
96
|
+
- Readme.md
|
97
|
+
- TODO.md
|
98
|
+
- VERSION
|
99
|
+
- bin/tony
|
100
|
+
- bin/tony-bump
|
101
|
+
- bin/tony-check
|
102
|
+
- bin/tony-generate
|
103
|
+
- bourdain.gemspec
|
104
|
+
- install-or-upgrade.sh
|
105
|
+
- lib/bourdain.rb
|
106
|
+
- lib/bourdain/helpers.rb
|
107
|
+
- lib/bourdain/helpers/config.rb
|
108
|
+
- lib/bourdain/helpers/locals.rb
|
109
|
+
- lib/bourdain/helpers/logger.rb
|
110
|
+
- lib/bourdain/helpers/parser.rb
|
111
|
+
- lib/bourdain/helpers/registry.rb
|
112
|
+
- lib/bourdain/metadata.rb
|
113
|
+
- lib/bourdain/resources.rb
|
114
|
+
- lib/bourdain/resources/checks.rb
|
115
|
+
- lib/bourdain/resources/checks/bourdain.rb
|
116
|
+
- lib/bourdain/resources/checks/chef.rb
|
117
|
+
- lib/bourdain/resources/checks/cookbooks.rb
|
118
|
+
- lib/bourdain/resources/checks/hooks.rb
|
119
|
+
- lib/bourdain/resources/checks/ssh_config.rb
|
120
|
+
- lib/bourdain/resources/commands.rb
|
121
|
+
- lib/bourdain/resources/commands/bump.rb
|
122
|
+
- lib/bourdain/resources/commands/check.rb
|
123
|
+
- lib/bourdain/resources/commands/generate.rb
|
124
|
+
- lib/bourdain/resources/generators.rb
|
125
|
+
- lib/bourdain/resources/generators/attribute.rb
|
126
|
+
- lib/bourdain/resources/generators/cookbook.rb
|
127
|
+
- lib/bourdain/resources/generators/recipe.rb
|
128
|
+
- templates/chef/environment.json
|
129
|
+
- templates/chef/role.json
|
130
|
+
- templates/cookbook/Berksfile
|
131
|
+
- templates/cookbook/Readme.md
|
132
|
+
- templates/cookbook/VERSION
|
133
|
+
- templates/cookbook/Vagrantfile
|
134
|
+
- templates/cookbook/attributes/example.rb
|
135
|
+
- templates/cookbook/busser_minitest.rb
|
136
|
+
- templates/cookbook/gitignore
|
137
|
+
- templates/cookbook/kitchen.yml
|
138
|
+
- templates/cookbook/metadata.rb
|
139
|
+
- templates/cookbook/pre-commit
|
140
|
+
- templates/cookbook/recipes/example.rb
|
141
|
+
- test.sh
|
142
|
+
homepage: http://wiki.bluejeansnet.com/operations/bourdain
|
143
|
+
licenses: []
|
144
|
+
metadata: {}
|
145
|
+
post_install_message:
|
146
|
+
rdoc_options: []
|
147
|
+
require_paths:
|
148
|
+
- lib
|
149
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
150
|
+
requirements:
|
151
|
+
- - ">="
|
152
|
+
- !ruby/object:Gem::Version
|
153
|
+
version: '0'
|
154
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - ">="
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
requirements: []
|
160
|
+
rubyforge_project:
|
161
|
+
rubygems_version: 2.2.2
|
162
|
+
signing_key:
|
163
|
+
specification_version: 4
|
164
|
+
summary: Tools for badass chefs
|
165
|
+
test_files: []
|