consul-templaterb 1.21.8 → 1.22.0
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/.travis.yml +5 -4
- data/CHANGELOG.md +37 -17
- data/bin/consul-templaterb +5 -2
- data/lib/consul/async/version.rb +1 -1
- data/samples/demos/compute_pricing.txt.erb +59 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5a383446773f29932a2919164fa521013123aa859be0e6f93141672083261257
|
4
|
+
data.tar.gz: 4d8d2916f5d25eba9d9782b5a21b762091df24e1cd7950d250418b12a1da0a46
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e170417393ad454623c8a2d6e67e2d71ee6642f5ab61ca300836406c8892dd0c8852c610d4671f75c887c547134f8ddd046d20952a75149d8ad8e88c5e6f6230
|
7
|
+
data.tar.gz: 4ac536f6a1f67f3d43d59829cf0427ecc92176e6adba35956ece9f392c8dcc87a9c68824eb9f1b84e3ed86e043996802aeecd8010ccc0f7cbfbb64a97fbae1f8
|
data/.travis.yml
CHANGED
@@ -1,12 +1,13 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.4.
|
4
|
-
- 2.5.
|
5
|
-
- 2.6.
|
3
|
+
- 2.4.8
|
4
|
+
- 2.5.7
|
5
|
+
- 2.6.5
|
6
|
+
- 2.7.0
|
6
7
|
jobs:
|
7
8
|
include:
|
8
9
|
- stage: Gem release
|
9
|
-
rvm: 2.5.
|
10
|
+
rvm: 2.5.7
|
10
11
|
script: echo "Publishing consul-templaterb on rubygems.org ..."
|
11
12
|
deploy:
|
12
13
|
provider: rubygems
|
data/CHANGELOG.md
CHANGED
@@ -2,42 +2,62 @@
|
|
2
2
|
|
3
3
|
## (UNRELEASED)
|
4
4
|
|
5
|
+
## 1.22.0 (January 17, 2020)
|
6
|
+
|
7
|
+
NEW FEATURES:
|
8
|
+
|
9
|
+
* Fixed compatibility with Ruby 2.7+ (fixes #57)
|
10
|
+
|
5
11
|
## 1.21.8 (January 2, 2020)
|
6
12
|
|
7
|
-
|
13
|
+
BUGFIX:
|
14
|
+
|
15
|
+
* Escape properly metadata containing double quotes in prometheus exporter
|
8
16
|
|
9
17
|
## 1.21.7 (December 16, 2019)
|
10
18
|
|
11
|
-
|
19
|
+
IMPROVEMENTS:
|
20
|
+
|
21
|
+
* Fixed warning color from critical to warning on consul-ui timeline
|
12
22
|
|
13
23
|
## 1.21.6 (December 16, 2019)
|
14
24
|
|
15
|
-
|
25
|
+
IMPROVEMENTS:
|
26
|
+
|
27
|
+
* Added node_meta_info for serviceInstanceDecorator and serviceMetaDecorator
|
16
28
|
|
17
29
|
## 1.21.5 (December 6, 2019)
|
18
30
|
|
19
|
-
|
31
|
+
NEW FEATURES:
|
32
|
+
|
33
|
+
* Added clean() method in nodes.js to allow nexw behaviors
|
20
34
|
|
21
35
|
## 1.21.4 (November 28, 2019)
|
22
36
|
|
23
|
-
|
37
|
+
NEW FEATURES:
|
38
|
+
|
39
|
+
* added 2 decorators `navBarDecorator` and `fetchedResponseDecorator`
|
24
40
|
|
25
41
|
## 1.21.3 (November 23, 2019)
|
26
42
|
|
27
|
-
|
43
|
+
IMPROVEMENTS:
|
44
|
+
|
45
|
+
* added serviceName information for all decorators of services
|
28
46
|
|
29
47
|
## 1.21.2 (November 22, 2019)
|
30
48
|
|
49
|
+
IMPROVEMENTS:
|
50
|
+
|
31
51
|
* Added instance information into serviceMetaDecorator() calls to
|
32
52
|
allow more sophisticated decorators.
|
33
53
|
|
34
54
|
## 1.21.1 (November 22, 2019)
|
35
55
|
|
56
|
+
IMPROVEMENTS:
|
57
|
+
|
36
58
|
* Default service meta decorator now decorates http/https links in
|
37
59
|
service meta
|
38
60
|
|
39
|
-
NEW FEATURES:
|
40
|
-
|
41
61
|
## 1.21.0 (November 21, 2019)
|
42
62
|
|
43
63
|
* added function `templates` to list all templates being rendered
|
@@ -194,26 +214,26 @@ It avoid templates never rendering fully when keys appear/disappear.
|
|
194
214
|
|
195
215
|
NEW FEATURES
|
196
216
|
|
197
|
-
consul-templaterb now returns an error code whether template is malformed.
|
198
|
-
This allows to use return code to validate templates when called with `--once`.
|
217
|
+
* consul-templaterb now returns an error code whether template is malformed.
|
218
|
+
This allows to use return code to validate templates when called with `--once`.
|
199
219
|
|
200
220
|
IMPROVEMENTS
|
201
221
|
|
202
|
-
Do not display ugly stack trace when interrupting program with CRTL-C.
|
222
|
+
* Do not display ugly stack trace when interrupting program with CRTL-C.
|
203
223
|
|
204
224
|
## 1.14.1 (May 13, 2019)
|
205
225
|
|
206
226
|
NEW FEATURES
|
207
227
|
|
208
|
-
`endpoint.stats.last_modified` allow to display the date at which the data was last modified.
|
228
|
+
* `endpoint.stats.last_modified` allow to display the date at which the data was last modified.
|
209
229
|
|
210
230
|
## 1.14.0 (May 6, 2019)
|
211
231
|
|
212
232
|
NEW FEATURES:
|
213
233
|
|
214
|
-
When `return nil` is performed in a template, consul-templaterb now considers the template is
|
215
|
-
not ready and thus do not start any process. It is useful if you want to start a process ONLY
|
216
|
-
when some conditions are met.
|
234
|
+
* When `return nil` is performed in a template, consul-templaterb now considers the template is
|
235
|
+
not ready and thus do not start any process. It is useful if you want to start a process ONLY
|
236
|
+
when some conditions are met.
|
217
237
|
|
218
238
|
## 1.13.1 (April 12, 2019)
|
219
239
|
|
@@ -232,7 +252,7 @@ IMPROVEMENTS:
|
|
232
252
|
|
233
253
|
NEW FEATURES:
|
234
254
|
|
235
|
-
* Windows compatible
|
255
|
+
* Windows compatible
|
236
256
|
|
237
257
|
consul-templaterb now works on Windows.
|
238
258
|
|
@@ -240,7 +260,7 @@ consul-templaterb now works on Windows.
|
|
240
260
|
|
241
261
|
NEW FEATURES:
|
242
262
|
|
243
|
-
* Added new function render_from_string() to render a template from a string (useful with KV)
|
263
|
+
* Added new function render_from_string() to render a template from a string (useful with KV)
|
244
264
|
|
245
265
|
## 1.10.1 (February 28, 2019)
|
246
266
|
|
data/bin/consul-templaterb
CHANGED
@@ -288,8 +288,11 @@ STDERR.puts "Max number of descriptors set to #{new_size}" if options[:consul][:
|
|
288
288
|
# See https://github.com/eventmachine/eventmachine/issues/636#issuecomment-143313282
|
289
289
|
EM.epoll
|
290
290
|
|
291
|
-
|
292
|
-
|
291
|
+
# https://www.ruby-lang.org/en/news/2019/12/12/separation-of-positional-and-keyword-arguments-in-ruby-3-0/
|
292
|
+
def ruby2_keywords(*); end if RUBY_VERSION < '2.7'
|
293
|
+
|
294
|
+
consul_conf = Consul::Async::ConsulConfiguration.new(**options[:consul])
|
295
|
+
vault_conf = Consul::Async::VaultConfiguration.new(**options[:vault])
|
293
296
|
|
294
297
|
ARGV.each do |tpl|
|
295
298
|
dest = compute_default_output(tpl)
|
data/lib/consul/async/version.rb
CHANGED
@@ -0,0 +1,59 @@
|
|
1
|
+
<%
|
2
|
+
# This template compute price of infrastructure
|
3
|
+
# based on the kind of machine the software is running on
|
4
|
+
# Demo performed during HashiConf 2019
|
5
|
+
# https://hashiconf.com/us/schedule/inversion-of-control-with-consul
|
6
|
+
|
7
|
+
regexp = 'web-.*'
|
8
|
+
srv_selector = Regexp.new(regexp)
|
9
|
+
|
10
|
+
costs = {
|
11
|
+
'unknown' => 8,
|
12
|
+
'base-10g-2018-q-1' => 10,
|
13
|
+
'base-10g-2015' => 9,
|
14
|
+
'base-1g-2013-1' => 5,
|
15
|
+
'base-1g-2015' => 7,
|
16
|
+
'base-1g-2013' => 6,
|
17
|
+
'cpustorage-10g-2018-h-1' => 15,
|
18
|
+
'io-10g-2018-h-1' => 12,
|
19
|
+
'ram-1g-2015' => 8,
|
20
|
+
'ram-10g-2018-q-1' => 9,
|
21
|
+
'storage-10g-2015-1' => 11,
|
22
|
+
'storage-1g-2015-1' => 10,
|
23
|
+
'ssd-10g-2015' => 12,
|
24
|
+
'ram-10g-2015' => 42,
|
25
|
+
}
|
26
|
+
|
27
|
+
|
28
|
+
instances = {}
|
29
|
+
datacenters.each do |dc|
|
30
|
+
services(dc:dc).each do |srv_name, tags|
|
31
|
+
if srv_selector.match(srv_name)
|
32
|
+
service(srv_name, dc:dc).each do |snode|
|
33
|
+
instances[snode['Node']['Node']] = snode
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
result = {
|
42
|
+
'summary' => "Price for #{regexp}",
|
43
|
+
'machines'=> instances.count,
|
44
|
+
'price' => 0,
|
45
|
+
'flavors' => {},
|
46
|
+
}
|
47
|
+
|
48
|
+
instances.each do |name, snode|
|
49
|
+
type = snode.service_or_node_meta_value('criteo_flavor')
|
50
|
+
flavor_count = result['flavors'][type] || 0
|
51
|
+
result['flavors'][type] = flavor_count + 1
|
52
|
+
cost = costs[type] || costs['unknown']
|
53
|
+
cost += 3 if snode.service_or_node_meta_value('os') == 'windows'
|
54
|
+
result['price'] += cost
|
55
|
+
end
|
56
|
+
|
57
|
+
result['unkown_prices_for'] = result['flavors'].select{ |k| costs[k].nil? }
|
58
|
+
|
59
|
+
%><%= YAML.dump(result) %>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: consul-templaterb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.22.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- SRE Core Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: em-http-request
|
@@ -224,6 +224,7 @@ files:
|
|
224
224
|
- samples/consul_template_broken.txt.erb
|
225
225
|
- samples/criteo/haproxy.cfg.erb
|
226
226
|
- samples/debug/compare_connect_services.txt.erb
|
227
|
+
- samples/demos/compute_pricing.txt.erb
|
227
228
|
- samples/ha_proxy.cfg.erb
|
228
229
|
- samples/haproxy_dns.cfg.erb
|
229
230
|
- samples/hosts.erb
|