itamae 1.0.0.beta5 → 1.0.0.beta6
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 +4 -4
- data/itamae.gemspec +1 -4
- data/lib/itamae/resource/base.rb +11 -4
- data/lib/itamae/resource/service.rb +8 -10
- data/lib/itamae/version.rb +1 -1
- data/spec/integration/recipes/default.rb +18 -0
- data/spec/unit/lib/itamae/resource/remote_file_spec.rb +1 -0
- metadata +4 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 32cd433377eae0ebf109bcb64076577f38e72d7c
|
4
|
+
data.tar.gz: a83208334949e56c3597828e681d91a4050fb4ff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6aaabb06cdcc15ac3fa157f9a3aa7196218fa689e481d8ffe1aa095e865cee4b96328e30024168db08adf1888f9562f69f8439ac4036433584e81b7442d5044d
|
7
|
+
data.tar.gz: 095bcc26d0f2dd25320241f4ff651980a2beb212e0e4188da3b91cfa2e32052fb3a66671d651b5d3fe2c240f30fadf7fe50ceb90431869bd43f3bf4c9bfff680
|
data/itamae.gemspec
CHANGED
@@ -18,13 +18,10 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
20
|
spec.add_runtime_dependency "thor"
|
21
|
-
spec.add_runtime_dependency "specinfra", "2.0.0.
|
21
|
+
spec.add_runtime_dependency "specinfra", "2.0.0.beta36"
|
22
22
|
spec.add_runtime_dependency "hashie"
|
23
23
|
spec.add_runtime_dependency "ansi"
|
24
24
|
|
25
|
-
# TODO: move to specinfra
|
26
|
-
spec.add_runtime_dependency "net-scp"
|
27
|
-
|
28
25
|
spec.add_development_dependency "bundler", "~> 1.3"
|
29
26
|
spec.add_development_dependency "rake"
|
30
27
|
spec.add_development_dependency "rspec", "~> 3.0"
|
data/lib/itamae/resource/base.rb
CHANGED
@@ -23,7 +23,7 @@ module Itamae
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
-
define_attribute :action, type: Symbol, required: true
|
26
|
+
define_attribute :action, type: [Symbol, Array], required: true
|
27
27
|
|
28
28
|
attr_reader :resource_name
|
29
29
|
attr_reader :attributes
|
@@ -60,7 +60,9 @@ module Itamae
|
|
60
60
|
show_differences
|
61
61
|
|
62
62
|
unless options[:dry_run]
|
63
|
-
|
63
|
+
[action].flatten.each do |action|
|
64
|
+
public_send("#{specific_action || action}_action".to_sym)
|
65
|
+
end
|
64
66
|
end
|
65
67
|
|
66
68
|
updated! if different?
|
@@ -149,8 +151,13 @@ module Itamae
|
|
149
151
|
raise Resource::AttributeMissingError, "'#{key}' attribute is required but it is not set."
|
150
152
|
end
|
151
153
|
|
152
|
-
if @attributes[key] && details[:type]
|
153
|
-
|
154
|
+
if @attributes[key] && details[:type]
|
155
|
+
valid_type = [details[:type]].flatten.any? do |type|
|
156
|
+
@attributes[key].is_a?(type)
|
157
|
+
end
|
158
|
+
unless valid_type
|
159
|
+
raise Resource::InvalidTypeError, "#{key} attribute should be #{details[:type]}."
|
160
|
+
end
|
154
161
|
end
|
155
162
|
end
|
156
163
|
end
|
@@ -7,29 +7,27 @@ module Itamae
|
|
7
7
|
define_attribute :name, type: String, default_name: true
|
8
8
|
|
9
9
|
def start_action
|
10
|
-
|
10
|
+
run_specinfra(:start_service, name)
|
11
11
|
end
|
12
12
|
|
13
13
|
def stop_action
|
14
|
-
|
14
|
+
run_specinfra(:stop_service, name)
|
15
15
|
end
|
16
16
|
|
17
17
|
def restart_action
|
18
|
-
|
18
|
+
run_specinfra(:restart_service, name)
|
19
19
|
end
|
20
20
|
|
21
21
|
def reload_action
|
22
|
-
|
22
|
+
run_specinfra(:reload_service, name)
|
23
23
|
end
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
# TODO: Delegate to Specinfra
|
28
|
-
run_command([init_script_path, command])
|
25
|
+
def enable_action
|
26
|
+
run_specinfra(:enable_service, name)
|
29
27
|
end
|
30
28
|
|
31
|
-
def
|
32
|
-
|
29
|
+
def disable_action
|
30
|
+
run_specinfra(:disable_service, name)
|
33
31
|
end
|
34
32
|
end
|
35
33
|
end
|
data/lib/itamae/version.rb
CHANGED
@@ -89,6 +89,24 @@ execute "ps -C cron > /tmp/cron_running; true"
|
|
89
89
|
|
90
90
|
######
|
91
91
|
|
92
|
+
package "nginx"
|
93
|
+
|
94
|
+
service "nginx" do
|
95
|
+
action [:enable, :start]
|
96
|
+
end
|
97
|
+
|
98
|
+
execute "test -f /etc/rc3.d/S20nginx" # test
|
99
|
+
execute "test $(ps h -C nginx | wc -l) -gt 0" # test
|
100
|
+
|
101
|
+
service "nginx" do
|
102
|
+
action [:disable, :stop]
|
103
|
+
end
|
104
|
+
|
105
|
+
execute "test ! -f /etc/rc3.d/S20nginx" # test
|
106
|
+
execute "test $(ps h -C nginx | wc -l) -eq 0" # test
|
107
|
+
|
108
|
+
######
|
109
|
+
|
92
110
|
link "/tmp-link" do
|
93
111
|
to "/tmp"
|
94
112
|
end
|
@@ -27,6 +27,7 @@ module Itamae
|
|
27
27
|
expect(subject).to receive(:run_specinfra).with(:check_file_is_file, "/path/to/dst").and_return(true)
|
28
28
|
expect(subject).to receive(:run_command).with(["cp", "/path/to/dst", "/path/to/dst.bak"])
|
29
29
|
expect(subject).to receive(:run_command).with(["mv", %r{/tmp/itamae/[\d\.]+}, "/path/to/dst"])
|
30
|
+
subject.pre_action
|
30
31
|
subject.create_action
|
31
32
|
end
|
32
33
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itamae
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.
|
4
|
+
version: 1.0.0.beta6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryota Arai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - '='
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 2.0.0.
|
33
|
+
version: 2.0.0.beta36
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 2.0.0.
|
40
|
+
version: 2.0.0.beta36
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: hashie
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: net-scp
|
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
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: bundler
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|