orchparty 2.0.0 → 2.0.3
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/lib/orchparty/kubernetes_application.rb +0 -1
- data/lib/orchparty/transformations/variable.rb +10 -9
- data/lib/orchparty/version.rb +1 -1
- data/orchparty.gemspec +3 -3
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81cbf4dee8cf2042995f19b85c90e26f7f40eb73522901c6047fa5a6d0a57ce2
|
4
|
+
data.tar.gz: 8dfe9bfbcbd929b9be9e474e5766dee950e2fdd2dc0dc27e8035d10eebb24b69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14d764436e9341c27d103ec925380b0bfc327c98a415dbbbb8f9f1b40ac841fa1de0a99ec8a755aa28c99229cc94dba78ed85376d04909f6a8ea0a0840108541
|
7
|
+
data.tar.gz: 5504256f032f38c2334958b1591dd5c51b063b4c27d597cd938eb06766c72eb12f6eb3a58bb831cb893ecd024feb57d526f7f8588a81674ec92c3236b4d667a3
|
@@ -8,24 +8,27 @@ module Orchparty
|
|
8
8
|
|
9
9
|
def transform(ast)
|
10
10
|
ast.applications.each do |_, application|
|
11
|
+
app_variables = application._variables || {}
|
12
|
+
app_variables = app_variables.merge({application: application.merge(application._variables)})
|
11
13
|
application.services = application.services.each do |_, service|
|
12
|
-
resolve(
|
14
|
+
resolve(app_variables, service, service)
|
13
15
|
end
|
14
16
|
application.volumes = application.volumes.each do |_, volume|
|
15
|
-
resolve(
|
17
|
+
resolve(app_variables, volume, nil) if volume
|
16
18
|
end
|
17
19
|
end
|
18
20
|
ast
|
19
21
|
end
|
20
22
|
|
21
|
-
def resolve(
|
23
|
+
def resolve(app_variables, subject, service)
|
24
|
+
context = build_context(app_variables, service)
|
22
25
|
subject.deep_transform_values! do |v|
|
23
26
|
if v.respond_to?(:call)
|
24
|
-
eval_value(
|
27
|
+
eval_value(context, v)
|
25
28
|
elsif v.is_a? Array
|
26
29
|
v.map do |v|
|
27
30
|
if v.respond_to?(:call)
|
28
|
-
eval_value(
|
31
|
+
eval_value(context, v)
|
29
32
|
else
|
30
33
|
v
|
31
34
|
end
|
@@ -40,12 +43,10 @@ module Orchparty
|
|
40
43
|
context.instance_exec(&value)
|
41
44
|
end
|
42
45
|
|
43
|
-
def build_context(
|
44
|
-
variables = application._variables || {}
|
45
|
-
variables = variables.merge({application: application.merge(application._variables)})
|
46
|
+
def build_context(variables, service)
|
46
47
|
if service
|
47
48
|
variables = variables.merge(service._variables)
|
48
|
-
variables =
|
49
|
+
variables[:service] = service.merge(service._variables)
|
49
50
|
end
|
50
51
|
context = Context.new(variables)
|
51
52
|
context._force_variable_definition = @force_variable_definition
|
data/lib/orchparty/version.rb
CHANGED
data/orchparty.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
With this gem you can write docker-compose like orchestration configuration with a Ruby DSL, that supports mixins, imports and variables.!
|
15
15
|
Out of this you can generate docker-compose.yml v1 or v2.
|
16
16
|
EOF
|
17
|
-
spec.homepage = "https://
|
17
|
+
spec.homepage = "https://github.com/jannishuebl/orchparty"
|
18
18
|
spec.license = "LGPL-3.0"
|
19
19
|
|
20
20
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_dependency "gli", "~> 2.16.0"
|
29
29
|
spec.add_dependency "activesupport"
|
30
30
|
spec.add_dependency "erubis"
|
31
|
-
spec.add_development_dependency "bundler"
|
32
|
-
spec.add_development_dependency "rake", "~>
|
31
|
+
spec.add_development_dependency "bundler"
|
32
|
+
spec.add_development_dependency "rake", "~> 12.0"
|
33
33
|
spec.add_development_dependency "rspec", "~> 3.0"
|
34
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: orchparty
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jannis Huebl
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hashie
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '12.0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '12.0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rspec
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -153,11 +153,11 @@ files:
|
|
153
153
|
- lib/orchparty/transformations/variable.rb
|
154
154
|
- lib/orchparty/version.rb
|
155
155
|
- orchparty.gemspec
|
156
|
-
homepage: https://
|
156
|
+
homepage: https://github.com/jannishuebl/orchparty
|
157
157
|
licenses:
|
158
158
|
- LGPL-3.0
|
159
159
|
metadata: {}
|
160
|
-
post_install_message:
|
160
|
+
post_install_message:
|
161
161
|
rdoc_options: []
|
162
162
|
require_paths:
|
163
163
|
- lib
|
@@ -172,8 +172,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: '0'
|
174
174
|
requirements: []
|
175
|
-
rubygems_version: 3.
|
176
|
-
signing_key:
|
175
|
+
rubygems_version: 3.1.4
|
176
|
+
signing_key:
|
177
177
|
specification_version: 4
|
178
178
|
summary: Write your orchestration configuration with a Ruby DSL that allows you to
|
179
179
|
have mixins, imports and variables.
|