chake 0.21.1 → 0.82

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.
Files changed (90) hide show
  1. checksums.yaml +4 -4
  2. data/.ackrc +2 -0
  3. data/.gitignore +22 -0
  4. data/.gitlab-ci.yml +24 -0
  5. data/.manifest +65 -0
  6. data/.rubocop.yml +55 -0
  7. data/.rubocop_todo.yml +40 -0
  8. data/ChangeLog.md +38 -0
  9. data/README.chef.md +70 -0
  10. data/README.itamae.md +58 -0
  11. data/README.md +118 -85
  12. data/README.shell.md +30 -0
  13. data/Rakefile +36 -10
  14. data/bin/chake +2 -2
  15. data/chake.gemspec +16 -16
  16. data/examples/test/.ssh_config +4 -0
  17. data/examples/test/Rakefile +1 -1
  18. data/examples/test/Vagrantfile +0 -64
  19. data/examples/test/config.rb +4 -4
  20. data/examples/test/cookbooks/example/files/{host-homer → host-lemur}/test.asc +0 -0
  21. data/lib/chake.rb +111 -153
  22. data/lib/chake/bootstrap/chef/01_installed.sh +4 -0
  23. data/lib/chake/bootstrap/{01_debian.sh → chef/02_debian.sh} +0 -0
  24. data/lib/chake/bootstrap/{99_unsupported.sh → chef/99_unsupported.sh} +0 -0
  25. data/lib/chake/config.rb +10 -8
  26. data/lib/chake/config_manager.rb +89 -0
  27. data/lib/chake/config_manager/chef.rb +35 -0
  28. data/lib/chake/config_manager/itamae.rb +57 -0
  29. data/lib/chake/config_manager/shell.rb +34 -0
  30. data/lib/chake/config_manager/skel/chef/Rakefile +1 -0
  31. data/lib/chake/config_manager/skel/chef/config.rb +4 -0
  32. data/lib/chake/config_manager/skel/chef/cookbooks/basics/recipes/default.rb +1 -0
  33. data/lib/chake/config_manager/skel/chef/nodes.yaml +3 -0
  34. data/lib/chake/config_manager/skel/itamae/Rakefile +1 -0
  35. data/lib/chake/config_manager/skel/itamae/cookbooks/basics/default.rb +1 -0
  36. data/lib/chake/config_manager/skel/itamae/nodes.yaml +3 -0
  37. data/lib/chake/config_manager/skel/itamae/roles/basic.rb +1 -0
  38. data/lib/chake/config_manager/skel/shell/Rakefile +1 -0
  39. data/lib/chake/config_manager/skel/shell/nodes.yaml +3 -0
  40. data/lib/chake/connection.rb +83 -0
  41. data/lib/chake/{backend → connection}/local.rb +2 -8
  42. data/lib/chake/{backend → connection}/ssh.rb +6 -14
  43. data/lib/chake/node.rb +49 -29
  44. data/lib/chake/readline.rb +6 -10
  45. data/lib/chake/version.rb +1 -1
  46. data/lib/chake/wipe.rb +18 -0
  47. data/man/.gitignore +2 -0
  48. data/man/Rakefile +28 -14
  49. data/man/readme2man.sed +5 -5
  50. data/spec/chake/backend/local_spec.rb +5 -6
  51. data/spec/chake/backend/ssh_spec.rb +8 -10
  52. data/spec/chake/backend_spec.rb +1 -2
  53. data/spec/chake/config_manager/chef_spec.rb +38 -0
  54. data/spec/chake/config_manager/itamae_spec.rb +87 -0
  55. data/spec/chake/config_manager/shell_spec.rb +54 -0
  56. data/spec/chake/config_manager_spec.rb +23 -0
  57. data/spec/chake/node_spec.rb +38 -15
  58. data/spec/spec_helper.rb +37 -17
  59. metadata +66 -47
  60. data/coverage/assets/0.11.0/application.css +0 -809
  61. data/coverage/assets/0.11.0/application.js +0 -43679
  62. data/coverage/assets/0.11.0/colorbox/border.png +0 -0
  63. data/coverage/assets/0.11.0/colorbox/controls.png +0 -0
  64. data/coverage/assets/0.11.0/colorbox/loading.gif +0 -0
  65. data/coverage/assets/0.11.0/colorbox/loading_background.png +0 -0
  66. data/coverage/assets/0.11.0/favicon_green.png +0 -0
  67. data/coverage/assets/0.11.0/favicon_red.png +0 -0
  68. data/coverage/assets/0.11.0/favicon_yellow.png +0 -0
  69. data/coverage/assets/0.11.0/loading.gif +0 -0
  70. data/coverage/assets/0.11.0/magnify.png +0 -0
  71. data/coverage/assets/0.11.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  72. data/coverage/assets/0.11.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  73. data/coverage/assets/0.11.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  74. data/coverage/assets/0.11.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  75. data/coverage/assets/0.11.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  76. data/coverage/assets/0.11.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  77. data/coverage/assets/0.11.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  78. data/coverage/assets/0.11.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  79. data/coverage/assets/0.11.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
  80. data/coverage/assets/0.11.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  81. data/coverage/assets/0.11.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
  82. data/coverage/assets/0.11.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
  83. data/coverage/assets/0.11.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  84. data/coverage/index.html +0 -4158
  85. data/examples/test/nodes.yaml +0 -7
  86. data/examples/test/tmp/chake/test.local.bootstrap +0 -21
  87. data/examples/test/tmp/chake/test.local.json +0 -7
  88. data/examples/test/tmp/chake/test.local.plain.sha1sum +0 -9
  89. data/lib/chake/backend.rb +0 -80
  90. data/tags +0 -103
@@ -0,0 +1,54 @@
1
+ require 'chake/node'
2
+ require 'chake/config_manager'
3
+ require 'chake/config_manager/shell'
4
+
5
+ describe Chake::ConfigManager::Shell do |_c|
6
+ let(:node) do
7
+ Chake::Node.new('foobar').tap do |n|
8
+ allow(n).to receive(:path).and_return(nil)
9
+ end
10
+ end
11
+ it 'accepts node with explicit config_manager in data' do
12
+ node.data['config_manager'] = 'shell'
13
+ expect(Chake::ConfigManager.get(node)).to be_a(Chake::ConfigManager::Shell)
14
+ end
15
+ it 'accepts node with `shell` in data' do
16
+ node.data['shell'] = ['date']
17
+ expect(Chake::ConfigManager.get(node)).to be_a(Chake::ConfigManager::Shell)
18
+ end
19
+
20
+ let(:subject) { Chake::ConfigManager::Shell.new(node) }
21
+
22
+ it 'calls all shell commands on converge' do
23
+ node.data['shell'] = %w[date true]
24
+ expect(node).to receive(:run_as_root).with("sh -xec 'date && true'")
25
+ subject.converge
26
+ end
27
+
28
+ it 'changes to node path to run commands' do
29
+ node.data['shell'] = %w[true]
30
+ allow(node).to receive(:path).and_return('/foo')
31
+ expect(node).to receive(:run_as_root).with("sh -xec 'cd /foo && true'")
32
+ subject.converge
33
+ end
34
+
35
+ it 'calls given shell command on apply' do
36
+ node.data['shell'] = %w[date true]
37
+ expect(node).to receive(:run_as_root).with("sh -xec 'reboot'")
38
+ subject.apply('reboot')
39
+ end
40
+
41
+ it 'hides output on converge in silent mode' do
42
+ node.data['shell'] = ['date']
43
+ node.silent = true
44
+ expect(node).to receive(:run_as_root).with("sh -ec 'date' >/dev/null")
45
+ subject.converge
46
+ end
47
+
48
+ it 'hides output on apply in silent mode' do
49
+ node.data['shell'] = ['date']
50
+ node.silent = true
51
+ expect(node).to receive(:run_as_root).with("sh -ec 'reboot' >/dev/null")
52
+ subject.apply('reboot')
53
+ end
54
+ end
@@ -0,0 +1,23 @@
1
+ require 'pathname'
2
+ require 'chake/node'
3
+ require 'chake/config_manager'
4
+
5
+ describe Chake::ConfigManager do
6
+ subject { Chake::ConfigManager.new(Chake::Node.new('ssh://user@hostname.tld')) }
7
+ it 'provides a path' do
8
+ allow(subject).to receive(:name).and_return('xyz')
9
+ expect(subject.path).to eq('/var/tmp/xyz.user')
10
+ end
11
+
12
+ it 'provides bootstrap scripts' do
13
+ bootstrap_steps = subject.bootstrap_steps
14
+ expect(bootstrap_steps).to_not be_empty
15
+ bootstrap_steps.each do |path|
16
+ expect(Pathname(path)).to exist
17
+ end
18
+ end
19
+
20
+ it 'requires uploading by default' do
21
+ expect(subject.needs_upload?).to eq(true)
22
+ end
23
+ end
@@ -1,7 +1,6 @@
1
1
  require 'chake/node'
2
2
 
3
3
  describe Chake::Node do
4
-
5
4
  before do
6
5
  ent = double
7
6
  allow(ent).to receive(:name).and_return('jonhdoe')
@@ -10,23 +9,24 @@ describe Chake::Node do
10
9
 
11
10
  let(:simple) { Chake::Node.new('hostname') }
12
11
  it('has a name') { expect(simple.hostname).to eq('hostname') }
13
- it('uses ssh by default') { expect(simple.backend).to be_an_instance_of(Chake::Backend::Ssh) }
12
+ it('uses ssh by default') { expect(simple.connection).to be_an_instance_of(Chake::Connection::Ssh) }
14
13
  it('user current username by default') {
15
14
  expect(simple.username).to eq('jonhdoe')
16
15
  }
17
- it('writes to /var/tmp/chef.$username') {
18
- expect(simple.path).to eq('/var/tmp/chef.jonhdoe')
16
+ it('writes to specified path') {
17
+ node = Chake::Node.new('ssh://host.tld/path/to/config')
18
+ expect(node.path).to eq('/path/to/config')
19
19
  }
20
20
 
21
21
  let(:with_username) { Chake::Node.new('username@hostname') }
22
22
  it('accepts username') { expect(with_username.username).to eq('username') }
23
- it('uses ssh') { expect(with_username.backend).to be_an_instance_of(Chake::Backend::Ssh) }
23
+ it('uses ssh') { expect(with_username.connection).to be_an_instance_of(Chake::Connection::Ssh) }
24
24
 
25
- let(:with_backend) { Chake::Node.new('local://hostname')}
26
- it('accepts backend as URI scheme') { expect(with_backend.backend).to be_an_instance_of(Chake::Backend::Local) }
25
+ let(:with_connection) { Chake::Node.new('local://hostname') }
26
+ it('accepts connection as URI scheme') { expect(with_connection.connection).to be_an_instance_of(Chake::Connection::Local) }
27
27
 
28
- it('wont accept any backend') do
29
- expect { Chake::Node.new('foobar://bazqux').backend }.to raise_error(ArgumentError)
28
+ it('wont accept any connection') do
29
+ expect { Chake::Node.new('foobar://bazqux').connection }.to raise_error(ArgumentError)
30
30
  end
31
31
 
32
32
  let(:with_data) { Chake::Node.new('local://localhost', 'run_list' => ['recipe[common]']) }
@@ -42,20 +42,43 @@ describe Chake::Node do
42
42
  let(:with_port_but_no_scheme) { Chake::Node.new('foo.bar.com:2222') }
43
43
  it('accepts a port specification without a scheme') do
44
44
  expect(with_port_but_no_scheme.port).to eq(2222)
45
- expect(with_port_but_no_scheme.backend.to_s).to eq('ssh')
45
+ expect(with_port_but_no_scheme.connection.to_s).to eq('ssh')
46
46
  end
47
47
 
48
- [:run, :run_as_root, :rsync_dest].each do |method|
49
- it("delegates #{method} to backend") do
48
+ %i[run run_as_root rsync_dest].each do |method|
49
+ it("delegates #{method} to connection") do
50
50
  node = simple
51
51
 
52
- backend = double
52
+ connection = double
53
53
  args = Object.new
54
- allow(node).to receive(:backend).and_return(backend)
54
+ allow(node).to receive(:connection).and_return(connection)
55
55
 
56
- expect(backend).to receive(method).with(args)
56
+ expect(connection).to receive(method).with(args)
57
57
  node.send(method, args)
58
58
  end
59
59
  end
60
60
 
61
+ it 'delegates converge to config_manager' do
62
+ node = simple
63
+ expect(node.config_manager).to receive(:converge)
64
+ node.converge
65
+ end
66
+
67
+ it 'delegates apply to config_manager' do
68
+ node = simple
69
+ expect(node.config_manager).to receive(:apply).with('myrecipe')
70
+ node.apply('myrecipe')
71
+ end
72
+
73
+ it 'falls back to writing to path specified by config manager' do
74
+ expect(simple.path).to eq(simple.config_manager.path)
75
+ end
76
+
77
+ it 'calculates max node name length' do
78
+ Chake::Node.max_node_name_length = 0
79
+ Chake::Node.new('foobar')
80
+ expect(Chake::Node.max_node_name_length).to eq(6)
81
+ Chake::Node.new('foobarbaz')
82
+ expect(Chake::Node.max_node_name_length).to eq(9)
83
+ end
61
84
  end
data/spec/spec_helper.rb CHANGED
@@ -1,44 +1,64 @@
1
1
  begin
2
2
  require 'simplecov'
3
- SimpleCov.start
3
+ SimpleCov.start do
4
+ minimum_coverage 35.3
5
+ track_files 'lib/**/*.rb'
6
+ add_filter %r{^/spec/}
7
+ add_filter %r{^/lib/chake/config_manager/skel/}
8
+ end
4
9
  rescue LoadError
5
10
  puts "W: simplecov not installed, we won't have a coverage report"
6
11
  end
7
12
 
8
13
  require 'chake/node'
9
- require 'chake/backend'
14
+ require 'chake/connection'
10
15
 
11
16
  require 'rspec/version'
12
17
  if RSpec::Version::STRING < '2.14'
13
- puts "Skipping tests, need RSpec >= 2.14"
18
+ puts 'Skipping tests, need RSpec >= 2.14'
14
19
  exit
15
20
  end
16
21
 
17
- shared_examples "Chake::Backend" do |backend_class|
18
-
19
- let(:backend) { backend_class.new(node) }
22
+ shared_examples 'Chake::Connection' do |connection_class|
23
+ let(:connection) { connection_class.new(node) }
20
24
 
21
25
  it('runs commands') do
22
- io = StringIO.new("line 1\nline 2\n")
23
- expect(IO).to receive(:popen).with(backend.command_runner + ['/bin/sh'], mode='w+', Hash).and_return(io)
26
+ io = StringIO.new("line 1\n line 2\n")
27
+ expect(IO).to receive(:popen).with(connection.command_runner + ['/bin/sh'], 'w+', Hash).and_return(io)
24
28
  expect(io).to receive(:write).with('something').ordered
25
29
  expect(io).to receive(:close_write).ordered
26
- expect(backend).to receive(:printf).with(anything, "myhost", "something")
27
- expect(backend).to receive(:printf).with(anything, "myhost", "line 1")
28
- expect(backend).to receive(:printf).with(anything, "myhost", "line 2")
29
- backend.run('something')
30
+ expect(node).to receive(:log).with('$ something')
31
+ expect(node).to receive(:log).with('line 1')
32
+ expect(node).to receive(:log).with(' line 2')
33
+ connection.run('something')
30
34
  end
31
35
 
32
36
  it('runs as root') do
33
- expect(backend).to receive(:run).with('sudo something')
34
- backend.run_as_root('something')
37
+ expect(connection).to receive(:run).with('sudo something')
38
+ connection.run_as_root('something')
35
39
  end
36
40
 
37
41
  it('does not use sudo if already root') do
38
- allow(backend.node).to receive(:remote_username).and_return('root')
39
- expect(backend).to receive(:run).with('something')
40
- backend.run_as_root('something')
42
+ allow(connection.node).to receive(:remote_username).and_return('root')
43
+ expect(connection).to receive(:run).with('something')
44
+ connection.run_as_root('something')
41
45
  end
46
+ end
42
47
 
48
+ module Helpers
49
+ def silence(stream)
50
+ orig_stream = stream.clone
51
+ begin
52
+ File.open('/dev/null', 'w') do |f|
53
+ stream.reopen(f)
54
+ yield
55
+ end
56
+ ensure
57
+ stream.reopen(orig_stream)
58
+ end
59
+ end
43
60
  end
44
61
 
62
+ RSpec.configure do |c|
63
+ c.include Helpers
64
+ end
metadata CHANGED
@@ -1,29 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.1
4
+ version: '0.82'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Antonio Terceiro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-26 00:00:00.000000000 Z
11
+ date: 2021-06-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.5'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.5'
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ronn-ng
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rspec
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +53,7 @@ dependencies:
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
- name: simplecov
56
+ name: rubocop
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - ">="
@@ -53,19 +67,19 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: asciidoctor
70
+ name: simplecov
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ">="
60
74
  - !ruby/object:Gem::Version
61
- version: 1.5.5
75
+ version: '0'
62
76
  type: :development
63
77
  prerelease: false
64
78
  version_requirements: !ruby/object:Gem::Requirement
65
79
  requirements:
66
80
  - - ">="
67
81
  - !ruby/object:Gem::Version
68
- version: 1.5.5
82
+ version: '0'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rake
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -92,70 +106,71 @@ executables:
92
106
  extensions: []
93
107
  extra_rdoc_files: []
94
108
  files:
109
+ - ".ackrc"
110
+ - ".gitignore"
111
+ - ".gitlab-ci.yml"
112
+ - ".manifest"
113
+ - ".rubocop.yml"
114
+ - ".rubocop_todo.yml"
95
115
  - ChangeLog.md
96
116
  - Gemfile
97
117
  - LICENSE.txt
118
+ - README.chef.md
119
+ - README.itamae.md
98
120
  - README.md
121
+ - README.shell.md
99
122
  - Rakefile
100
123
  - bin/chake
101
124
  - chake.gemspec
102
125
  - chake.spec.erb
103
- - coverage/assets/0.11.0/application.css
104
- - coverage/assets/0.11.0/application.js
105
- - coverage/assets/0.11.0/colorbox/border.png
106
- - coverage/assets/0.11.0/colorbox/controls.png
107
- - coverage/assets/0.11.0/colorbox/loading.gif
108
- - coverage/assets/0.11.0/colorbox/loading_background.png
109
- - coverage/assets/0.11.0/favicon_green.png
110
- - coverage/assets/0.11.0/favicon_red.png
111
- - coverage/assets/0.11.0/favicon_yellow.png
112
- - coverage/assets/0.11.0/loading.gif
113
- - coverage/assets/0.11.0/magnify.png
114
- - coverage/assets/0.11.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png
115
- - coverage/assets/0.11.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png
116
- - coverage/assets/0.11.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png
117
- - coverage/assets/0.11.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png
118
- - coverage/assets/0.11.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png
119
- - coverage/assets/0.11.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png
120
- - coverage/assets/0.11.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png
121
- - coverage/assets/0.11.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png
122
- - coverage/assets/0.11.0/smoothness/images/ui-icons_222222_256x240.png
123
- - coverage/assets/0.11.0/smoothness/images/ui-icons_2e83ff_256x240.png
124
- - coverage/assets/0.11.0/smoothness/images/ui-icons_454545_256x240.png
125
- - coverage/assets/0.11.0/smoothness/images/ui-icons_888888_256x240.png
126
- - coverage/assets/0.11.0/smoothness/images/ui-icons_cd0a0a_256x240.png
127
- - coverage/index.html
126
+ - examples/test/.ssh_config
128
127
  - examples/test/Rakefile
129
128
  - examples/test/Vagrantfile
130
129
  - examples/test/config.rb
131
130
  - examples/test/cookbooks/basics/recipes/default.rb
132
131
  - examples/test/cookbooks/example/files/default/test
133
- - examples/test/cookbooks/example/files/host-homer/test.asc
132
+ - examples/test/cookbooks/example/files/host-lemur/test.asc
134
133
  - examples/test/cookbooks/example/recipes/default.rb
135
- - examples/test/nodes.yaml
136
- - examples/test/tmp/chake/test.local.bootstrap
137
- - examples/test/tmp/chake/test.local.json
138
- - examples/test/tmp/chake/test.local.plain.sha1sum
139
134
  - lib/chake.rb
140
- - lib/chake/backend.rb
141
- - lib/chake/backend/local.rb
142
- - lib/chake/backend/ssh.rb
143
135
  - lib/chake/bootstrap/00_set_hostname.sh
144
- - lib/chake/bootstrap/01_debian.sh
145
- - lib/chake/bootstrap/99_unsupported.sh
136
+ - lib/chake/bootstrap/chef/01_installed.sh
137
+ - lib/chake/bootstrap/chef/02_debian.sh
138
+ - lib/chake/bootstrap/chef/99_unsupported.sh
146
139
  - lib/chake/config.rb
140
+ - lib/chake/config_manager.rb
141
+ - lib/chake/config_manager/chef.rb
142
+ - lib/chake/config_manager/itamae.rb
143
+ - lib/chake/config_manager/shell.rb
144
+ - lib/chake/config_manager/skel/chef/Rakefile
145
+ - lib/chake/config_manager/skel/chef/config.rb
146
+ - lib/chake/config_manager/skel/chef/cookbooks/basics/recipes/default.rb
147
+ - lib/chake/config_manager/skel/chef/nodes.yaml
148
+ - lib/chake/config_manager/skel/itamae/Rakefile
149
+ - lib/chake/config_manager/skel/itamae/cookbooks/basics/default.rb
150
+ - lib/chake/config_manager/skel/itamae/nodes.yaml
151
+ - lib/chake/config_manager/skel/itamae/roles/basic.rb
152
+ - lib/chake/config_manager/skel/shell/Rakefile
153
+ - lib/chake/config_manager/skel/shell/nodes.yaml
154
+ - lib/chake/connection.rb
155
+ - lib/chake/connection/local.rb
156
+ - lib/chake/connection/ssh.rb
147
157
  - lib/chake/node.rb
148
158
  - lib/chake/readline.rb
149
159
  - lib/chake/tmpdir.rb
150
160
  - lib/chake/version.rb
161
+ - lib/chake/wipe.rb
162
+ - man/.gitignore
151
163
  - man/Rakefile
152
164
  - man/readme2man.sed
153
165
  - spec/chake/backend/local_spec.rb
154
166
  - spec/chake/backend/ssh_spec.rb
155
167
  - spec/chake/backend_spec.rb
168
+ - spec/chake/config_manager/chef_spec.rb
169
+ - spec/chake/config_manager/itamae_spec.rb
170
+ - spec/chake/config_manager/shell_spec.rb
171
+ - spec/chake/config_manager_spec.rb
156
172
  - spec/chake/node_spec.rb
157
173
  - spec/spec_helper.rb
158
- - tags
159
174
  homepage: https://gitlab.com/terceiro/chake
160
175
  licenses:
161
176
  - MIT
@@ -175,7 +190,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
175
190
  - !ruby/object:Gem::Version
176
191
  version: '0'
177
192
  requirements: []
178
- rubygems_version: 3.1.2
193
+ rubygems_version: 3.2.5
179
194
  signing_key:
180
195
  specification_version: 4
181
196
  summary: serverless configuration management tool for chef
@@ -183,5 +198,9 @@ test_files:
183
198
  - spec/chake/backend/local_spec.rb
184
199
  - spec/chake/backend/ssh_spec.rb
185
200
  - spec/chake/backend_spec.rb
201
+ - spec/chake/config_manager/chef_spec.rb
202
+ - spec/chake/config_manager/itamae_spec.rb
203
+ - spec/chake/config_manager/shell_spec.rb
204
+ - spec/chake/config_manager_spec.rb
186
205
  - spec/chake/node_spec.rb
187
206
  - spec/spec_helper.rb