serverkit 0.4.4 → 0.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +1 -0
- data/Vagrantfile +1 -0
- data/example/recipe.yml +3 -0
- data/lib/serverkit/loaders/base_loader.rb +8 -1
- data/lib/serverkit/resource_builder.rb +1 -0
- data/lib/serverkit/resources/file.rb +0 -1
- data/lib/serverkit/resources/group.rb +39 -0
- data/lib/serverkit/resources/template.rb +9 -3
- data/lib/serverkit/variables.rb +10 -0
- data/lib/serverkit/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6ee2916ff42d02d386e7e2bc58ea31a1df7bbd8c
|
4
|
+
data.tar.gz: 2cbeeb2c02e1c8a3fef9dc58a5aa518907b653c1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1541640d4ec471ea758ef42334d143d0bfdd71c2bb39322527f8c08716901c68bc331ec36f50993dfb399a012931908bb367f0a74e81428a171616ebe6c9aab7
|
7
|
+
data.tar.gz: 4a2e87212542457d96cba9407b5c30428a0f87b68957be2193ff9f023dfbd1b880f40cf2b477441a87a5a7be55926e4c608e663d68879ead6965453a73efce1e
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -198,6 +198,7 @@ A resource must have a valid type attribute like:
|
|
198
198
|
- [directory](https://github.com/r7kamura/serverkit/blob/master/lib/serverkit/resources/directory.rb)
|
199
199
|
- [file](https://github.com/r7kamura/serverkit/blob/master/lib/serverkit/resources/file.rb)
|
200
200
|
- [git](https://github.com/r7kamura/serverkit/blob/master/lib/serverkit/resources/git.rb)
|
201
|
+
- [group](https://github.com/r7kamura/serverkit/blob/master/lib/serverkit/resources/group.rb)
|
201
202
|
- [nothing](https://github.com/r7kamura/serverkit/blob/master/lib/serverkit/resources/nothing.rb)
|
202
203
|
- [package](https://github.com/r7kamura/serverkit/blob/master/lib/serverkit/resources/package.rb)
|
203
204
|
- [recipe](https://github.com/r7kamura/serverkit/blob/master/lib/serverkit/resources/recipe.rb)
|
data/Vagrantfile
CHANGED
data/example/recipe.yml
CHANGED
@@ -40,6 +40,13 @@ module Serverkit
|
|
40
40
|
loaded_class.new({})
|
41
41
|
end
|
42
42
|
|
43
|
+
# @return [ERB]
|
44
|
+
def erb
|
45
|
+
_erb = ERB.new(pathname.read, nil, "-")
|
46
|
+
_erb.filename = pathname.to_s
|
47
|
+
_erb
|
48
|
+
end
|
49
|
+
|
43
50
|
# @return [String]
|
44
51
|
def execute
|
45
52
|
`#{pathname}`
|
@@ -47,7 +54,7 @@ module Serverkit
|
|
47
54
|
|
48
55
|
# @return [String]
|
49
56
|
def expand_erb
|
50
|
-
|
57
|
+
erb.result(binding_for_erb)
|
51
58
|
end
|
52
59
|
|
53
60
|
# @return [String]
|
@@ -3,6 +3,7 @@ require "serverkit/resources/command"
|
|
3
3
|
require "serverkit/resources/directory"
|
4
4
|
require "serverkit/resources/file"
|
5
5
|
require "serverkit/resources/git"
|
6
|
+
require "serverkit/resources/group"
|
6
7
|
require "serverkit/resources/missing"
|
7
8
|
require "serverkit/resources/nothing"
|
8
9
|
require "serverkit/resources/package"
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require "serverkit/resources/base"
|
2
|
+
|
3
|
+
module Serverkit
|
4
|
+
module Resources
|
5
|
+
class Group < Base
|
6
|
+
attribute :name, required: true, type: String
|
7
|
+
attribute :gid, type: Integer
|
8
|
+
|
9
|
+
# @note Override
|
10
|
+
def apply
|
11
|
+
if has_correct_group?
|
12
|
+
run_command_from_identifier(:add_group, name, gid: gid)
|
13
|
+
else
|
14
|
+
run_command_from_identifier(:update_group_gid, name, gid)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
# @note Override
|
19
|
+
def check
|
20
|
+
has_correct_group? && has_correct_gid?
|
21
|
+
end
|
22
|
+
|
23
|
+
private
|
24
|
+
|
25
|
+
def has_correct_gid?
|
26
|
+
gid.nil? || gid == remote_gid
|
27
|
+
end
|
28
|
+
|
29
|
+
def has_correct_group?
|
30
|
+
run_command_from_identifier(:check_group_exists, name)
|
31
|
+
end
|
32
|
+
|
33
|
+
# @return [Integer]
|
34
|
+
def remote_gid
|
35
|
+
run_command_from_identifier(:get_group_gid, name).stdout.strip.to_i
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require "erb"
|
2
2
|
require "serverkit/loaders/variables_loader"
|
3
|
-
require "serverkit/resources/
|
4
|
-
require "tempfile"
|
3
|
+
require "serverkit/resources/remote_file"
|
5
4
|
|
6
5
|
module Serverkit
|
7
6
|
module Resources
|
@@ -12,7 +11,14 @@ module Serverkit
|
|
12
11
|
|
13
12
|
# @note Override
|
14
13
|
def content
|
15
|
-
@content ||=
|
14
|
+
@content ||= erb.result(variables.to_mash.binding)
|
15
|
+
end
|
16
|
+
|
17
|
+
# @return [ERB]
|
18
|
+
def erb
|
19
|
+
_erb = ::ERB.new(template_content, nil, "-")
|
20
|
+
_erb.filename = source
|
21
|
+
_erb
|
16
22
|
end
|
17
23
|
|
18
24
|
# @return [String] ERB content
|
data/lib/serverkit/variables.rb
CHANGED
@@ -22,6 +22,16 @@ module Serverkit
|
|
22
22
|
end
|
23
23
|
|
24
24
|
class BindableMash < Hashie::Mash
|
25
|
+
DEFAULT_PROC = -> (hash, key) do
|
26
|
+
raise KeyError, "key not found: #{key.inspect} (perhaps variables are wrong?)"
|
27
|
+
end
|
28
|
+
|
29
|
+
# @note Override to raise KeyError on missing key
|
30
|
+
def initialize(*, &block)
|
31
|
+
super
|
32
|
+
self.default_proc = DEFAULT_PROC
|
33
|
+
end
|
34
|
+
|
25
35
|
# @note Override visibility from private to public
|
26
36
|
def binding
|
27
37
|
super
|
data/lib/serverkit/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: serverkit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryo Nakamura
|
@@ -248,6 +248,7 @@ files:
|
|
248
248
|
- lib/serverkit/resources/entry.rb
|
249
249
|
- lib/serverkit/resources/file.rb
|
250
250
|
- lib/serverkit/resources/git.rb
|
251
|
+
- lib/serverkit/resources/group.rb
|
251
252
|
- lib/serverkit/resources/missing.rb
|
252
253
|
- lib/serverkit/resources/nothing.rb
|
253
254
|
- lib/serverkit/resources/package.rb
|