chef_instance 0.1.0

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.
@@ -0,0 +1,46 @@
1
+ require_relative 'spec_helper'
2
+ require 'chef_instance/install'
3
+
4
+ describe ChefInstance::Install, '' do
5
+ let(:node) do
6
+ node = Chef::Node.new
7
+ node.automatic[:platform] = 'ubuntu'
8
+ node.automatic[:platform_version] = '12.04'
9
+ node
10
+ end
11
+
12
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
13
+ let(:run_context) { Chef::RunContext.new(node, {}, events) }
14
+ let(:resource) { 'package_test' }
15
+ let(:install) do
16
+ ChefInstance::Install::Template.new(resource, run_context)
17
+ end
18
+
19
+ before do
20
+ @install_res = install
21
+ end
22
+
23
+ describe 'Object Ancestry Checks' do
24
+ it 'Is a ChefInstance::Install::Template?' do
25
+ @install_res.must_be_kind_of(ChefInstance::Install::Template)
26
+ end
27
+
28
+ it 'Is a instance of Init' do
29
+ @install_res.must_be_instance_of(ChefInstance::Install::Template)
30
+ end
31
+ end
32
+
33
+ describe 'It adhears to the Install::Template contract.' do
34
+ describe 'It should..' do
35
+ it 'Create.' do
36
+ @install_res.must_respond_to(:install)
37
+ proc { @install_res.install }.must_raise(NotImplementedError)
38
+ end
39
+
40
+ it 'Destroy.' do
41
+ @install_res.must_respond_to(:uninstall)
42
+ proc { @install_res.uninstall }.must_raise(NotImplementedError)
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,80 @@
1
+ # minitest spec for ChefInstance::Resource::Instance
2
+ # Uses expectations from:
3
+ # http://docs.seattlerb.org/minitest/Minitest/Expectations.html
4
+
5
+ require_relative 'spec_helper'
6
+ require 'chef_instance/resource_instance'
7
+ require 'chef_instance/provider_instance'
8
+ require 'chef_instance/service/init'
9
+
10
+ describe ChefInstance::Resource::Instance,
11
+ 'Tests for ChefInstance::Resource::Instance' do
12
+
13
+ let(:node) do
14
+ node = Chef::Node.new
15
+ node.automatic['platform'] = 'ubuntu'
16
+ node.automatic['platform_version'] = '12.04'
17
+ node
18
+ end
19
+
20
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
21
+ let(:run_context) { Chef::RunContext.new(node, {}, events) }
22
+ let(:instance_name) { 'test_instance' }
23
+ let(:config_res) do
24
+ ChefInstance::Resource::Instance.new(
25
+ instance_name, run_context)
26
+ end
27
+
28
+ before :each do
29
+ @test_instance = ChefInstance::Provider::Instance.new(
30
+ config_res, run_context)
31
+ end
32
+
33
+ describe 'Class type checks for ChefInstance::Provider::Instance' do
34
+ it 'Is a ChefInstance::Resource::Instance' do
35
+ @test_instance.must_be_kind_of(Chef::Provider)
36
+ end
37
+ it 'Subclasses Chef::Provider' do
38
+ @test_instance.must_be_instance_of(ChefInstance::Provider::Instance)
39
+ end
40
+ end
41
+
42
+ describe 'Why Run' do
43
+ it 'supported?' do
44
+ @test_instance.must_respond_to('whyrun_supported?')
45
+ @test_instance.whyrun_supported?.must_equal(false)
46
+ end
47
+ end
48
+
49
+ describe 'Can lookup instances.' do
50
+ before(:each) do
51
+ class ChefInstance::Provider::Instance
52
+ public :instance
53
+ end
54
+ end
55
+
56
+ it 'has a `instance` method.' do
57
+ @test_instance.must_respond_to(:instance)
58
+ end
59
+ end
60
+
61
+ describe 'Can lookup class constants.' do
62
+ before(:each) do
63
+ class ChefInstance::Provider::Instance
64
+ public :instance_sub_class
65
+ end
66
+ end
67
+
68
+ it 'has a `instance` method.' do
69
+ @test_instance.must_respond_to(:instance_sub_class)
70
+ end
71
+
72
+ it 'can lookup our init service class' do
73
+ @test_instance.instance_sub_class('service', 'init')
74
+ .must_be_instance_of(Class)
75
+ @test_instance.instance_sub_class('service', 'init')
76
+ .to_s
77
+ .must_equal('ChefInstance::Service::Init')
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,74 @@
1
+ # minitest spec for ChefInstance::Resource::Instance
2
+ # Uses expectations from:
3
+ # http://docs.seattlerb.org/minitest/Minitest/Expectations.html
4
+
5
+ require_relative 'spec_helper'
6
+ require 'chef_instance/resource_instance'
7
+ require 'chef_instance/provider_instance'
8
+
9
+ describe ChefInstance::Resource::Instance,
10
+ 'Tests for ChefInstance::Resource::Instance' do
11
+
12
+ let(:node) do
13
+ node = Chef::Node.new
14
+ node.automatic['platform'] = 'ubuntu'
15
+ node.automatic['platform_version'] = '12.04'
16
+ node
17
+ end
18
+
19
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
20
+ let(:run_context) { Chef::RunContext.new(node, {}, events) }
21
+ let(:instance_name) { 'test_instance' }
22
+
23
+ before :each do
24
+ @test_instance = ChefInstance::Resource::Instance.new(
25
+ instance_name, run_context)
26
+ end
27
+
28
+ describe 'Class type checks for ChefInstance::Resource::Instance' do
29
+ it 'Is a ChefInstance::Resource::Instance' do
30
+ @test_instance.must_be_kind_of(Chef::Resource)
31
+ end
32
+ it 'Subclasses Chef::Resource' do
33
+ @test_instance.must_be_instance_of(ChefInstance::Resource::Instance)
34
+ end
35
+ end
36
+
37
+ describe 'Parameter tests for ChefInstance::Resource::Instance' do
38
+ it 'has a `install_type` parameter that can be set' do
39
+ @test_instance.must_respond_to(:install_type)
40
+ @test_instance.install_type(:package)
41
+ @test_instance.install_type.must_equal(:package)
42
+ end
43
+
44
+ it 'has a `install_options` parameter that can be set' do
45
+ test_config = {
46
+ format: 'plain',
47
+ path: %w(/var/log/httpd/*_log),
48
+ type: 'httpd'
49
+ }
50
+
51
+ @test_instance.must_respond_to(:install_options)
52
+ @test_instance.install_options(test_config)
53
+ @test_instance.install_options.must_equal(test_config)
54
+ end
55
+
56
+ it 'has a `service_type` parameter that can be set' do
57
+ @test_instance.must_respond_to(:service_type)
58
+ @test_instance.service_type(:init)
59
+ @test_instance.service_type.must_equal(:init)
60
+ end
61
+
62
+ it 'has a `service_options` parameter that can be set' do
63
+ test_config = {
64
+ format: 'plain',
65
+ path: %w(/var/log/httpd/*_log),
66
+ type: 'httpd'
67
+ }
68
+
69
+ @test_instance.must_respond_to(:service_options)
70
+ @test_instance.service_options(test_config)
71
+ @test_instance.service_options.must_equal(test_config)
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,54 @@
1
+ require_relative '../spec_helper'
2
+ require 'chef_instance/service/init'
3
+
4
+ describe ChefInstance::Service::Init, '' do
5
+
6
+ let(:node) do
7
+ node = Chef::Node.new
8
+ node.automatic[:platform] = 'ubuntu'
9
+ node.automatic[:platform_version] = '12.04'
10
+ node
11
+ end
12
+
13
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
14
+ let(:run_context) { Chef::RunContext.new(node, {}, events) }
15
+ let(:resource) { 'init_test' }
16
+ let(:service) do
17
+ ChefInstance::Service::Init.new(resource, run_context)
18
+ end
19
+
20
+ before(:each) do
21
+ @service_res = service
22
+ end
23
+
24
+ describe 'Object Ancestry Checks' do
25
+ it 'Is a ChefInstance::Service::Template?' do
26
+ @service_res.must_be_kind_of(ChefInstance::Service::Template)
27
+ end
28
+
29
+ it 'Is a instance of Init' do
30
+ @service_res.must_be_instance_of(ChefInstance::Service::Init)
31
+ end
32
+ end
33
+
34
+ describe 'It adhears to the Service::Template contract.' do
35
+
36
+ describe 'It should..' do
37
+ it 'Create.' do
38
+ @service_res.must_respond_to(:create)
39
+ end
40
+
41
+ it 'Destroy.' do
42
+ @service_res.must_respond_to(:destroy)
43
+ end
44
+
45
+ it 'Enable.' do
46
+ @service_res.must_respond_to(:enable)
47
+ end
48
+
49
+ it 'Disable.' do
50
+ @service_res.must_respond_to(:disable)
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,54 @@
1
+ require_relative '../spec_helper'
2
+ require 'chef_instance/service/runit'
3
+
4
+ describe ChefInstance::Service::Runit, '' do
5
+
6
+ let(:node) do
7
+ node = Chef::Node.new
8
+ node.automatic[:platform] = 'ubuntu'
9
+ node.automatic[:platform_version] = '12.04'
10
+ node
11
+ end
12
+
13
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
14
+ let(:run_context) { Chef::RunContext.new(node, {}, events) }
15
+ let(:resource) { 'runit_test' }
16
+ let(:service) do
17
+ ChefInstance::Service::Runit.new(resource, run_context)
18
+ end
19
+
20
+ before do
21
+ @service_res = service
22
+ end
23
+
24
+ describe 'Object Ancestry Checks' do
25
+ it 'Is a ChefInstance::Service::Template?' do
26
+ @service_res.must_be_kind_of(ChefInstance::Service::Template)
27
+ end
28
+
29
+ it 'Is a instance of Init' do
30
+ @service_res.must_be_instance_of(ChefInstance::Service::Runit)
31
+ end
32
+ end
33
+
34
+ describe 'It adhears to the Service::Template contract.' do
35
+
36
+ describe 'It should..' do
37
+ it 'Create.' do
38
+ @service_res.must_respond_to(:create)
39
+ end
40
+
41
+ it 'Destroy.' do
42
+ @service_res.must_respond_to(:destroy)
43
+ end
44
+
45
+ it 'Enable.' do
46
+ @service_res.must_respond_to(:enable)
47
+ end
48
+
49
+ it 'Disable.' do
50
+ @service_res.must_respond_to(:disable)
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,62 @@
1
+ require_relative 'spec_helper'
2
+ require 'chef_instance/service'
3
+
4
+ describe ChefInstance::Service, '' do
5
+
6
+ let(:node) do
7
+ node = Chef::Node.new
8
+ node.automatic[:platform] = 'ubuntu'
9
+ node.automatic[:platform_version] = '12.04'
10
+ node
11
+ end
12
+ let(:events) { Chef::EventDispatch::Dispatcher.new }
13
+ let(:run_context) { Chef::RunContext.new(node, {}, events) }
14
+ let(:resource) { 'runit_test' }
15
+ let(:service) do
16
+ ChefInstance::Service::Template.new(resource, run_context)
17
+ end
18
+ let(:service_options) do
19
+ {
20
+ service: {
21
+ pattern: 'test',
22
+ init_command: '/etc/init.d/test'
23
+ }
24
+ }
25
+ end
26
+
27
+ before do
28
+ @service_res = service
29
+ @service_options = service_options
30
+ end
31
+
32
+ describe 'Object Ancestry Checks' do
33
+ it 'Is a ChefInstance::Service::Template?' do
34
+ @service_res.must_be_kind_of(ChefInstance::Service::Template)
35
+ end
36
+
37
+ it 'Is a instance of Init' do
38
+ @service_res.must_be_instance_of(ChefInstance::Service::Template)
39
+ end
40
+ end
41
+
42
+ describe 'It adhears to the Service::Template contract.' do
43
+
44
+ describe 'It should..' do
45
+ it 'Create.' do
46
+ @service_res.must_respond_to(:create)
47
+ end
48
+
49
+ it 'Destroy.' do
50
+ @service_res.must_respond_to(:destroy)
51
+ end
52
+
53
+ it 'Enable.' do
54
+ @service_res.must_respond_to(:enable)
55
+ end
56
+
57
+ it 'Disable.' do
58
+ @service_res.must_respond_to(:disable)
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,22 @@
1
+ unless ENV['TRAVIS']
2
+ require 'simplecov'
3
+ SimpleCov.start do
4
+ add_filter '/.gems/'
5
+ add_filter '/test/'
6
+ end
7
+ end
8
+
9
+ if ENV['CODECLIMATE_REPO_TOKEN']
10
+ require 'codeclimate-test-reporter'
11
+ CodeClimate::TestReporter.start
12
+ end
13
+
14
+ require 'chef/event_dispatch/dispatcher'
15
+ require 'chef/platform'
16
+ require 'chef/run_context'
17
+ require 'chef/resource'
18
+ require 'chef/resource/service'
19
+ require 'chef/provider'
20
+ require 'minitest/autorun'
21
+
22
+ Minitest::Test.parallelize_me!
metadata ADDED
@@ -0,0 +1,293 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: chef_instance
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Miah Johnson
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDbDCCAlSgAwIBAgIBATANBgkqhkiG9w0BAQUFADA+MQ0wCwYDVQQDDARtaWFo
14
+ MRgwFgYKCZImiZPyLGQBGRYIY2hpYS1wZXQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
15
+ HhcNMTQwODA4MjM1OTA1WhcNMTUwODA4MjM1OTA1WjA+MQ0wCwYDVQQDDARtaWFo
16
+ MRgwFgYKCZImiZPyLGQBGRYIY2hpYS1wZXQxEzARBgoJkiaJk/IsZAEZFgNvcmcw
17
+ ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDeeUAfEXaV/W0FlwfZtSPU
18
+ i7+ED6EzPPxPKbhOd4bvP/9OF9iVpK4KLBdSbUL0d4TQ4yxSe6+5ZDmqYxolsA0H
19
+ VWokWnSXxW3vuLKOMp57JDc6hSkymPZD0vsmUh7UsERaicgdt9FQYYAM2gTyQvDR
20
+ S/ZanDvZIrU+l1HXx3O+txYid8W8bCxDRWHUbJ8meDHHrHn8hmB6m39LXMJy1k3Y
21
+ fccDTNI7Ni7otY682ti8yuBJF4Xw9ojwhzXnH7l/E75AlCX/ggFXK3l6CppwDfys
22
+ KP8pPFAlVnuMThYaRvmnOI9IiF5qEsI7c4goZy+LrpZFdz2zlX6BN54MuFcpG/MD
23
+ AgMBAAGjdTBzMAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRN/hw/
24
+ 8vKHvJiYOxM1uRZ3eAfihjAcBgNVHREEFTATgRFtaWFoQGNoaWEtcGV0Lm9yZzAc
25
+ BgNVHRIEFTATgRFtaWFoQGNoaWEtcGV0Lm9yZzANBgkqhkiG9w0BAQUFAAOCAQEA
26
+ S/lmW6szMp0gb3rKtAM9j4XS0aHUCmEDiPFlkjvsKxj5aIU81rvePaJyxoulID4H
27
+ mnW4BuxKC1YaBo0R3CL7izJ9Jrw09L6NTOLiTXdLNctNLZbVc4APywspvNlijtGa
28
+ kDHXTC6ftbxcU6SGjVw70yirtFhJGj2nmA69k7vj0/XiMbj6wcg1degf4ln0+B7O
29
+ IN8npbJjudV+Gok+TaIBJF+mxUIWw0Q3X+ZbM5vku5GU41Fdyc5d8zJ38CwOGTbf
30
+ HceOUVz35kgamNj0WW4lNAHyZi7cS0MeI/0B/AGUkaG7gWvyGBAgr1gJ2+4kMmcY
31
+ vg9xNKI52TEvhr97dNRNTQ==
32
+ -----END CERTIFICATE-----
33
+ date: 2014-08-09 00:00:00.000000000 Z
34
+ dependencies:
35
+ - !ruby/object:Gem::Dependency
36
+ name: chef
37
+ requirement: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 11.12.2
42
+ type: :runtime
43
+ prerelease: false
44
+ version_requirements: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 11.12.2
49
+ - !ruby/object:Gem::Dependency
50
+ name: codeclimate-test-reporter
51
+ requirement: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: 0.3.0
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - "~>"
61
+ - !ruby/object:Gem::Version
62
+ version: 0.3.0
63
+ - !ruby/object:Gem::Dependency
64
+ name: minitest
65
+ requirement: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: 5.3.1
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "~>"
75
+ - !ruby/object:Gem::Version
76
+ version: 5.3.1
77
+ - !ruby/object:Gem::Dependency
78
+ name: rake
79
+ requirement: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: 10.3.0
84
+ type: :development
85
+ prerelease: false
86
+ version_requirements: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: 10.3.0
91
+ - !ruby/object:Gem::Dependency
92
+ name: rubocop
93
+ requirement: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: 0.20.1
98
+ type: :development
99
+ prerelease: false
100
+ version_requirements: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: 0.20.1
105
+ - !ruby/object:Gem::Dependency
106
+ name: simplecov
107
+ requirement: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: 0.8.2
112
+ type: :development
113
+ prerelease: false
114
+ version_requirements: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: 0.8.2
119
+ - !ruby/object:Gem::Dependency
120
+ name: yard
121
+ requirement: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: 0.8.7.3
126
+ type: :development
127
+ prerelease: false
128
+ version_requirements: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - "~>"
131
+ - !ruby/object:Gem::Version
132
+ version: 0.8.7.3
133
+ description: |
134
+ # chef_instance
135
+
136
+ ## Why
137
+
138
+ What is our goal when we install a piece of daemonized software? Why does the
139
+ minutia of configuration concern us so greatly? Do we really want to emulate
140
+ shell scripts in a recipe and end up with hundreds of random resources on our node?
141
+ Why do I even care about resources on my node?
142
+
143
+ Before I answer those questions lets get back to our goal, which was?
144
+
145
+ Goal: A unique instance of a daemon with our supplied configuration.
146
+
147
+ ## Usage
148
+
149
+ ```
150
+ # In this hypothetical instance we have a 'pie' daemon named 'pumpkin' that stores
151
+ # pies recieved on port 314. We may want to run another instance called 'pecan' on
152
+ # a different port that receives different types of pies.
153
+ # htce::default.rb
154
+ pie_instance 'pumpkin' do
155
+ # File owner and group.
156
+ # Daemon user and group.
157
+ user 'pumpkin'
158
+ group 'pies'
159
+ # creates `/opt/pies/pumpkins` then stores all config and runtime data.
160
+ root_path '/opt/pies'
161
+ service_options({
162
+ port: 314,
163
+ store_pies: true,
164
+ daemon_args: %w(-Tsteaming -Sdelicious)
165
+ })
166
+ end
167
+ ```
168
+
169
+ ## How it works
170
+
171
+ Provides resource provider super classes for building instances of software.
172
+
173
+ ```
174
+ class Chef
175
+ class Resource
176
+ class Daemon < Chef::Resource::Instance
177
+ end
178
+ end
179
+ end
180
+ ```
181
+
182
+ Ignores system defaults (configuration, initscripts, etc).
183
+
184
+ ## Installation
185
+
186
+ Because of Ruby library load race conditions with Chef and Gems you need to ensure that `chef_instance` is
187
+ installed before you execute Chef.
188
+
189
+ This can be achieved by:
190
+
191
+ - Install the Chef (through the Omnibus, or however you do it).
192
+ - Install `chef_instance` into the Ruby system used by Chef. If you used Omnibus you'll need to use the `gem`
193
+ command provided in `/opt/chef/embedded/bin`
194
+
195
+ ## Code Style
196
+
197
+ This code follows the [Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide) and all contributions should as well.
198
+
199
+ The code style is checked by [Rubocop](http://batsov.com/rubocop/) and can be checked by executing `rake test:rubocop` or `rubocop`.
200
+
201
+ [![Build Status](https://travis-ci.org/miah/chef_instance.png?branch=master)](https://travis-ci.org/miah/chef_instance)
202
+ [![Code Climate](https://codeclimate.com/github/miah/chef_instance.png)](https://codeclimate.com/github/miah/chef_instance)
203
+ [![Code Climate Coverage](https://codeclimate.com/github/miah/chef_instance/coverage.png)](https://codeclimate.com/github/miah/chef_instance)
204
+ [![Dependency Status](https://gemnasium.com/miah/chef_instance.svg)](https://gemnasium.com/miah/chef_instance)
205
+
206
+ # Author
207
+
208
+ Author:: Miah Johnson (<miah@chia-pet.org>)
209
+
210
+ # License
211
+
212
+ Copyright 2013 Miah Johnson
213
+
214
+ Licensed under the Apache License, Version 2.0 (the "License");
215
+ you may not use this file except in compliance with the License.
216
+ You may obtain a copy of the License at
217
+
218
+ http://www.apache.org/licenses/LICENSE-2.0
219
+
220
+ Unless required by applicable law or agreed to in writing, software
221
+ distributed under the License is distributed on an "AS IS" BASIS,
222
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
223
+ See the License for the specific language governing permissions and
224
+ limitations under the License.
225
+ email:
226
+ - miah@chia-pet.org
227
+ executables: []
228
+ extensions: []
229
+ extra_rdoc_files: []
230
+ files:
231
+ - ".gitignore"
232
+ - ".kitchen.yml"
233
+ - ".travis.yml"
234
+ - ".yardopts"
235
+ - Gemfile
236
+ - LICENSE
237
+ - README.md
238
+ - Rakefile
239
+ - certs/miah_johnson.pem
240
+ - chef_instance.gemspec
241
+ - lib/chef_instance/install.rb
242
+ - lib/chef_instance/install/existing.rb
243
+ - lib/chef_instance/install/package.rb
244
+ - lib/chef_instance/provider_instance.rb
245
+ - lib/chef_instance/resource_instance.rb
246
+ - lib/chef_instance/service.rb
247
+ - lib/chef_instance/service/init.rb
248
+ - lib/chef_instance/service/runit.rb
249
+ - lib/chef_instance/version.rb
250
+ - test/spec/install/existing_spec.rb
251
+ - test/spec/install/package_spec.rb
252
+ - test/spec/install_spec.rb
253
+ - test/spec/provider_instance_spec.rb
254
+ - test/spec/resource_instance_spec.rb
255
+ - test/spec/service/init_spec.rb
256
+ - test/spec/service/runit_spec.rb
257
+ - test/spec/service_spec.rb
258
+ - test/spec/spec_helper.rb
259
+ homepage: https://gitlab.com/viscera/chef_instance
260
+ licenses:
261
+ - Apache-2.0
262
+ metadata: {}
263
+ post_install_message:
264
+ rdoc_options: []
265
+ require_paths:
266
+ - lib
267
+ required_ruby_version: !ruby/object:Gem::Requirement
268
+ requirements:
269
+ - - ">="
270
+ - !ruby/object:Gem::Version
271
+ version: '0'
272
+ required_rubygems_version: !ruby/object:Gem::Requirement
273
+ requirements:
274
+ - - ">="
275
+ - !ruby/object:Gem::Version
276
+ version: '0'
277
+ requirements: []
278
+ rubyforge_project:
279
+ rubygems_version: 2.4.1
280
+ signing_key:
281
+ specification_version: 4
282
+ summary: Chef Resource & Provider Super Classes forbuilding stand-alone instances
283
+ of software.
284
+ test_files:
285
+ - test/spec/install/existing_spec.rb
286
+ - test/spec/install/package_spec.rb
287
+ - test/spec/install_spec.rb
288
+ - test/spec/provider_instance_spec.rb
289
+ - test/spec/resource_instance_spec.rb
290
+ - test/spec/service/init_spec.rb
291
+ - test/spec/service/runit_spec.rb
292
+ - test/spec/service_spec.rb
293
+ - test/spec/spec_helper.rb