prometheus-splash 0.6.0 → 0.8.2
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/CHANGELOG.md +38 -1
- data/README.md +1 -1
- data/config/splash.yml +97 -11
- data/lib/splash/backends.rb +1 -0
- data/lib/splash/cli.rb +4 -1
- data/lib/splash/cli/commands.rb +127 -7
- data/lib/splash/cli/daemon.rb +41 -1
- data/lib/splash/cli/logs.rb +111 -47
- data/lib/splash/cli/process.rb +112 -52
- data/lib/splash/cli/sequences.rb +114 -0
- data/lib/splash/cli/transfers.rb +213 -0
- data/lib/splash/cli/webadmin.rb +3 -3
- data/lib/splash/commands.rb +89 -22
- data/lib/splash/config.rb +149 -62
- data/lib/splash/config/sanitycheck.rb +1 -1
- data/lib/splash/constants.rb +11 -11
- data/lib/splash/daemon/controller.rb +10 -10
- data/lib/splash/daemon/metrics.rb +8 -8
- data/lib/splash/daemon/orchestrator.rb +96 -35
- data/lib/splash/daemon/orchestrator/grammar.rb +16 -1
- data/lib/splash/dependencies.rb +8 -0
- data/lib/splash/exiter.rb +1 -1
- data/lib/splash/helpers.rb +22 -4
- data/lib/splash/loggers/cli.rb +2 -10
- data/lib/splash/logs.rb +91 -17
- data/lib/splash/processes.rb +88 -17
- data/lib/splash/sequences.rb +105 -0
- data/lib/splash/transfers.rb +229 -0
- data/lib/splash/transports/rabbitmq.rb +0 -1
- data/lib/splash/webadmin.rb +4 -4
- data/lib/splash/webadmin/api/routes/commands.rb +2 -2
- data/lib/splash/webadmin/api/routes/config.rb +53 -2
- data/lib/splash/webadmin/api/routes/logs.rb +32 -17
- data/lib/splash/webadmin/api/routes/process.rb +4 -4
- data/lib/splash/webadmin/api/routes/sequences.rb +28 -0
- data/lib/splash/webadmin/main.rb +3 -2
- data/lib/splash/webadmin/portal/controllers/commands.rb +2 -0
- data/lib/splash/webadmin/portal/controllers/documentation.rb +3 -1
- data/lib/splash/webadmin/portal/controllers/home.rb +24 -0
- data/lib/splash/webadmin/portal/controllers/logs.rb +44 -1
- data/lib/splash/webadmin/portal/controllers/processes.rb +2 -0
- data/lib/splash/webadmin/portal/controllers/proxy.rb +15 -8
- data/lib/splash/webadmin/portal/controllers/restclient.rb +7 -2
- data/lib/splash/webadmin/portal/controllers/sequences.rb +9 -0
- data/lib/splash/webadmin/portal/init.rb +2 -2
- data/lib/splash/webadmin/portal/public/css/ultragreen.css +6 -0
- data/lib/splash/webadmin/portal/public/favicon.ico +0 -0
- data/lib/splash/webadmin/portal/views/commands.slim +1 -1
- data/lib/splash/webadmin/portal/views/documentation.slim +1 -1
- data/lib/splash/webadmin/portal/views/home.slim +53 -9
- data/lib/splash/webadmin/portal/views/layout.slim +2 -2
- data/lib/splash/webadmin/portal/views/logs.slim +68 -21
- data/lib/splash/webadmin/portal/views/logs_form.slim +24 -0
- data/lib/splash/webadmin/portal/views/nav.slim +1 -1
- data/lib/splash/webadmin/portal/views/not_found.slim +1 -1
- data/lib/splash/webadmin/portal/views/processes.slim +1 -1
- data/lib/splash/webadmin/portal/views/proxy.slim +5 -2
- data/lib/splash/webadmin/portal/views/restclient.slim +7 -4
- data/lib/splash/webadmin/portal/views/restclient_result.slim +24 -20
- data/lib/splash/webadmin/portal/views/sequences.slim +50 -0
- data/prometheus-splash.gemspec +5 -2
- metadata +69 -4
@@ -0,0 +1,24 @@
|
|
1
|
+
- unless @data.empty?
|
2
|
+
h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> Modify Splash log monitoring : #{@data[:label]}
|
3
|
+
- else
|
4
|
+
h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> Add new Splash log monitoring
|
5
|
+
|
6
|
+
script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.2/jquery.validate.min.js"
|
7
|
+
|
8
|
+
form.uk-form.uk-form-horizontal#query action="/save_log" method="POST"
|
9
|
+
label.uk-form-label for="label" Label
|
10
|
+
<input class="uk-form-width-large" id="label" type="text" placeholder="label" name="label" value="#{@data[:label].to_s}" required>
|
11
|
+
div
|
12
|
+
label.uk-form-label for="pattern" Pattern
|
13
|
+
<input class="uk-form-width-large" id="pattern" type="text" placeholder="pattern" name="pattern" value="#{@data[:pattern]}" required>
|
14
|
+
div
|
15
|
+
label.uk-form-label for="log" Log file
|
16
|
+
<input class="uk-form-width-large" id="log" type="text" placeholder="log" name="log" value="#{@data[:log]}" required>
|
17
|
+
div
|
18
|
+
- unless @data.empty?
|
19
|
+
input type="hidden" name="update" value="true"
|
20
|
+
input type="hidden" name="old_label" value="#{@data[:old_label].to_s}"
|
21
|
+
div.uk-align-right
|
22
|
+
input.uk-button.uk-button-small-primary type="submit" value="Submit"
|
23
|
+
javascript:
|
24
|
+
$("#query").validate();
|
@@ -3,7 +3,7 @@ nav.uk-navbar.uk-navbar-attached(data-uk-sticky)
|
|
3
3
|
ul.uk-navbar-nav.uk-hidden-small
|
4
4
|
- for item in @menu
|
5
5
|
li class=( (item == @current_item)? "uk-active" : "uk-inactive")
|
6
|
-
a href="/#{item.downcase}" title="Access to #{item.capitalize}" <i class="uk-icon-#{@menu_icons[item]}"></i> #{item.capitalize}
|
6
|
+
a.uk-navbar-nav-subtitle href="/#{item.downcase}" title="Access to #{item.capitalize}" <i class="uk-icon-#{@menu_icons[item]}"></i><div> #{item.capitalize}</div>
|
7
7
|
a.uk-navbar-toggle.uk-visible-small(href="#offcanvas" data-uk-offcanvas)
|
8
8
|
div.uk-navbar-brand.uk-navbar-left.uk-visible-small
|
9
9
|
<i class="uk-icon-arrow-left"></i> Menu
|
@@ -1,4 +1,4 @@
|
|
1
|
-
h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> Processes configured in Splash
|
1
|
+
h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> Processes configured in Splash
|
2
2
|
|
3
3
|
div.uk-width-medium-1-1
|
4
4
|
div.uk-panel.uk-panel-box
|
@@ -1,7 +1,7 @@
|
|
1
1
|
- if @proxy
|
2
|
-
h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> Proxies for Prometheus components
|
2
|
+
h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> Proxies for Prometheus components
|
3
3
|
- else
|
4
|
-
h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> Links for Prometheus components
|
4
|
+
h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> 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
|
@@ -11,3 +11,6 @@ div.uk-width-medium-1-1
|
|
11
11
|
li
|
12
12
|
i.uk-icon-hand-o-right
|
13
13
|
a href="#{@pushgateway_url}" Prometheus PushGateway
|
14
|
+
li
|
15
|
+
i.uk-icon-hand-o-right
|
16
|
+
a href="#{@alertmanager_url}" Prometheus Alertmanager
|
@@ -1,4 +1,4 @@
|
|
1
|
-
h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> REST Client
|
1
|
+
h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> 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> 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
|
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
|
16
16
|
label.uk-form-label for="url" Endpoint
|
17
17
|
input.uk-form-width-large#url type="text" placeholder="url" name="url"
|
18
|
-
|
19
|
-
|
18
|
+
div
|
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
|
-
|
1
|
+
div
|
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
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
+
| <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
|
+
| <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
|
+
| <b>Headers :</b>
|
26
|
+
td.uk-width-8-10
|
27
|
+
ul
|
28
|
+
- @result.headers.each do |hkey,value|
|
29
|
+
li <i><b>#{hkey}:</b> #{value}</i>
|
26
30
|
|
27
31
|
- else
|
28
32
|
div.uk-alert.uk-alert-danger
|
@@ -0,0 +1,50 @@
|
|
1
|
+
h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i> Sequences configured in Splash
|
2
|
+
|
3
|
+
div.uk-width-medium-1-1
|
4
|
+
div.uk-panel.uk-panel-box
|
5
|
+
span.uk-text-large.uk-text-bold List of sequences availables
|
6
|
+
br
|
7
|
+
|
8
|
+
div.uk-accordion(data-uk-accordion)
|
9
|
+
- @data.each do |sequence,content|
|
10
|
+
h3.uk-accordion-title <b>Name</b> : #{sequence}
|
11
|
+
div.uk-accordion-content
|
12
|
+
table.uk-table.uk-table-hover.uk-table-striped
|
13
|
+
thead
|
14
|
+
tr
|
15
|
+
th Options
|
16
|
+
th Definition
|
17
|
+
th Actions
|
18
|
+
tbody
|
19
|
+
tr
|
20
|
+
td
|
21
|
+
dl.uk-description-list-horizontal
|
22
|
+
|
23
|
+
- if content[:options]
|
24
|
+
- if content[:options][:continue]
|
25
|
+
ul
|
26
|
+
li <i class="uk-icon-check-square-o"></i> <b>Continue execution on error</b> : #{content[:options][:continue]}
|
27
|
+
- if content[:schedule]
|
28
|
+
ul
|
29
|
+
li <i class="uk-icon-calendar"></i> <b>Scheduling</b> :
|
30
|
+
<ul>
|
31
|
+
<li> <b><i>Type</b></i> : #{content[:schedule].keys.first}</li>
|
32
|
+
<li> <b><i>Value</b></i> : #{content[:schedule].values.first}</li>
|
33
|
+
</ul>
|
34
|
+
td
|
35
|
+
dl.uk-description-list-horizontal
|
36
|
+
- content[:definition].each_with_index do |step,i|
|
37
|
+
dt <i class="uk-icon-check-square-o"></i> Step #{i+1} :
|
38
|
+
dd #{step[:step]}
|
39
|
+
ul
|
40
|
+
li <i class="uk-icon-cog"></i> <b>Command</b> : #{step[:command]}
|
41
|
+
- if step[:on_host]
|
42
|
+
li <i class="uk-icon-chevron-circle-right"></i> <b>Remote execution target</b> : #{step[:on_host]}
|
43
|
+
- if not step[:callback].nil?
|
44
|
+
li <i class="uk-icon-share-square-o"></i> <b>Execute Callback</b> : #{step[:callback]}
|
45
|
+
- if not step[:trace].nil?
|
46
|
+
li <i class="uk-icon-pencil-square-o"></i> <b>Trace Execution</b> : #{step[:trace]}
|
47
|
+
- if not step[:notify].nil?
|
48
|
+
li <i class="uk-icon-external-link"></i> <b>Notify Execution in Prometheus</b> : #{step[:notify]}
|
49
|
+
|
50
|
+
td
|
data/prometheus-splash.gemspec
CHANGED
@@ -26,7 +26,10 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_runtime_dependency 'bunny','~> 2.15.0'
|
27
27
|
spec.add_runtime_dependency 'ps-ruby','~> 0.0.4'
|
28
28
|
spec.add_runtime_dependency 'tty-markdown','~> 0.6.0'
|
29
|
-
spec.add_runtime_dependency 'tty-pager','~> 0.12.
|
29
|
+
spec.add_runtime_dependency 'tty-pager','~> 0.12.0'
|
30
|
+
spec.add_runtime_dependency 'tty-table','~> 0.11.0'
|
31
|
+
spec.add_runtime_dependency 'net-ssh','~> 6.1.0'
|
32
|
+
spec.add_runtime_dependency 'net-scp','~> 3.0.0'
|
30
33
|
spec.add_runtime_dependency 'colorize','~> 0.8.1'
|
31
34
|
spec.add_runtime_dependency 'sinatra','~> 2.1.0'
|
32
35
|
spec.add_runtime_dependency 'thin','~> 1.7.2'
|
@@ -41,6 +44,6 @@ Gem::Specification.new do |spec|
|
|
41
44
|
spec.add_development_dependency 'roodi', '~> 5.0.0'
|
42
45
|
spec.add_development_dependency 'code_statistics', '~> 0.2.13'
|
43
46
|
spec.add_development_dependency 'yard-rspec', '~> 0.1'
|
44
|
-
|
47
|
+
spec.add_development_dependency 'bundler', '~> 2.1.4'
|
45
48
|
|
46
49
|
end
|
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.
|
4
|
+
version: 0.8.2
|
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-
|
11
|
+
date: 2020-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -114,14 +114,56 @@ dependencies:
|
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.12.
|
117
|
+
version: 0.12.0
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.12.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: tty-table
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 0.11.0
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 0.11.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: net-ssh
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 6.1.0
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 6.1.0
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: net-scp
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - "~>"
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: 3.0.0
|
118
160
|
type: :runtime
|
119
161
|
prerelease: false
|
120
162
|
version_requirements: !ruby/object:Gem::Requirement
|
121
163
|
requirements:
|
122
164
|
- - "~>"
|
123
165
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.
|
166
|
+
version: 3.0.0
|
125
167
|
- !ruby/object:Gem::Dependency
|
126
168
|
name: colorize
|
127
169
|
requirement: !ruby/object:Gem::Requirement
|
@@ -318,6 +360,20 @@ dependencies:
|
|
318
360
|
- - "~>"
|
319
361
|
- !ruby/object:Gem::Version
|
320
362
|
version: '0.1'
|
363
|
+
- !ruby/object:Gem::Dependency
|
364
|
+
name: bundler
|
365
|
+
requirement: !ruby/object:Gem::Requirement
|
366
|
+
requirements:
|
367
|
+
- - "~>"
|
368
|
+
- !ruby/object:Gem::Version
|
369
|
+
version: 2.1.4
|
370
|
+
type: :development
|
371
|
+
prerelease: false
|
372
|
+
version_requirements: !ruby/object:Gem::Requirement
|
373
|
+
requirements:
|
374
|
+
- - "~>"
|
375
|
+
- !ruby/object:Gem::Version
|
376
|
+
version: 2.1.4
|
321
377
|
description: Prometheus Logs and Batchs supervision over PushGateway and commands
|
322
378
|
orchestration
|
323
379
|
email:
|
@@ -350,6 +406,8 @@ files:
|
|
350
406
|
- lib/splash/cli/documentation.rb
|
351
407
|
- lib/splash/cli/logs.rb
|
352
408
|
- lib/splash/cli/process.rb
|
409
|
+
- lib/splash/cli/sequences.rb
|
410
|
+
- lib/splash/cli/transfers.rb
|
353
411
|
- lib/splash/cli/webadmin.rb
|
354
412
|
- lib/splash/commands.rb
|
355
413
|
- lib/splash/config.rb
|
@@ -374,7 +432,9 @@ files:
|
|
374
432
|
- lib/splash/loggers/web.rb
|
375
433
|
- lib/splash/logs.rb
|
376
434
|
- lib/splash/processes.rb
|
435
|
+
- lib/splash/sequences.rb
|
377
436
|
- lib/splash/templates.rb
|
437
|
+
- lib/splash/transfers.rb
|
378
438
|
- lib/splash/transports.rb
|
379
439
|
- lib/splash/transports/rabbitmq.rb
|
380
440
|
- lib/splash/webadmin.rb
|
@@ -383,6 +443,7 @@ files:
|
|
383
443
|
- lib/splash/webadmin/api/routes/init.rb
|
384
444
|
- lib/splash/webadmin/api/routes/logs.rb
|
385
445
|
- lib/splash/webadmin/api/routes/process.rb
|
446
|
+
- lib/splash/webadmin/api/routes/sequences.rb
|
386
447
|
- lib/splash/webadmin/main.rb
|
387
448
|
- lib/splash/webadmin/portal/controllers/commands.rb
|
388
449
|
- lib/splash/webadmin/portal/controllers/documentation.rb
|
@@ -392,8 +453,10 @@ files:
|
|
392
453
|
- lib/splash/webadmin/portal/controllers/processes.rb
|
393
454
|
- lib/splash/webadmin/portal/controllers/proxy.rb
|
394
455
|
- lib/splash/webadmin/portal/controllers/restclient.rb
|
456
|
+
- lib/splash/webadmin/portal/controllers/sequences.rb
|
395
457
|
- lib/splash/webadmin/portal/init.rb
|
396
458
|
- lib/splash/webadmin/portal/public/css/ultragreen.css
|
459
|
+
- lib/splash/webadmin/portal/public/favicon.ico
|
397
460
|
- lib/splash/webadmin/portal/public/fonts/FontAwesome.otf
|
398
461
|
- lib/splash/webadmin/portal/public/fonts/fontawesome-webfont.ttf
|
399
462
|
- lib/splash/webadmin/portal/public/fonts/fontawesome-webfont.woff
|
@@ -406,12 +469,14 @@ files:
|
|
406
469
|
- lib/splash/webadmin/portal/views/home.slim
|
407
470
|
- lib/splash/webadmin/portal/views/layout.slim
|
408
471
|
- lib/splash/webadmin/portal/views/logs.slim
|
472
|
+
- lib/splash/webadmin/portal/views/logs_form.slim
|
409
473
|
- lib/splash/webadmin/portal/views/nav.slim
|
410
474
|
- lib/splash/webadmin/portal/views/not_found.slim
|
411
475
|
- lib/splash/webadmin/portal/views/processes.slim
|
412
476
|
- lib/splash/webadmin/portal/views/proxy.slim
|
413
477
|
- lib/splash/webadmin/portal/views/restclient.slim
|
414
478
|
- lib/splash/webadmin/portal/views/restclient_result.slim
|
479
|
+
- lib/splash/webadmin/portal/views/sequences.slim
|
415
480
|
- prometheus-splash.gemspec
|
416
481
|
- spec/helpers_spec.rb
|
417
482
|
- spec/templates_spec.rb
|