prometheus-splash 0.8.0 → 0.8.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.
Files changed (63) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -3
  3. data/README.md +400 -178
  4. data/config/splash.yml +28 -14
  5. data/lib/splash/backends.rb +7 -1
  6. data/lib/splash/backends/file.rb +1 -1
  7. data/lib/splash/cli/commands.rb +122 -37
  8. data/lib/splash/cli/config.rb +12 -1
  9. data/lib/splash/cli/daemon.rb +1 -1
  10. data/lib/splash/cli/logs.rb +144 -48
  11. data/lib/splash/cli/process.rb +145 -52
  12. data/lib/splash/cli/transfers.rb +10 -3
  13. data/lib/splash/commands.rb +115 -40
  14. data/lib/splash/config.rb +112 -29
  15. data/lib/splash/config/flush.rb +2 -2
  16. data/lib/splash/constants.rb +3 -4
  17. data/lib/splash/daemon/orchestrator.rb +6 -7
  18. data/lib/splash/daemon/orchestrator/grammar.rb +1 -1
  19. data/lib/splash/dependencies.rb +1 -0
  20. data/lib/splash/exiter.rb +1 -1
  21. data/lib/splash/helpers.rb +1 -1
  22. data/lib/splash/logs.rb +94 -16
  23. data/lib/splash/monkeys.rb +5 -0
  24. data/lib/splash/processes.rb +91 -16
  25. data/lib/splash/sequences.rb +6 -1
  26. data/lib/splash/transfers.rb +13 -8
  27. data/lib/splash/webadmin/api/routes/commands.rb +15 -3
  28. data/lib/splash/webadmin/api/routes/config.rb +140 -2
  29. data/lib/splash/webadmin/api/routes/logs.rb +32 -17
  30. data/lib/splash/webadmin/api/routes/process.rb +21 -9
  31. data/lib/splash/webadmin/api/routes/sequences.rb +2 -2
  32. data/lib/splash/webadmin/main.rb +15 -1
  33. data/lib/splash/webadmin/portal/controllers/commands.rb +101 -1
  34. data/lib/splash/webadmin/portal/controllers/documentation.rb +2 -0
  35. data/lib/splash/webadmin/portal/controllers/home.rb +6 -1
  36. data/lib/splash/webadmin/portal/controllers/logs.rb +71 -1
  37. data/lib/splash/webadmin/portal/controllers/processes.rb +75 -3
  38. data/lib/splash/webadmin/portal/controllers/proxy.rb +2 -1
  39. data/lib/splash/webadmin/portal/controllers/restclient.rb +6 -1
  40. data/lib/splash/webadmin/portal/controllers/sequences.rb +2 -0
  41. data/lib/splash/webadmin/portal/public/css/ultragreen.css +6 -0
  42. data/lib/splash/webadmin/portal/public/favicon.ico +0 -0
  43. data/lib/splash/webadmin/portal/views/command_form.slim +45 -0
  44. data/lib/splash/webadmin/portal/views/command_history.slim +27 -0
  45. data/lib/splash/webadmin/portal/views/commands.slim +70 -20
  46. data/lib/splash/webadmin/portal/views/documentation.slim +1 -1
  47. data/lib/splash/webadmin/portal/views/home.slim +19 -20
  48. data/lib/splash/webadmin/portal/views/layout.slim +2 -2
  49. data/lib/splash/webadmin/portal/views/log_form.slim +27 -0
  50. data/lib/splash/webadmin/portal/views/log_history.slim +24 -0
  51. data/lib/splash/webadmin/portal/views/logs.slim +95 -21
  52. data/lib/splash/webadmin/portal/views/nav.slim +1 -1
  53. data/lib/splash/webadmin/portal/views/not_found.slim +1 -1
  54. data/lib/splash/webadmin/portal/views/process_form.slim +24 -0
  55. data/lib/splash/webadmin/portal/views/process_history.slim +24 -0
  56. data/lib/splash/webadmin/portal/views/processes.slim +80 -7
  57. data/lib/splash/webadmin/portal/views/proxy.slim +2 -2
  58. data/lib/splash/webadmin/portal/views/restclient.slim +7 -4
  59. data/lib/splash/webadmin/portal/views/restclient_result.slim +24 -20
  60. data/lib/splash/webadmin/portal/views/sequences.slim +1 -1
  61. data/prometheus-splash.gemspec +4 -4
  62. data/ultragreen_roodi_coding_convention.yml +4 -4
  63. metadata +18 -10
@@ -1,10 +1,69 @@
1
- h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Processes configured in Splash
1
+ h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Processes configured in Splash
2
+
3
+ - unless @process_saved.nil?
4
+ javascript:
5
+ UIkit.notify("Process record #{@process_saved} saved", {status:'success'});
6
+ - unless @process_failed.nil?
7
+ javascript:
8
+ UIkit.notify("Process record #{@process_saved} not saved", {status:'danger'});
9
+
10
+
11
+ javascript:
12
+ $(document).on( 'click','input.delete-process',function(){
13
+ var id = this.id;
14
+ var url = "/api/config/deleteprocess/" + id + ".json";
15
+ UIkit.modal.confirm('Are you sure?', function(){
16
+ console.debug(url)
17
+ $.ajax({
18
+ url: url,
19
+ type: 'DELETE',
20
+ success: function( data ) {
21
+ console.debug(data)
22
+ if (data['status'] == 'success') {
23
+ $('table#processrecords tr#' + id).remove();
24
+ UIkit.notify("Deleting process for " + id + " done", {status:'success'});
25
+ }
26
+ else
27
+ {
28
+ UIkit.notify("Deleting process for " + id + " failed !", {status:'danger'});
29
+ }
30
+ },
31
+ error: function(e) {
32
+ UIkit.notify("Deleting process for " + id + " failed !", {status:'danger'});
33
+ }
34
+ });
35
+ });
36
+ });
37
+
38
+ $(document).on( 'click','input.monitor-process',function(){
39
+ var url = "/api/processes/monitor.json";
40
+ UIkit.modal.confirm('Are you sure?', function(){
41
+ console.debug(url)
42
+ $.ajax({
43
+ url: url,
44
+ type: 'POST',
45
+ success: function( data ) {
46
+ console.debug(data)
47
+ if (data['status'] == 'success') {
48
+ UIkit.notify("Forced monitoring done", {status:'success'});
49
+ }
50
+ else
51
+ {
52
+ UIkit.notify("Forced monitoring failed !", {status:'danger'});
53
+ }
54
+ },
55
+ error: function(e) {
56
+ UIkit.notify("Forced monitoring failed !", {status:'danger'});
57
+ }
58
+ });
59
+ });
60
+ });
2
61
 
3
62
  div.uk-width-medium-1-1
4
63
  div.uk-panel.uk-panel-box
5
64
  span.uk-text-large.uk-text-bold List of processes monitored
6
65
  br
7
- table.uk-table.uk-table-hover.uk-table-striped
66
+ table#processrecords.uk-table.uk-table-hover.uk-table-striped
8
67
  thead
9
68
  tr
10
69
  th Process record
@@ -12,18 +71,32 @@ div.uk-width-medium-1-1
12
71
  th Status
13
72
  tbody
14
73
  - @data.each do |process|
15
- tr
16
- td <b>Process</b> : #{process[:process]}
74
+ tr id="#{process[:process].to_s}"
75
+ td <i class="uk-icon-cog"></i>&nbsp;<b>Process</b> : #{process[:process]}
17
76
  td
18
- span.uk-text-bold Patterns
77
+ - if process[:retention].class == Hash
78
+ div <i class="uk-icon-calendar-minus-o"></i>&nbsp;<b>History retention</b> : #{process[:retention].flatten.reverse.join(' ')}
79
+ span.uk-text-bold <i class="uk-icon-binoculars"></i>&nbsp; Patterns
19
80
  ul
20
81
  - process[:patterns].each do |pattern|
21
82
  li= pattern
83
+
22
84
  td
23
85
  - if @result[process[:process]][:status] == :inexistant
24
86
  div.uk-badge.uk-badge-danger not running
25
87
  - if @result[process[:process]][:status] == :running
26
88
  div.uk-badge.uk-badge-success running
27
89
  ul
28
- li <b>CPU usage</b> : #{@result[process[:process]][:cpu]}
29
- li <b>MEM usage</b> : #{@result[process[:process]][:mem]}
90
+ li <i class="uk-icon-percent"></i>&nbsp;<b>CPU usage</b> : #{@result[process[:process]][:cpu]}
91
+ li <i class="uk-icon-percent"></i>&nbsp;<b>MEM usage</b> : #{@result[process[:process]][:mem]}
92
+ td
93
+ input.delete-process.uk-button.uk-button-mini.uk-button-danger id="#{process[:process].to_s}" value="Delete"
94
+ br
95
+ input.modify-process.uk-button.uk-button-mini.uk-button-primary id="#{process[:process].to_s}" value="Modify" onclick="location.href='/add_modify_process/#{process[:process].to_s}';"
96
+ br
97
+ input.history-process.uk-button.uk-button-mini.uk-button-primary id="#{process[:process].to_s}" value="History" onclick="location.href='/get_process_history/#{process[:process].to_s}';"
98
+ div.uk-align-right
99
+ form.uk-form.uk-form-horizontal#query action="/add_modify_process" method="GET"
100
+ div &nbsp;
101
+ input.monitor-process.uk-button value="Force monitoring"&nbsp;
102
+ input.add-process.uk-button type="submit" value="Add new process"
@@ -1,7 +1,7 @@
1
1
  - if @proxy
2
- h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Proxies for Prometheus components
2
+ h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Proxies for Prometheus components
3
3
  - else
4
- h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Links for Prometheus components
4
+ h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Links for Prometheus components
5
5
  div.uk-width-medium-1-1
6
6
  div.uk-panel.uk-panel-box
7
7
  ul.uk-list
@@ -1,4 +1,4 @@
1
- h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;REST Client
1
+ h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;REST Client
2
2
 
3
3
  div.uk-grid
4
4
  div.uk-width-1-1
@@ -7,7 +7,7 @@ div.uk-grid
7
7
  <i class="uk-icon-question-circle"></i> &nbsp;&nbsp;Request
8
8
  form.uk-form.uk-form-horizontal#query action="/restclient/query" method="POST"
9
9
  label.uk-form-label for="method" Method
10
- select.uk-form-large#method name="method"
10
+ select#method name="method"
11
11
  option GET
12
12
  option POST
13
13
  option DELETE
@@ -15,8 +15,11 @@ div.uk-grid
15
15
  div &nbsp;
16
16
  label.uk-form-label for="url" Endpoint
17
17
  input.uk-form-width-large#url type="text" placeholder="url" name="url"
18
- dev.uk-align-right
19
- input.uk-button.uk-button-primary type="submit" value="Send"
18
+ div &nbsp;
19
+ label.uk-form-label for="body" Body
20
+ textarea.uk-form-large cols="50" name="body" rows="5" placeholder="body"
21
+ div.uk-align-right
22
+ input.uk-button.uk-button-small-primary type="submit" value="Send"
20
23
 
21
24
  div.uk-grid
22
25
  div.uk-width-1-1
@@ -1,28 +1,32 @@
1
- di &nbsp;
1
+ div &nbsp;
2
2
  ul.uk-list
3
3
  li <b>HTTP Method</b> : #{@method}
4
4
  li <b>URL</b> : #{@url}
5
5
  h3 Result :
6
6
  - unless @result == false
7
- table.uk_table
8
- tr
9
- td.uk-width-2-10
10
- i.uk-icon-dollar
11
- | &nbsp;<b>Return code :</b>
12
- td.uk-width-8-10 #{@result.code}
13
- tr
14
- td.uk-width-2-10
15
- i.uk-icon-file-o
16
- | &nbsp;<b>Body :</b>
17
- td.uk-width-8-10.uk-scrollable-text <pre><code>#{@result}</code></pre>
18
- tr
19
- td.uk-width-2-10
20
- i.uk-icon-header
21
- | &nbsp;<b>Headers :</b>
22
- td.uk-width-8-10
23
- ul
24
- - @result.headers.each do |hkey,value|
25
- li <i><b>#{hkey}:</b> &nbsp; &nbsp; #{value}</i>
7
+ div.uk-grid.uk-text-small
8
+ div.uk-width-1-2
9
+ table.uk-table
10
+ tr
11
+ td.uk-width-2-10
12
+ i.uk-icon-file-o
13
+ | &nbsp;<b>Body :</b>
14
+ td.uk-width-8-10.uk-scrollable-text <pre><code>#{@result}</code></pre>
15
+ div.uk-width-1-2
16
+ table.uk-table
17
+ tr
18
+ td.uk-width-2-10
19
+ i.uk-icon-dollar
20
+ | &nbsp;<b>Return code :</b>
21
+ td.uk-width-8-10 #{@result.code}
22
+ tr
23
+ td.uk-width-2-10
24
+ i.uk-icon-header
25
+ | &nbsp;<b>Headers :</b>
26
+ td.uk-width-8-10
27
+ ul
28
+ - @result.headers.each do |hkey,value|
29
+ li <i><b>#{hkey}:</b> &nbsp; &nbsp; #{value}</i>
26
30
 
27
31
  - else
28
32
  div.uk-alert.uk-alert-danger
@@ -1,4 +1,4 @@
1
- h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Sequences configured in Splash
1
+ h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Sequences configured in Splash
2
2
 
3
3
  div.uk-width-medium-1-1
4
4
  div.uk-panel.uk-panel-box
@@ -25,9 +25,9 @@ Gem::Specification.new do |spec|
25
25
  spec.add_runtime_dependency 'redis','~> 4.1.3'
26
26
  spec.add_runtime_dependency 'bunny','~> 2.15.0'
27
27
  spec.add_runtime_dependency 'ps-ruby','~> 0.0.4'
28
- spec.add_runtime_dependency 'tty-markdown','~> 0.6.0'
29
- spec.add_runtime_dependency 'tty-pager','~> 0.12.0'
30
- spec.add_runtime_dependency 'tty-table','~> 0.11.0'
28
+ spec.add_runtime_dependency 'tty-markdown','~> 0.7.0'
29
+ spec.add_runtime_dependency 'tty-pager','~> 0.14.0'
30
+ spec.add_runtime_dependency 'tty-table','~> 0.12.0'
31
31
  spec.add_runtime_dependency 'net-ssh','~> 6.1.0'
32
32
  spec.add_runtime_dependency 'net-scp','~> 3.0.0'
33
33
  spec.add_runtime_dependency 'colorize','~> 0.8.1'
@@ -35,7 +35,7 @@ Gem::Specification.new do |spec|
35
35
  spec.add_runtime_dependency 'thin','~> 1.7.2'
36
36
  spec.add_runtime_dependency 'rest-client','~> 2.1.0'
37
37
  spec.add_runtime_dependency 'slim','~> 4.1.0'
38
- spec.add_runtime_dependency 'kramdown','~> 1.16.2'
38
+ spec.add_runtime_dependency 'kramdown','~> 2.3.0'
39
39
  spec.add_runtime_dependency 'rack-reverse-proxy','~> 0.12.0'
40
40
  spec.add_development_dependency 'rake', '~> 13.0.1'
41
41
  spec.add_development_dependency 'rspec', '~> 3.9.0'
@@ -1,18 +1,18 @@
1
1
  AssignmentInConditionalCheck:
2
2
  CaseMissingElseCheck:
3
3
  ClassLineCountCheck:
4
- line_count: 300
4
+ line_count: 400
5
5
  ClassNameCheck:
6
6
  pattern: !ruby/regexp /^[A-Z][a-zA-Z0-9]*$/
7
7
  #ClassVariableCheck:
8
8
  CyclomaticComplexityBlockCheck:
9
- complexity: 5
9
+ complexity: 20
10
10
  CyclomaticComplexityMethodCheck:
11
- complexity: 10
11
+ complexity: 30
12
12
  EmptyRescueBodyCheck:
13
13
  ForLoopCheck:
14
14
  MethodLineCountCheck:
15
- line_count: 30
15
+ line_count: 100
16
16
  MethodNameCheck:
17
17
  pattern: !ruby/regexp /^[_a-z<>=\[|+-\/\*`]+[_a-z0-9_<>=~@\[\]]*[=!\?]?$/
18
18
  # MissingForeignKeyIndexCheck:
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prometheus-splash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Romain GEORGES
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-15 00:00:00.000000000 Z
11
+ date: 2020-11-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -100,42 +100,42 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.6.0
103
+ version: 0.7.0
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.6.0
110
+ version: 0.7.0
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: tty-pager
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 0.12.0
117
+ version: 0.14.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 0.12.0
124
+ version: 0.14.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: tty-table
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 0.11.0
131
+ version: 0.12.0
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 0.11.0
138
+ version: 0.12.0
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: net-ssh
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -240,14 +240,14 @@ dependencies:
240
240
  requirements:
241
241
  - - "~>"
242
242
  - !ruby/object:Gem::Version
243
- version: 1.16.2
243
+ version: 2.3.0
244
244
  type: :runtime
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
248
  - - "~>"
249
249
  - !ruby/object:Gem::Version
250
- version: 1.16.2
250
+ version: 2.3.0
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: rack-reverse-proxy
253
253
  requirement: !ruby/object:Gem::Requirement
@@ -431,6 +431,7 @@ files:
431
431
  - lib/splash/loggers/dual.rb
432
432
  - lib/splash/loggers/web.rb
433
433
  - lib/splash/logs.rb
434
+ - lib/splash/monkeys.rb
434
435
  - lib/splash/processes.rb
435
436
  - lib/splash/sequences.rb
436
437
  - lib/splash/templates.rb
@@ -456,6 +457,7 @@ files:
456
457
  - lib/splash/webadmin/portal/controllers/sequences.rb
457
458
  - lib/splash/webadmin/portal/init.rb
458
459
  - lib/splash/webadmin/portal/public/css/ultragreen.css
460
+ - lib/splash/webadmin/portal/public/favicon.ico
459
461
  - lib/splash/webadmin/portal/public/fonts/FontAwesome.otf
460
462
  - lib/splash/webadmin/portal/public/fonts/fontawesome-webfont.ttf
461
463
  - lib/splash/webadmin/portal/public/fonts/fontawesome-webfont.woff
@@ -463,13 +465,19 @@ files:
463
465
  - lib/splash/webadmin/portal/public/images/logo_splash.png
464
466
  - lib/splash/webadmin/portal/public/images/logo_splash_reduce.png
465
467
  - lib/splash/webadmin/portal/public/images/logo_splash_tiny.png
468
+ - lib/splash/webadmin/portal/views/command_form.slim
469
+ - lib/splash/webadmin/portal/views/command_history.slim
466
470
  - lib/splash/webadmin/portal/views/commands.slim
467
471
  - lib/splash/webadmin/portal/views/documentation.slim
468
472
  - lib/splash/webadmin/portal/views/home.slim
469
473
  - lib/splash/webadmin/portal/views/layout.slim
474
+ - lib/splash/webadmin/portal/views/log_form.slim
475
+ - lib/splash/webadmin/portal/views/log_history.slim
470
476
  - lib/splash/webadmin/portal/views/logs.slim
471
477
  - lib/splash/webadmin/portal/views/nav.slim
472
478
  - lib/splash/webadmin/portal/views/not_found.slim
479
+ - lib/splash/webadmin/portal/views/process_form.slim
480
+ - lib/splash/webadmin/portal/views/process_history.slim
473
481
  - lib/splash/webadmin/portal/views/processes.slim
474
482
  - lib/splash/webadmin/portal/views/proxy.slim
475
483
  - lib/splash/webadmin/portal/views/restclient.slim