consul-templaterb 1.6.0 → 1.6.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a08b64a111c5cf2ceeca1568dbd94d7c5e60bcc31b4cd72aa6277324d79a6bc5
4
- data.tar.gz: da25a0959dce3230625c495c219f9617044481d362bd9b05e0949f908f6e73a8
3
+ metadata.gz: 0660de439be86195cbc03b72cddeb6f0f0c29d8118687c1c6dab05fc63d48a40
4
+ data.tar.gz: 00a7db6827d322cbdb11148e5bf96a532306a7dbfdebc3df44c097dc8c6b38e2
5
5
  SHA512:
6
- metadata.gz: 95771fbfe7302884d595d819e95aa408f09a1f63e3fe8d3ecb457d09541b07605d6eb32dcb00f4502f3340b8a4703fcbfbcc30a79ce7a71da4ac5f25c47bfab5
7
- data.tar.gz: 1ccf48e196c9c50d59f7e432a8b29b06b097422b1771b7adfab29e2e722c97da8ef0a1119ea780ce72ebb3ade169d327096616bff5c85b452affd98c1cc67ac9
6
+ metadata.gz: d2d8d2f30722f75bcf69b4b5d8076358dae1ea420c5bd38a541c6d70afaad90b413cda8234b798791a595108a7f0a2b62b5ba6becfd9523832cb3de326174d71
7
+ data.tar.gz: 73b881286ce0b45b27dd9bcf485b86d5af0091d37cdc995845ef77d0edefbab657a0197651dd63592e9f529f026f7e468b3d03f724bcdb046430ac1340e301dc
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## (UNRELEASED)
4
4
 
5
+ ## 1.6.1 (December 4, 2018)
6
+
7
+ BUG FIXES:
8
+
9
+ * In consul-ui, display the port only when port is set
10
+
5
11
  ## 1.6.0 (November 23, 2018)
6
12
 
7
13
  BUG FIXES:
@@ -15,6 +21,7 @@ NEW FEATURES:
15
21
  * `status` to compute aggregated status of a service taking into account all checks
16
22
  * `weights` to deal with weights added in Consul 1.2.3
17
23
  * `current_weight` to deal with weight computed using the current status
24
+ * Added new option `-g` for disabling GZIP compression
18
25
 
19
26
  ## 1.5.9 (November 17, 2018)
20
27
 
data/README.md CHANGED
@@ -232,6 +232,7 @@ examples:
232
232
  8. [Generate HaProxy Configuration](samples/ha_proxy.cfg.erb)
233
233
  9. [Export Consul Statistics to Prometheus](samples/metrics.erb) : count all services, their state,
234
234
  datacenters and nodes and export it to prometheus easily to trigger alerts.
235
+ 10. [List all services/Nodes with their statuses for all datacenters](samples/all_services.txt.erb)
235
236
 
236
237
  If you want to test it quickly, you might try with (assuming your consul agent is listening on
237
238
  `http://localhost:8500`):
@@ -1,5 +1,5 @@
1
1
  module Consul
2
2
  module Async
3
- VERSION = '1.6.0'.freeze
3
+ VERSION = '1.6.1'.freeze
4
4
  end
5
5
  end
@@ -0,0 +1,52 @@
1
+ __________________________________________________________________
2
+ | DC | Services |______________Instances________________| Nodes |
3
+ | | | Passing | Warning | Critic | Total | |
4
+ |-------+----------+---------+---------+---------+---------+-------|
5
+ <%
6
+ # This template list all instances on all DCs
7
+ # And aggregates a list of Services, Services Instances/status
8
+ # And nodes.
9
+ require 'set'
10
+ num_services={}
11
+ num_instances={}
12
+ all_states = ['passing', 'warning', 'critical', 'total']
13
+ distinct_services=Set.new
14
+ datacenters().each do |dc|
15
+ num_services[dc] = 0
16
+ num_instances[dc] = {
17
+ 'passing' => 0,
18
+ 'warning' => 0,
19
+ 'critical' => 0,
20
+ 'total' => 0
21
+ }
22
+ services(dc:dc).each do |service_name, tags|
23
+ distinct_services.add(service_name)
24
+ num_services[dc]+=1
25
+ service(service_name, dc:dc).each do |snode|
26
+ num_instances[dc][snode.status]+=1
27
+ num_instances[dc]['total']+=1
28
+ end
29
+ end
30
+ end
31
+ num_instances_total={
32
+ 'passing' => 0,
33
+ 'warning' => 0,
34
+ 'critical' => 0,
35
+ 'total' => 0
36
+ }
37
+ num_nodes_total=0
38
+ num_services.each do |dc, num_services_for_dc|
39
+ all_states.each do |s|
40
+ num_instances_total[s] += num_instances[dc][s]
41
+ end
42
+ num_nodes=nodes(dc:dc).count
43
+ num_nodes_total+=num_nodes
44
+ %>| <%= dc.rjust(5) %> | <%= num_services_for_dc.to_s.rjust(8) %> |<% all_states.each do |status|
45
+ %> <%= num_instances[dc][status].to_s.rjust(7) %> |<% end %> <%= num_nodes.to_s.rjust(5) %> |
46
+ <%
47
+ end
48
+ %>|-------+----------+---------+---------+---------+---------+-------|
49
+ | TOTAL | <%= distinct_services.count.to_s.rjust(8) %> |<% all_states.each do |status|
50
+ %> <%= num_instances_total[status].to_s.rjust(7) %> |<%
51
+ end %> <%= num_nodes_total.to_s.rjust(5) %> |
52
+ '_______|__________|_________|_________|_________|_________|_______'
@@ -83,8 +83,7 @@ class ConsulService {
83
83
  var service = this.data.services[serviceName];
84
84
  var serviceStatus = buildServiceStatus(service);
85
85
 
86
- var listItem = document.createElement('button');
87
- listItem.setAttribute('type','button');
86
+ var listItem = document.createElement('li');
88
87
  listItem.setAttribute('onfocus','consulService.onClickServiceName(this)');
89
88
  listItem.setAttribute('onclick','consulService.onClickServiceName(this)');
90
89
  listItem.setAttribute('value',serviceName);
@@ -229,7 +228,7 @@ class ConsulService {
229
228
  $(this.selectedService).removeClass('active');
230
229
  }
231
230
  var serviceName = $(source).find(".service-name").html()
232
- this.selectedService = source.closest( "button" );
231
+ this.selectedService = source.closest('li');
233
232
  $(this.selectedService).addClass('active');
234
233
 
235
234
  this.displayService(this.data.services[serviceName]);
@@ -40,11 +40,16 @@ function serviceTitleGenerator(instance) {
40
40
 
41
41
  var instanceLink = document.createElement('a');
42
42
  instanceLink.setAttribute('class', 'instance-name');
43
+ var appendPort = "";
44
+ if (instance.port > 0) {
45
+ appendPort = ':' + instance.port;
46
+ }
43
47
  if (protocol != null) {
44
- instanceLink.setAttribute('href', protocol + instance.addr + ':' + instance.port);
48
+ instanceLink.setAttribute('href', protocol + instance.addr + appendPort);
45
49
  instanceLink.setAttribute('target', '_blank');
46
50
  }
47
- instanceLink.appendChild(document.createTextNode(instance.name + ':' + instance.port));
51
+
52
+ instanceLink.appendChild(document.createTextNode(instance.name + appendPort));
48
53
  htmlTitle.appendChild(instanceLink);
49
54
 
50
55
  return htmlTitle;
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.6.0
4
+ version: 1.6.1
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: 2018-11-23 00:00:00.000000000 Z
11
+ date: 2018-12-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: em-http-request
@@ -170,6 +170,7 @@ files:
170
170
  - lib/consul/async/utilities.rb
171
171
  - lib/consul/async/vault_endpoint.rb
172
172
  - lib/consul/async/version.rb
173
+ - samples/all_services.txt.erb
173
174
  - samples/checks.html.erb
174
175
  - samples/common/footer.html.erb
175
176
  - samples/common/header.html.erb