serverkit 0.4.4 → 0.4.5
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/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
|