chake 0.21.1 → 0.82

Sign up to get free protection for your applications and to get access to all the features.
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