chake 0.21.1 → 0.82
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ackrc +2 -0
- data/.gitignore +22 -0
- data/.gitlab-ci.yml +24 -0
- data/.manifest +65 -0
- data/.rubocop.yml +55 -0
- data/.rubocop_todo.yml +40 -0
- data/ChangeLog.md +38 -0
- data/README.chef.md +70 -0
- data/README.itamae.md +58 -0
- data/README.md +118 -85
- data/README.shell.md +30 -0
- data/Rakefile +36 -10
- data/bin/chake +2 -2
- data/chake.gemspec +16 -16
- data/examples/test/.ssh_config +4 -0
- data/examples/test/Rakefile +1 -1
- data/examples/test/Vagrantfile +0 -64
- data/examples/test/config.rb +4 -4
- data/examples/test/cookbooks/example/files/{host-homer → host-lemur}/test.asc +0 -0
- data/lib/chake.rb +111 -153
- data/lib/chake/bootstrap/chef/01_installed.sh +4 -0
- data/lib/chake/bootstrap/{01_debian.sh → chef/02_debian.sh} +0 -0
- data/lib/chake/bootstrap/{99_unsupported.sh → chef/99_unsupported.sh} +0 -0
- data/lib/chake/config.rb +10 -8
- data/lib/chake/config_manager.rb +89 -0
- data/lib/chake/config_manager/chef.rb +35 -0
- data/lib/chake/config_manager/itamae.rb +57 -0
- data/lib/chake/config_manager/shell.rb +34 -0
- data/lib/chake/config_manager/skel/chef/Rakefile +1 -0
- data/lib/chake/config_manager/skel/chef/config.rb +4 -0
- data/lib/chake/config_manager/skel/chef/cookbooks/basics/recipes/default.rb +1 -0
- data/lib/chake/config_manager/skel/chef/nodes.yaml +3 -0
- data/lib/chake/config_manager/skel/itamae/Rakefile +1 -0
- data/lib/chake/config_manager/skel/itamae/cookbooks/basics/default.rb +1 -0
- data/lib/chake/config_manager/skel/itamae/nodes.yaml +3 -0
- data/lib/chake/config_manager/skel/itamae/roles/basic.rb +1 -0
- data/lib/chake/config_manager/skel/shell/Rakefile +1 -0
- data/lib/chake/config_manager/skel/shell/nodes.yaml +3 -0
- data/lib/chake/connection.rb +83 -0
- data/lib/chake/{backend → connection}/local.rb +2 -8
- data/lib/chake/{backend → connection}/ssh.rb +6 -14
- data/lib/chake/node.rb +49 -29
- data/lib/chake/readline.rb +6 -10
- data/lib/chake/version.rb +1 -1
- data/lib/chake/wipe.rb +18 -0
- data/man/.gitignore +2 -0
- data/man/Rakefile +28 -14
- data/man/readme2man.sed +5 -5
- data/spec/chake/backend/local_spec.rb +5 -6
- data/spec/chake/backend/ssh_spec.rb +8 -10
- data/spec/chake/backend_spec.rb +1 -2
- data/spec/chake/config_manager/chef_spec.rb +38 -0
- data/spec/chake/config_manager/itamae_spec.rb +87 -0
- data/spec/chake/config_manager/shell_spec.rb +54 -0
- data/spec/chake/config_manager_spec.rb +23 -0
- data/spec/chake/node_spec.rb +38 -15
- data/spec/spec_helper.rb +37 -17
- metadata +66 -47
- data/coverage/assets/0.11.0/application.css +0 -809
- data/coverage/assets/0.11.0/application.js +0 -43679
- data/coverage/assets/0.11.0/colorbox/border.png +0 -0
- data/coverage/assets/0.11.0/colorbox/controls.png +0 -0
- data/coverage/assets/0.11.0/colorbox/loading.gif +0 -0
- data/coverage/assets/0.11.0/colorbox/loading_background.png +0 -0
- data/coverage/assets/0.11.0/favicon_green.png +0 -0
- data/coverage/assets/0.11.0/favicon_red.png +0 -0
- data/coverage/assets/0.11.0/favicon_yellow.png +0 -0
- data/coverage/assets/0.11.0/loading.gif +0 -0
- data/coverage/assets/0.11.0/magnify.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/coverage/assets/0.11.0/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/coverage/index.html +0 -4158
- data/examples/test/nodes.yaml +0 -7
- data/examples/test/tmp/chake/test.local.bootstrap +0 -21
- data/examples/test/tmp/chake/test.local.json +0 -7
- data/examples/test/tmp/chake/test.local.plain.sha1sum +0 -9
- data/lib/chake/backend.rb +0 -80
- 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
|
data/spec/chake/node_spec.rb
CHANGED
@@ -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.
|
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
|
18
|
-
|
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.
|
23
|
+
it('uses ssh') { expect(with_username.connection).to be_an_instance_of(Chake::Connection::Ssh) }
|
24
24
|
|
25
|
-
let(:
|
26
|
-
it('accepts
|
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
|
29
|
-
expect { Chake::Node.new('foobar://bazqux').
|
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.
|
45
|
+
expect(with_port_but_no_scheme.connection.to_s).to eq('ssh')
|
46
46
|
end
|
47
47
|
|
48
|
-
[
|
49
|
-
it("delegates #{method} to
|
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
|
-
|
52
|
+
connection = double
|
53
53
|
args = Object.new
|
54
|
-
allow(node).to receive(:
|
54
|
+
allow(node).to receive(:connection).and_return(connection)
|
55
55
|
|
56
|
-
expect(
|
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/
|
14
|
+
require 'chake/connection'
|
10
15
|
|
11
16
|
require 'rspec/version'
|
12
17
|
if RSpec::Version::STRING < '2.14'
|
13
|
-
puts
|
18
|
+
puts 'Skipping tests, need RSpec >= 2.14'
|
14
19
|
exit
|
15
20
|
end
|
16
21
|
|
17
|
-
shared_examples
|
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\
|
23
|
-
expect(IO).to receive(:popen).with(
|
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(
|
27
|
-
expect(
|
28
|
-
expect(
|
29
|
-
|
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(
|
34
|
-
|
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(
|
39
|
-
expect(
|
40
|
-
|
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.
|
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:
|
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: '
|
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: '
|
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:
|
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:
|
70
|
+
name: simplecov
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
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:
|
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
|
-
-
|
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-
|
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/
|
145
|
-
- lib/chake/bootstrap/
|
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.
|
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
|