consul-templaterb 1.20.0 → 1.21.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/.gitignore +1 -0
- data/CHANGELOG.md +7 -0
- data/TemplateAPI.md +23 -0
- data/bin/consul-templaterb +3 -2
- data/lib/consul/async/consul_template.rb +3 -2
- data/lib/consul/async/consul_template_engine.rb +2 -2
- data/lib/consul/async/version.rb +1 -1
- data/samples/all_templates.erb +3 -0
- data/samples/consul-ui/consul-services-ui.html.erb +1 -0
- data/samples/consul-ui/decorators.js.erb +7 -0
- data/samples/consul-ui/js/service.js +1 -1
- data/samples/consul-ui/js/utils.js +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3785f26a91750c80a99a7874db8987e5bfb0bda73b3e6e7a2f959fe6ecdb7017
|
4
|
+
data.tar.gz: 5003cbc12c820ed815f5f3a691f98568d44637b39e08ac56cc4c700bbd9a49cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 63646b061bc898e14de0c52c6880f8d119ca39db3a09cd35a61ccb0de80ecfff8310a0b3993c9abb5b11426a9cf79c9a69e52fa533882892b90b323bb2272873
|
7
|
+
data.tar.gz: 21e214c1c701dfd64629ea20c660f7960d4f6433c730fbf403014ea133f8bd0fbc9dc78a654ecaad82d4c7aded172cc2c0dd61202624ef502ca47b647c180e26
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,13 @@
|
|
2
2
|
|
3
3
|
## (UNRELEASED)
|
4
4
|
|
5
|
+
NEW FEATURES:
|
6
|
+
|
7
|
+
## 1.21.0 (November 21, 2019)
|
8
|
+
|
9
|
+
* added function `templates` to list all templates being rendered
|
10
|
+
* added support for JS decorators in consul-ui (thanks to @Thib17)
|
11
|
+
|
5
12
|
## 1.20.0 (October 16, 2019)
|
6
13
|
|
7
14
|
IMPROVEMENTS:
|
data/TemplateAPI.md
CHANGED
@@ -649,3 +649,26 @@ I am the file template_info.erb included from template include.erb rendered as d
|
|
649
649
|
|
650
650
|
</div>
|
651
651
|
</details>
|
652
|
+
|
653
|
+
## templates
|
654
|
+
|
655
|
+
It returns list of templates evaluated by this instance of consul-templaterb.
|
656
|
+
Information returned is an array of elements where elements are `[template_name, template_destination, args]`.
|
657
|
+
|
658
|
+
<details><summary>Example</summary>
|
659
|
+
<div class="samples">
|
660
|
+
|
661
|
+
### Display templates info
|
662
|
+
|
663
|
+
```erb
|
664
|
+
Here are templates rendered by consul-templaterb:
|
665
|
+
<ul>
|
666
|
+
<% templates.each do |template, destination, args| %>
|
667
|
+
<li>I render <%= template %> with args <%= args.inspect %> and write the result to <%= destination %></li>
|
668
|
+
<% end %>
|
669
|
+
</ul>
|
670
|
+
```
|
671
|
+
|
672
|
+
</div>
|
673
|
+
</details>
|
674
|
+
|
data/bin/consul-templaterb
CHANGED
@@ -175,7 +175,7 @@ optparse = OptionParser.new do |opts|
|
|
175
175
|
sig_term = cur_sig_term
|
176
176
|
consul_engine.add_template_callback do |all_ready, template_manager, results|
|
177
177
|
if all_ready
|
178
|
-
modified = results.
|
178
|
+
modified = results.any?(&:modified)
|
179
179
|
if @programs[cmd].nil?
|
180
180
|
STDERR.puts "[EXEC] Starting process: #{cmd}... on_reload=#{sig_reload ? sig_reload : 'NONE'} on_term=#{sig_term}"
|
181
181
|
@programs[cmd] = Consul::Async::ProcessHandler.new(cmd, sig_reload: sig_reload, sig_term: sig_term)
|
@@ -290,7 +290,6 @@ EM.epoll
|
|
290
290
|
|
291
291
|
consul_conf = Consul::Async::ConsulConfiguration.new(options[:consul])
|
292
292
|
vault_conf = Consul::Async::VaultConfiguration.new(options[:vault])
|
293
|
-
template_manager = Consul::Async::EndPointsManager.new(consul_conf, vault_conf, options[:erb][:trim_mode])
|
294
293
|
|
295
294
|
ARGV.each do |tpl|
|
296
295
|
dest = compute_default_output(tpl)
|
@@ -298,6 +297,8 @@ ARGV.each do |tpl|
|
|
298
297
|
consul_engine.add_template(tpl, dest)
|
299
298
|
end
|
300
299
|
|
300
|
+
template_manager = Consul::Async::EndPointsManager.new(consul_conf, vault_conf, consul_engine.templates, options[:erb][:trim_mode])
|
301
|
+
|
301
302
|
Signal.trap('USR1', 'IGNORE') unless Gem.win_platform?
|
302
303
|
# Ensure to kill child process if any
|
303
304
|
['EXIT'].each do |sig|
|
@@ -79,8 +79,8 @@ module Consul
|
|
79
79
|
end
|
80
80
|
|
81
81
|
class EndPointsManager
|
82
|
-
attr_reader :consul_conf, :vault_conf, :net_info, :start_time, :coordinate, :remote_resource
|
83
|
-
def initialize(consul_configuration, vault_configuration, trim_mode = nil)
|
82
|
+
attr_reader :consul_conf, :vault_conf, :net_info, :start_time, :coordinate, :remote_resource, :templates
|
83
|
+
def initialize(consul_configuration, vault_configuration, templates, trim_mode = nil)
|
84
84
|
@consul_conf = consul_configuration
|
85
85
|
@vault_conf = vault_configuration
|
86
86
|
@trim_mode = trim_mode
|
@@ -95,6 +95,7 @@ module Consul
|
|
95
95
|
changes: 0,
|
96
96
|
network_bytes: 0
|
97
97
|
}
|
98
|
+
@templates = templates
|
98
99
|
@context = {
|
99
100
|
current_erb_path: nil,
|
100
101
|
template_info: {
|
@@ -10,7 +10,7 @@ require 'erb'
|
|
10
10
|
module Consul
|
11
11
|
module Async
|
12
12
|
class ConsulTemplateEngine
|
13
|
-
attr_reader :template_manager, :hot_reload_failure, :template_frequency, :debug_memory, :result
|
13
|
+
attr_reader :template_manager, :hot_reload_failure, :template_frequency, :debug_memory, :result, :templates
|
14
14
|
attr_writer :hot_reload_failure, :template_frequency, :debug_memory
|
15
15
|
def initialize
|
16
16
|
@templates = []
|
@@ -45,7 +45,7 @@ module Consul
|
|
45
45
|
# Run templating engine once
|
46
46
|
def do_run(template_manager, template_renders)
|
47
47
|
results = template_renders.map(&:run)
|
48
|
-
all_ready = results.
|
48
|
+
all_ready = results.all?(&:ready?)
|
49
49
|
if !@all_templates_rendered && all_ready
|
50
50
|
@all_templates_rendered = true
|
51
51
|
cur_time = Time.now
|
data/lib/consul/async/version.rb
CHANGED
@@ -64,6 +64,7 @@
|
|
64
64
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
|
65
65
|
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
|
66
66
|
<script src="js/utils.js"></script>
|
67
|
+
<script src="decorators.js"></script>
|
67
68
|
<script src="js/types.js"></script>
|
68
69
|
<script src="js/service.js"></script>
|
69
70
|
<script type="text/javascript">
|
@@ -313,7 +313,7 @@ class ServiceMainSelector extends MainSelector {
|
|
313
313
|
element.appendChild(checksStatusGenerator(instance, instance.name));
|
314
314
|
element.setAttribute("status", state);
|
315
315
|
|
316
|
-
return element;
|
316
|
+
return serviceInstanceDecorator(instance, element);
|
317
317
|
}
|
318
318
|
|
319
319
|
getStatus(instance) {
|
@@ -189,7 +189,7 @@ function serviceMetaGenerator(instanceMeta) {
|
|
189
189
|
container.appendChild(metaH);
|
190
190
|
var metaVH = document.createElement('dd');
|
191
191
|
metaVH.className = 'col-sm-8 lookup';
|
192
|
-
metaVH.appendChild(
|
192
|
+
metaVH.appendChild(serviceMetaDecorator(meta, instanceMeta[meta]));
|
193
193
|
container.appendChild(metaVH);
|
194
194
|
}
|
195
195
|
}
|
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.21.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: 2019-
|
11
|
+
date: 2019-11-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: em-http-request
|
@@ -192,6 +192,7 @@ files:
|
|
192
192
|
- lib/consul/async/vault_endpoint.rb
|
193
193
|
- lib/consul/async/version.rb
|
194
194
|
- samples/all_services.txt.erb
|
195
|
+
- samples/all_templates.erb
|
195
196
|
- samples/consul-ui/README.md
|
196
197
|
- samples/consul-ui/common/header.html.erb
|
197
198
|
- samples/consul-ui/consul-keys-ui.html.erb
|
@@ -202,6 +203,7 @@ files:
|
|
202
203
|
- samples/consul-ui/consul_nodes.json.erb
|
203
204
|
- samples/consul-ui/consul_services.json.erb
|
204
205
|
- samples/consul-ui/css/style.css
|
206
|
+
- samples/consul-ui/decorators.js.erb
|
205
207
|
- samples/consul-ui/images/favicon.png
|
206
208
|
- samples/consul-ui/js/keys.js
|
207
209
|
- samples/consul-ui/js/nodes.js
|