prometheus-splash 0.6.1 → 0.8.3

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +43 -1
  3. data/README.md +1 -1
  4. data/config/splash.yml +45 -5
  5. data/lib/splash/backends.rb +1 -0
  6. data/lib/splash/cli.rb +2 -1
  7. data/lib/splash/cli/commands.rb +125 -5
  8. data/lib/splash/cli/daemon.rb +41 -1
  9. data/lib/splash/cli/logs.rb +111 -47
  10. data/lib/splash/cli/process.rb +112 -52
  11. data/lib/splash/cli/sequences.rb +2 -0
  12. data/lib/splash/cli/transfers.rb +213 -0
  13. data/lib/splash/cli/webadmin.rb +3 -3
  14. data/lib/splash/commands.rb +85 -19
  15. data/lib/splash/config.rb +142 -52
  16. data/lib/splash/constants.rb +7 -3
  17. data/lib/splash/daemon/metrics.rb +6 -6
  18. data/lib/splash/daemon/orchestrator.rb +76 -36
  19. data/lib/splash/daemon/orchestrator/grammar.rb +16 -1
  20. data/lib/splash/dependencies.rb +6 -1
  21. data/lib/splash/exiter.rb +1 -1
  22. data/lib/splash/helpers.rb +12 -3
  23. data/lib/splash/loggers/cli.rb +2 -10
  24. data/lib/splash/logs.rb +90 -16
  25. data/lib/splash/processes.rb +87 -16
  26. data/lib/splash/transfers.rb +229 -0
  27. data/lib/splash/webadmin.rb +3 -3
  28. data/lib/splash/webadmin/api/routes/commands.rb +2 -2
  29. data/lib/splash/webadmin/api/routes/config.rb +53 -2
  30. data/lib/splash/webadmin/api/routes/logs.rb +32 -17
  31. data/lib/splash/webadmin/api/routes/process.rb +4 -4
  32. data/lib/splash/webadmin/api/routes/sequences.rb +28 -0
  33. data/lib/splash/webadmin/main.rb +1 -0
  34. data/lib/splash/webadmin/portal/controllers/commands.rb +2 -0
  35. data/lib/splash/webadmin/portal/controllers/documentation.rb +3 -1
  36. data/lib/splash/webadmin/portal/controllers/home.rb +24 -0
  37. data/lib/splash/webadmin/portal/controllers/logs.rb +44 -1
  38. data/lib/splash/webadmin/portal/controllers/processes.rb +2 -0
  39. data/lib/splash/webadmin/portal/controllers/proxy.rb +13 -4
  40. data/lib/splash/webadmin/portal/controllers/restclient.rb +7 -2
  41. data/lib/splash/webadmin/portal/controllers/sequences.rb +9 -0
  42. data/lib/splash/webadmin/portal/init.rb +2 -2
  43. data/lib/splash/webadmin/portal/public/css/ultragreen.css +6 -0
  44. data/lib/splash/webadmin/portal/public/favicon.ico +0 -0
  45. data/lib/splash/webadmin/portal/views/commands.slim +1 -1
  46. data/lib/splash/webadmin/portal/views/documentation.slim +1 -1
  47. data/lib/splash/webadmin/portal/views/home.slim +53 -9
  48. data/lib/splash/webadmin/portal/views/layout.slim +2 -2
  49. data/lib/splash/webadmin/portal/views/logs.slim +68 -21
  50. data/lib/splash/webadmin/portal/views/logs_form.slim +24 -0
  51. data/lib/splash/webadmin/portal/views/nav.slim +1 -1
  52. data/lib/splash/webadmin/portal/views/not_found.slim +1 -1
  53. data/lib/splash/webadmin/portal/views/processes.slim +1 -1
  54. data/lib/splash/webadmin/portal/views/proxy.slim +5 -2
  55. data/lib/splash/webadmin/portal/views/restclient.slim +7 -4
  56. data/lib/splash/webadmin/portal/views/restclient_result.slim +24 -20
  57. data/lib/splash/webadmin/portal/views/sequences.slim +50 -0
  58. data/prometheus-splash.gemspec +7 -4
  59. data/ultragreen_roodi_coding_convention.yml +4 -4
  60. metadata +75 -12
@@ -0,0 +1,9 @@
1
+ WebAdminApp.get '/sequences' do
2
+ get_menu 3
3
+ log = get_logger
4
+ log.call "WEB : sequences, verb : GET, controller : /sequences"
5
+ url = "http://#{get_config.webadmin_ip}:#{get_config.webadmin_port}/api/sequences/list.yml"
6
+ raw = RestClient::Request.execute(method: 'GET', url: url,timeout: 10)
7
+ @data = YAML::load(raw)[:data]
8
+ slim :sequences, :format => :html
9
+ end
@@ -4,8 +4,8 @@ Dir[File.dirname(__FILE__) + '/helpers/*.rb'].each {|file| require file unless
4
4
  Slim::Engine.set_options pretty: true
5
5
 
6
6
  def get_menu(current)
7
- @menu = ['Logs','Processes','Commands','RestCLIENT','Proxy/Links','Documentation']
8
- @menu_icons = {'Logs' => "file-text",'Processes' => "cogs",'Commands' => 'play-circle-o','RestCLIENT' => "server",'Proxy/Links' => 'random','Documetation' => 'medkit'}
7
+ @menu = ['Logs','Processes','Commands','Sequences','RestCLIENT','Proxy/Links','Documentation']
8
+ @menu_icons = {'Logs' => "file-text",'Processes' => "cogs",'Commands' => 'play-circle-o','Sequences' => "cubes",'RestCLIENT' => "server",'Proxy/Links' => 'random','Documetation' => 'medkit'}
9
9
  @current_item = nil
10
10
  @current_item = @menu[current] unless current == -1
11
11
  end
@@ -10,7 +10,13 @@
10
10
  height: 7em;
11
11
  }
12
12
 
13
+ h2 {
14
+ color: green;
15
+ }
13
16
 
17
+ .error {
18
+ color: red;
19
+ }
14
20
 
15
21
  .wrapper {
16
22
  overflow-y:scroll;
@@ -1,4 +1,4 @@
1
- h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Commands configured in Splash
1
+ h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Commands configured in Splash
2
2
 
3
3
  div.uk-width-medium-1-1
4
4
  div.uk-panel.uk-panel-box
@@ -1,3 +1,3 @@
1
- h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medkit "></i>&nbsp;&nbsp;Splash Documentation
1
+ h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medkit "></i>&nbsp;&nbsp;Splash Documentation
2
2
  div
3
3
  == "#{@data}"
@@ -1,12 +1,58 @@
1
- h2 This is Splash
2
- p Choose a activity in the main menu
1
+ javascript:
2
+
3
+
4
+
5
+ $('body').on( 'click','button', function(){
6
+ var tmp = this.id
7
+ $("#stop").prop('disabled', true);
8
+ $("#start").prop('disabled', true);
9
+ var url = "/daemon/" + tmp;
10
+ $("#stop").prop('disabled', true);
11
+ $("#start").prop('disabled', true);
12
+ $.get(url, function( data ) {
13
+
14
+ console.log(data);
15
+ if (data == 'stop') {
16
+ $("#stop").prop('disabled', true);
17
+ $("#start").prop('disabled', false);
18
+ $("#daemon").removeClass('uk-badge-success').addClass('uk-badge-danger');
19
+ $("#daemon").text('OFF');
20
+ }
21
+ if (data == 'start') {
22
+ $("#stop").prop('disabled', false);
23
+ $("#start").prop('disabled', true);
24
+ $("#daemon").removeClass('uk-badge-danger').addClass('uk-badge-success');
25
+ $("#daemon").text('ON');
26
+ }
27
+ });
28
+ });
29
+
30
+ div.uk-grid
31
+ div.uk-width-medium-1-1
32
+ div.uk-panel.uk-panel-box
33
+ div.uk-grid
34
+ div.uk-width-1-3.uk-text-large.uk-text-bold.uk-text-success <i class="uk-icon-cogs uk-icon-justify uk-icon-large"></i>&nbsp;&nbsp;Splash Daemon status
35
+ div.uk-width-1-3
36
+ b Actions :
37
+ div.uk-button-group
38
+ - if @status == false
39
+ button.uk-button(id="start" disabled): i.uk-icon-play
40
+ button.uk-button(id="stop"): i.uk-icon-stop
41
+ - else
42
+ button.uk-button(id="start"): i.uk-icon-play
43
+ button.uk-button(id="stop" disabled): i.uk-icon-stop
44
+ div.uk-width-1-3
45
+ b Status :
46
+ - if @status == false
47
+ div.uk-badge.uk-badge-success.uk-badge-notifications(id="daemon") ON
48
+ - else
49
+ div.uk-badge.uk-badge-danger.uk-badge-notifications(id="daemon") OFF
3
50
 
4
51
 
5
52
  div.uk-grid
6
53
  div.uk-width-medium-1-2
7
54
  div.uk-panel.uk-panel-box
8
- span.uk-text-large.uk-text-bold Global Configuration
9
- br
55
+ span.uk-text-large.uk-text-bold.uk-text-success Global Configuration
10
56
  br
11
57
  span.uk-text-bold <i>Logger and display</i> :
12
58
  ul
@@ -21,8 +67,7 @@ div.uk-grid
21
67
 
22
68
  div.uk-width-medium-1-2
23
69
  div.uk-panel.uk-panel-box
24
- span.uk-text-large.uk-text-bold Transport and Backend
25
- br
70
+ span.uk-text-large.uk-text-bold.uk-text-success Transport and Backend
26
71
  br
27
72
  span.uk-text-bold <i>Backend</i> :
28
73
  ul
@@ -48,7 +93,7 @@ div.uk-grid
48
93
  div.uk-grid
49
94
  div.uk-width-medium-1-2
50
95
  div.uk-panel.uk-panel-box
51
- span.uk-text-large.uk-text-bold Daemon
96
+ span.uk-text-large.uk-text-bold.uk-text-success Daemon
52
97
  br
53
98
  ul
54
99
  li <b>Logs monitoring scheduling: </b> #{@data[:daemon_logmon_scheduling]}
@@ -64,8 +109,7 @@ div.uk-grid
64
109
 
65
110
  div.uk-width-medium-1-2
66
111
  div.uk-panel.uk-panel-box
67
- span.uk-text-large.uk-text-bold Web UI
68
- br
112
+ span.uk-text-large.uk-text-bold.uk-text-success Web UI
69
113
  br
70
114
  span.uk-text-bold <i>Webadmin</i> :
71
115
  ul
@@ -11,8 +11,7 @@ html lang="fr-fr" dir="ltr"
11
11
  link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.5/css/uikit.gradient.min.css" integrity="sha512-Vjr6Vz5D/gNvTBfQW581ssADQr1j8fAOU0seE2SxO8UvsCBZBoFQS9Lec3hkmZbpcYnsifkBtdQaHU4x6MylGw==" crossorigin="anonymous"
12
12
  link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.5/css/components/sticky.gradient.css" integrity="sha512-BY0A+4FEGeikNxmo9Q30BZMGRDykKHScJlOSeGq0uq+ylGDJD3zAApnktyKv9tzira1p0ow+B7VqIlRR2CBWoA==" crossorigin="anonymous"
13
13
  link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.5/css/components/accordion.gradient.min.css" integrity="sha512-Cfd5PRktfT5WA1yUJbYkzjEHvT+9KzqPP1Z1OJud3CFUrkoAc6iIWawoMqPFmtvmxxDNV5RAHfe5DCISV+Gd9A==" crossorigin="anonymous"
14
-
15
-
14
+ link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.5/css/components/notify.gradient.min.css" integrity="sha512-HOJctZ/0ww0jFHLHNlNODVEwKf1QxiDKyt3TQZRYZl7e7QSi6whfokIvuMJRoUwykB1SXW4eBeK6MecW4TWFFA==" crossorigin="anonymous"
16
15
 
17
16
  link rel="stylesheet" href="/css/ultragreen.css"
18
17
 
@@ -20,6 +19,7 @@ html lang="fr-fr" dir="ltr"
20
19
  script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.5/js/uikit.min.js" integrity="sha512-KI08ZutCgdasDMwp5rPKd9nF8r+eAy/bZH3Rjova6HfkDv1W7J72sNW+K++KvMp3HL7z0cCykV9vixJACHeCew==" crossorigin="anonymous"
21
20
  script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.5/js/components/sticky.min.js" integrity="sha512-B21PoHN5PsI7sU3cUcNbitUsXp6Zzp81ZDlKJr1xRXwEh3WSftRmgSOgRYxB8h/SlgW+jazkmOXerT33NB7jGA==" crossorigin="anonymous"
22
21
  script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.5/js/components/accordion.min.js" integrity="sha512-7UmYoHJ9tTZiNqlBuUgnr2l82TmZxhiOVXIjiMVP/hPFQJopjEBfVEFPjNdv97OX8K/FIZ4kAXSE+SRTfUkPMg==" crossorigin="anonymous"
22
+ script src="https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.5/js/components/notify.min.js" integrity="sha512-gaUF+WYo5jZ2OjLCBfhz+4NAtt0YHDtcxulSv6/+1xDP9QysfsqljFadHN6sWkLvyXzKtQ7efofABRJfWOVwtw==" crossorigin="anonymous"
23
23
 
24
24
 
25
25
  body
@@ -1,32 +1,79 @@
1
- h2 <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Logs configured in Splash
1
+ h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;Logs configured in Splash
2
+
3
+
4
+ - unless @log_saved.nil?
5
+ javascript:
6
+ UIkit.notify("Log record #{@log_saved} saved", {status:'success'});
7
+ - unless @log_failed.nil?
8
+ javascript:
9
+ UIkit.notify("Log record #{@log_saved} not saved", {status:'danger'});
10
+
11
+
12
+ javascript:
13
+ $(document).on( 'click','input.delete-log',function(){
14
+ var id = this.id;
15
+ var url = "/api/config/deletelog/" + id + ".json";
16
+ UIkit.modal.confirm('Are you sure?', function(){
17
+ console.debug(url)
18
+ $.ajax({
19
+ url: url,
20
+ type: 'DELETE',
21
+ success: function( data ) {
22
+ console.debug(data)
23
+ if (data['status'] == 'success') {
24
+ $('table#logrecords tr#' + id).remove();
25
+ UIkit.notify("Deleting log for " + id + " done", {status:'success'});
26
+ }
27
+ else
28
+ {
29
+ UIkit.notify("Deleting log for " + id + " failed !", {status:'danger'});
30
+ }
31
+ },
32
+ error: function(e) {
33
+ UIkit.notify("Deleting log for " + id + " failed !", {status:'danger'});
34
+ }
35
+ });
36
+ });
37
+ });
2
38
 
3
39
  div.uk-width-medium-1-1
4
40
  div.uk-panel.uk-panel-box
5
41
  span.uk-text-large.uk-text-bold List of logs monitored
6
42
  br
7
- table.uk-table.uk-table-hover.uk-table-striped
43
+ table#logrecords.uk-table.uk-table-hover.uk-table-striped
8
44
  thead
9
45
  tr
10
46
  th Log record label
11
47
  th Definition
12
48
  th Status
13
- tbody
14
- - @data.each do |log|
15
- tr
16
- td <b>Label</b> : #{log[:label]}
17
- td
49
+ th Actions
50
+ tbody
51
+ - @data.each do |log|
52
+ tr id="#{log[:label].to_s}"
53
+ td <b>Label</b> : #{log[:label]}
54
+ td
55
+ ul
56
+ li <b>File</b> : #{log[:log]}
57
+ li <b>Pattern</b> : #{log[:pattern]}
58
+ td
59
+ - if @result[log[:label]][:status] == :missing
60
+ div.uk-badge.uk-badge-warning missing
61
+ - if @result[log[:label]][:status] == :clean
62
+ div.uk-badge.uk-badge-success success
63
+ ul
64
+ li <b>Lines count</b> : #{@result[log[:label]][:lines]}
65
+ - if @result[log[:label]][:status] == :matched
66
+ div.uk-badge.uk-badge-danger matched
18
67
  ul
19
- li <b>File</b> : #{log[:log]}
20
- li <b>Pattern</b> : #{log[:pattern]}
21
- td
22
- - if @result[log[:label]][:status] == :missing
23
- div.uk-badge.uk-badge-warning missing
24
- - if @result[log[:label]][:status] == :clean
25
- div.uk-badge.uk-badge-success success
26
- ul
27
- li <b>Lines count</b> : #{@result[log[:label]][:lines]}
28
- - if @result[log[:label]][:status] == :matched
29
- div.uk-badge.uk-badge-danger matched
30
- ul
31
- li <b>Lines count</b> : #{@result[log[:label]][:lines]}
32
- li <b class="uk-text-danger">Matchs count : #{@result[log[:label]][:count]} </b>
68
+ li <b>Lines count</b> : #{@result[log[:label]][:lines]}
69
+ li <b class="uk-text-danger">Matchs count : #{@result[log[:label]][:count]} </b>
70
+ td
71
+ input.delete-log.uk-button.uk-button-mini.uk-button-danger id="#{log[:label].to_s}" value="Delete"
72
+ br
73
+ input.modify-log.uk-button.uk-button-mini.uk-button-primary id="#{log[:label].to_s}" value="Modify" onclick="location.href='/add_modify_log/#{log[:label].to_s}';"
74
+ br
75
+ input.history-log.uk-button.uk-button-mini.uk-button-primary id="#{log[:label].to_s}" value="History" onclick="location.href='/history/#{log[:label].to_s}';"
76
+ div.uk-align-right
77
+ form.uk-form.uk-form-horizontal#query action="/add_modify_log" method="GET"
78
+ div &nbsp;
79
+ input.add-log.uk-button type="submit" value="Add new log"
@@ -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>&nbsp;&nbsp;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>&nbsp;&nbsp;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 &nbsp;
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 &nbsp;
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 &nbsp;
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,3 +1,3 @@
1
- h2 404 : Page not found
1
+ h2.uk-text-danger 404 : Page not found
2
2
  p Ressource or page #{@path} not found
3
3
  p Please click <a href='/'>here</a> to return home
@@ -1,4 +1,4 @@
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
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>&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
@@ -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}" &nbsp;Prometheus PushGateway
14
+ li
15
+ i.uk-icon-hand-o-right
16
+ a href="#{@alertmanager_url}" &nbsp;Prometheus Alertmanager
@@ -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
@@ -0,0 +1,50 @@
1
+ h2.uk-text-success <i class="uk-icon-#{@menu_icons[@current_item]} uk-icon-medium "></i>&nbsp;&nbsp;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>&nbsp;<b>Continue execution on error</b> : #{content[:options][:continue]}
27
+ - if content[:schedule]
28
+ ul
29
+ li <i class="uk-icon-calendar"></i>&nbsp;<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>&nbsp;Step #{i+1} :
38
+ dd #{step[:step]}
39
+ ul
40
+ li <i class="uk-icon-cog"></i>&nbsp;<b>Command</b> : #{step[:command]}
41
+ - if step[:on_host]
42
+ li <i class="uk-icon-chevron-circle-right"></i>&nbsp;<b>Remote execution target</b> : #{step[:on_host]}
43
+ - if not step[:callback].nil?
44
+ li <i class="uk-icon-share-square-o"></i>&nbsp;<b>Execute Callback</b> : #{step[:callback]}
45
+ - if not step[:trace].nil?
46
+ li <i class="uk-icon-pencil-square-o"></i>&nbsp;<b>Trace Execution</b> : #{step[:trace]}
47
+ - if not step[:notify].nil?
48
+ li <i class="uk-icon-external-link"></i>&nbsp;<b>Notify Execution in Prometheus</b> : #{step[:notify]}
49
+
50
+ td