prometheus-splash 0.5.3 → 0.6.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/README.md +58 -60
- data/bin/splash +3 -0
- data/config/splash.yml +15 -2
- data/lib/splash/backends.rb +6 -0
- data/lib/splash/backends/file.rb +36 -0
- data/lib/splash/backends/redis.rb +44 -1
- data/lib/splash/cli.rb +7 -3
- data/lib/splash/cli/commands.rb +11 -4
- data/lib/splash/cli/config.rb +9 -1
- data/lib/splash/cli/daemon.rb +8 -1
- data/lib/splash/cli/documentation.rb +5 -2
- data/lib/splash/cli/logs.rb +14 -6
- data/lib/splash/cli/process.rb +9 -0
- data/lib/splash/cli/webadmin.rb +46 -0
- data/lib/splash/commands.rb +23 -2
- data/lib/splash/config.rb +141 -1
- data/lib/splash/config/flush.rb +9 -1
- data/lib/splash/config/sanitycheck.rb +6 -1
- data/lib/splash/config/service.rb +8 -1
- data/lib/splash/config/setup.rb +8 -3
- data/lib/splash/constants.rb +30 -2
- data/lib/splash/daemon.rb +5 -1
- data/lib/splash/daemon/controller.rb +21 -1
- data/lib/splash/daemon/metrics.rb +22 -7
- data/lib/splash/daemon/orchestrator.rb +21 -3
- data/lib/splash/daemon/orchestrator/grammar.rb +25 -5
- data/lib/splash/daemon/orchestrator/hooks.rb +10 -0
- data/lib/splash/dependencies.rb +10 -1
- data/lib/splash/exiter.rb +14 -0
- data/lib/splash/helpers.rb +69 -45
- data/lib/splash/loggers.rb +30 -4
- data/lib/splash/loggers/cli.rb +18 -3
- data/lib/splash/loggers/daemon.rb +14 -3
- data/lib/splash/loggers/dual.rb +14 -1
- data/lib/splash/loggers/web.rb +51 -0
- data/lib/splash/logs.rb +15 -4
- data/lib/splash/processes.rb +17 -5
- data/lib/splash/templates.rb +10 -0
- data/lib/splash/transports.rb +9 -0
- data/lib/splash/transports/rabbitmq.rb +33 -3
- data/lib/splash/webadmin.rb +122 -0
- data/lib/splash/webadmin/api/routes/commands.rb +28 -0
- data/lib/splash/webadmin/api/routes/config.rb +10 -0
- data/lib/splash/webadmin/api/routes/init.rb +2 -0
- data/lib/splash/webadmin/api/routes/logs.rb +59 -0
- data/lib/splash/webadmin/api/routes/process.rb +60 -0
- data/lib/splash/webadmin/main.rb +26 -0
- data/lib/splash/webadmin/portal/controllers/commands.rb +7 -0
- data/lib/splash/webadmin/portal/controllers/documentation.rb +6 -0
- data/lib/splash/webadmin/portal/controllers/home.rb +12 -0
- data/lib/splash/webadmin/portal/controllers/logs.rb +14 -0
- data/lib/splash/webadmin/portal/controllers/notfound.rb +5 -0
- data/lib/splash/webadmin/portal/controllers/processes.rb +14 -0
- data/lib/splash/webadmin/portal/controllers/proxy.rb +30 -0
- data/lib/splash/webadmin/portal/controllers/restclient.rb +19 -0
- data/lib/splash/webadmin/portal/init.rb +11 -0
- data/lib/splash/webadmin/portal/public/css/ultragreen.css +8544 -0
- data/lib/splash/webadmin/portal/public/fonts/FontAwesome.otf +0 -0
- data/lib/splash/webadmin/portal/public/fonts/fontawesome-webfont.ttf +0 -0
- data/lib/splash/webadmin/portal/public/fonts/fontawesome-webfont.woff +0 -0
- data/lib/splash/webadmin/portal/public/fonts/fontawesome-webfont.woff2 +0 -0
- data/lib/splash/webadmin/portal/public/images/logo_splash.png +0 -0
- data/lib/splash/webadmin/portal/public/images/logo_splash_reduce.png +0 -0
- data/lib/splash/webadmin/portal/public/images/logo_splash_tiny.png +0 -0
- data/lib/splash/webadmin/portal/views/commands.slim +49 -0
- data/lib/splash/webadmin/portal/views/documentation.slim +3 -0
- data/lib/splash/webadmin/portal/views/home.slim +78 -0
- data/lib/splash/webadmin/portal/views/layout.slim +43 -0
- data/lib/splash/webadmin/portal/views/logs.slim +32 -0
- data/lib/splash/webadmin/portal/views/nav.slim +17 -0
- data/lib/splash/webadmin/portal/views/not_found.slim +3 -0
- data/lib/splash/webadmin/portal/views/processes.slim +29 -0
- data/lib/splash/webadmin/portal/views/proxy.slim +13 -0
- data/lib/splash/webadmin/portal/views/restclient.slim +41 -0
- data/lib/splash/webadmin/portal/views/restclient_result.slim +29 -0
- data/prometheus-splash.gemspec +6 -0
- data/spec/helpers_spec.rb +119 -0
- metadata +128 -5
data/lib/splash/config/flush.rb
CHANGED
@@ -1,8 +1,16 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
# Base Splash module
|
1
4
|
module Splash
|
5
|
+
|
6
|
+
# module for Configuration utilities
|
2
7
|
module ConfigUtilities
|
3
8
|
include Splash::Constants
|
4
9
|
|
5
|
-
|
10
|
+
# clean backend action method
|
11
|
+
# @param [Hash] options
|
12
|
+
# @option options [Symbol] :name the name of the backend (:redis, :file)
|
13
|
+
# @return [Hash] An Exiter case hash (:quiet_exit or :configuration_error)
|
6
14
|
def flush_backend(options ={})
|
7
15
|
config = get_config
|
8
16
|
self.extend Splash::Backends
|
@@ -1,12 +1,17 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
3
|
+
# Base Splash module
|
2
4
|
module Splash
|
5
|
+
|
6
|
+
# moudle for Configuration utilities
|
3
7
|
module ConfigUtilities
|
4
8
|
include Splash::Constants
|
5
9
|
|
6
10
|
|
7
11
|
|
8
12
|
# Sanitycheck action method for testing installation of Splash
|
9
|
-
# @
|
13
|
+
# @param [Hash] options
|
14
|
+
# @return [Hash] An Exiter case hash (:splash_sanitycheck_success or :splash_sanitycheck_error)
|
10
15
|
def checkconfig(options ={})
|
11
16
|
self.extend Splash::Loggers
|
12
17
|
log = get_logger
|
@@ -1,11 +1,18 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
|
3
|
-
|
3
|
+
# Base Splash module
|
4
4
|
module Splash
|
5
|
+
|
6
|
+
# moudle for Configuration utilities
|
5
7
|
module ConfigUtilities
|
6
8
|
include Splash::Constants
|
7
9
|
include Splash::Helpers
|
8
10
|
|
11
|
+
|
12
|
+
# clean backend configured
|
13
|
+
# @param [Hash] options
|
14
|
+
# @option options [Symbol] :name the name of the backend (:redis, :file)
|
15
|
+
# @return [Hash] An Exiter case hash (:quiet_exit or :configuration_error)
|
9
16
|
def addservice(options = {})
|
10
17
|
local_service_file = search_file_in_gem "prometheus-splash", "templates/splashd.service"
|
11
18
|
config = get_config
|
data/lib/splash/config/setup.rb
CHANGED
@@ -1,13 +1,18 @@
|
|
1
|
-
|
2
1
|
# coding: utf-8
|
3
2
|
|
4
|
-
|
3
|
+
# Base Splash module
|
5
4
|
module Splash
|
5
|
+
|
6
|
+
# moudle for Configuration utilities
|
6
7
|
module ConfigUtilities
|
7
8
|
include Splash::Constants
|
8
9
|
include Splash::Helpers
|
10
|
+
|
11
|
+
|
9
12
|
# Setup action method for installing Splash
|
10
|
-
# @
|
13
|
+
# @param [Hash] options
|
14
|
+
# @option options [Symbol] :preserve flag to preserve config file during setup
|
15
|
+
# @return [Hash] An Exiter case hash (:splash_setup_success or :splash_setup_error)
|
11
16
|
def setupsplash(options = {})
|
12
17
|
conf_in_path = search_file_in_gem "prometheus-splash", "config/splash.yml"
|
13
18
|
full_res = 0
|
data/lib/splash/constants.rb
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
3
|
+
# base Splash module / namespace
|
2
4
|
module Splash
|
5
|
+
|
6
|
+
# Constants namespace
|
3
7
|
module Constants
|
4
|
-
|
8
|
+
|
9
|
+
# Current splash version
|
10
|
+
VERSION = "0.6.0"
|
5
11
|
|
6
12
|
# the path to th config file, not overridable by config
|
7
13
|
CONFIG_FILE = "/etc/splash.yml"
|
@@ -40,6 +46,11 @@ module Splash
|
|
40
46
|
PROMETHEUS_PUSHGATEWAY_HOST = "localhost"
|
41
47
|
# the default prometheus pushgateway port
|
42
48
|
PROMETHEUS_PUSHGATEWAY_PORT = "9091"
|
49
|
+
# the default prometheus pushgateway port
|
50
|
+
PROMETHEUS_PUSHGATEWAY_PATH = ''
|
51
|
+
|
52
|
+
# the default prometheus URL
|
53
|
+
PROMETHEUS_URL = "http://localhost:9090"
|
43
54
|
|
44
55
|
# the default path fo execution report template
|
45
56
|
EXECUTION_TEMPLATE="/etc/splash_execution_report.tpl"
|
@@ -55,11 +66,28 @@ module Splash
|
|
55
66
|
:active => :rabbitmq,
|
56
67
|
:rabbitmq => { :port => 5672, :host => "localhost", :vhost => '/'} }
|
57
68
|
|
58
|
-
|
69
|
+
# loggers default settings
|
70
|
+
LOGGERS_STRUCT = { :list => [:cli,:daemon, :dual, :web],
|
59
71
|
:default => :cli,
|
60
72
|
:level => :info,
|
61
73
|
:daemon => {:file => '/var/log/splash.log'},
|
74
|
+
:web => {:file => '/var/log/splash_web.log'},
|
62
75
|
:cli => {:color => true, :emoji => true } }
|
63
76
|
|
77
|
+
WEBADMIN_IP = "127.0.0.1"
|
78
|
+
WEBADMIN_PORT = "9234"
|
79
|
+
WEBADMIN_PROXY = false
|
80
|
+
# the display name of daemon in proc info (ps/top)
|
81
|
+
WEBADMIN_PROCESS_NAME="Splash : WebAdmin."
|
82
|
+
# the default pid file path
|
83
|
+
WEBADMIN_PID_PATH="/var/run"
|
84
|
+
# the default pid file name
|
85
|
+
WEBADMIN_PID_FILE="splash.pid"
|
86
|
+
# the default sdtout trace file
|
87
|
+
WEBADMIN_STDOUT_TRACE="stdout.txt"
|
88
|
+
# the default sdterr trace file
|
89
|
+
WEBADMIN_STDERR_TRACE="stderr.txt"
|
90
|
+
|
91
|
+
|
64
92
|
end
|
65
93
|
end
|
data/lib/splash/daemon.rb
CHANGED
@@ -1,2 +1,6 @@
|
|
1
1
|
# coding: utf-8
|
2
|
-
|
2
|
+
require File.dirname(__FILE__) + '/daemon/orchestrator.rb'
|
3
|
+
require File.dirname(__FILE__) + '/daemon/metrics.rb'
|
4
|
+
require File.dirname(__FILE__) + '/daemon/controller.rb'
|
5
|
+
|
6
|
+
# Dir[File.dirname(__FILE__) + '/daemon/*.rb'].each {|file| require file }
|
@@ -1,6 +1,13 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
require 'splash/daemon/orchestrator'
|
3
|
+
|
4
|
+
# base Splash module
|
2
5
|
module Splash
|
6
|
+
|
7
|
+
# global daemon module
|
3
8
|
module Daemon
|
9
|
+
|
10
|
+
# Daemon Controller Module
|
4
11
|
module Controller
|
5
12
|
include Splash::Constants
|
6
13
|
include Splash::Helpers
|
@@ -9,6 +16,12 @@ module Splash
|
|
9
16
|
include Splash::Loggers
|
10
17
|
include Splash::Daemon::Orchestrator
|
11
18
|
|
19
|
+
# Start the Splash Daemon
|
20
|
+
# @param [Hash] options
|
21
|
+
# @option options [Symbol] :quiet activate quiet mode for log (limit to :fatal)
|
22
|
+
# @option options [Symbol] :foreground run daemon in foreground
|
23
|
+
# @option options [Symbol] :purge clean input queue for daemon on configured transport
|
24
|
+
# @return [Hash] Exiter Case (:quiet_exit, :already_exist, :unknown_error or other)
|
12
25
|
def startdaemon(options = {})
|
13
26
|
config = get_config
|
14
27
|
log = get_logger
|
@@ -43,7 +56,7 @@ module Splash
|
|
43
56
|
:foreground => options[:foreground]
|
44
57
|
}
|
45
58
|
|
46
|
-
["int","term","hup"].each do |type| daemon_config["sig#{type}_handler".to_sym] = Proc::new { ObjectSpace.each_object(Splash::Daemon::Orchestrator::Scheduler).first.
|
59
|
+
["int","term","hup"].each do |type| daemon_config["sig#{type}_handler".to_sym] = Proc::new { ObjectSpace.each_object(Splash::Daemon::Orchestrator::Scheduler).first.terminate } end
|
47
60
|
res = daemonize daemon_config do
|
48
61
|
Scheduler::new options
|
49
62
|
end
|
@@ -61,6 +74,10 @@ module Splash
|
|
61
74
|
end
|
62
75
|
end
|
63
76
|
|
77
|
+
# Stop the Splash Daemon
|
78
|
+
# @param [Hash] options
|
79
|
+
# @option options [Symbol] :quiet activate quiet mode for log (limit to :fatal)
|
80
|
+
# @return [Hash] Exiter Case (:quiet_exit, :not_found, other)
|
64
81
|
def stopdaemon(options = {})
|
65
82
|
config = get_config
|
66
83
|
log = get_logger
|
@@ -80,6 +97,9 @@ module Splash
|
|
80
97
|
return acase
|
81
98
|
end
|
82
99
|
|
100
|
+
# Status of the Splash Daemon, display status
|
101
|
+
# @param [Hash] options ignored
|
102
|
+
# @return [Hash] Exiter Case (:status_ko, :status_ok)
|
83
103
|
def statusdaemon(options = {})
|
84
104
|
log = get_logger
|
85
105
|
config = get_config
|
@@ -1,5 +1,12 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
# base Splash module
|
1
4
|
module Splash
|
5
|
+
|
6
|
+
# global daemon module
|
2
7
|
module Daemon
|
8
|
+
|
9
|
+
# Metrics management modulefor Splash daemon
|
3
10
|
module Metrics
|
4
11
|
include Splash::Constants
|
5
12
|
include Splash::Helpers
|
@@ -7,20 +14,24 @@ module Splash
|
|
7
14
|
include Splash::Loggers
|
8
15
|
|
9
16
|
@@manager=nil
|
10
|
-
|
11
|
-
#
|
12
|
-
# @return [
|
17
|
+
|
18
|
+
# metrics manager factory
|
19
|
+
# @return [Splash::Daemon::Metrics::Manager]
|
13
20
|
def get_metrics_manager
|
14
21
|
return @@manager ||= Manager::new
|
15
22
|
end
|
16
23
|
|
17
|
-
|
24
|
+
# Metrics Manager (collect and sending to Prometheus)
|
18
25
|
class Manager
|
19
26
|
|
27
|
+
# metric : commands executions count during Splash daemon uptime
|
20
28
|
attr_reader :execution_count
|
29
|
+
# metric : logs monitoring count during Splash daemon uptime
|
21
30
|
attr_reader :monitoring_logs_count
|
31
|
+
# metric : processes monitoring count during Splash daemon uptime
|
22
32
|
attr_reader :monitoring_processes_count
|
23
33
|
|
34
|
+
# Constructor prepare prometheus-client, defined metrics and init attributes
|
24
35
|
def initialize
|
25
36
|
@config = get_config
|
26
37
|
@starttime = Time.now
|
@@ -40,24 +51,28 @@ module Splash
|
|
40
51
|
@registry.register(@metric_processes_monitoring)
|
41
52
|
end
|
42
53
|
|
43
|
-
|
54
|
+
# virtual accessor uptime
|
44
55
|
def uptime
|
45
56
|
return Time.now - @starttime
|
46
57
|
end
|
47
58
|
|
59
|
+
# increment metric : execution_count
|
48
60
|
def inc_execution
|
49
61
|
@execution_count += 1
|
50
62
|
end
|
51
63
|
|
52
|
-
|
64
|
+
# increment metric : monitoring_logs_count
|
53
65
|
def inc_logs_monitoring
|
54
66
|
@monitoring_logs_count += 1
|
55
67
|
end
|
56
68
|
|
69
|
+
# increment metric : monitoring_processes_count
|
57
70
|
def inc_processes_monitoring
|
58
71
|
@monitoring_processes_count += 1
|
59
72
|
end
|
60
73
|
|
74
|
+
# Send metrics to Prometheus PushGateway
|
75
|
+
# @return [Hash] Exiter case ( :service_dependence_missing , :quiet_exit)
|
61
76
|
def notify
|
62
77
|
log = get_logger
|
63
78
|
session = get_session
|
@@ -72,7 +87,7 @@ module Splash
|
|
72
87
|
@metric_processes_monitoring.set monitoring_processes_count
|
73
88
|
|
74
89
|
hostname = Socket.gethostname
|
75
|
-
url = "http://#{@config.prometheus_pushgateway_host}:#{@config.prometheus_pushgateway_port}"
|
90
|
+
url = "http://#{@config.prometheus_pushgateway_host}:#{@config.prometheus_pushgateway_port}/#{@config.prometheus_pushgateway_path}"
|
76
91
|
Prometheus::Client::Push.new('Splash',hostname, url).add(@registry)
|
77
92
|
log.debug "Sending to Prometheus PushGateway done.", session
|
78
93
|
return {:case => :quiet_exit }
|
@@ -1,10 +1,16 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
Dir[File.dirname(__FILE__) + '/orchestrator/*.rb'].each {|file| require file }
|
3
3
|
|
4
|
+
# base Splash module
|
4
5
|
module Splash
|
6
|
+
|
7
|
+
# global daemon module
|
5
8
|
module Daemon
|
9
|
+
|
10
|
+
# orchestrator specific module
|
6
11
|
module Orchestrator
|
7
12
|
|
13
|
+
# Splash Scheduler object
|
8
14
|
class Scheduler
|
9
15
|
include Splash::Constants
|
10
16
|
include Splash::Helpers
|
@@ -16,7 +22,12 @@ module Splash
|
|
16
22
|
include Splash::Processes
|
17
23
|
include Splash::Commands
|
18
24
|
|
19
|
-
|
25
|
+
# Constructor prepare the Scheduler
|
26
|
+
# commands Schedules
|
27
|
+
# logs monitorings
|
28
|
+
# process monitorings
|
29
|
+
# @param [Hash] options
|
30
|
+
# @option options [Symbol] :scheduling activate commands scheduling
|
20
31
|
def initialize(options = {})
|
21
32
|
@log = get_logger
|
22
33
|
self.extend Splash::Daemon::Metrics
|
@@ -103,6 +114,8 @@ module Splash
|
|
103
114
|
end
|
104
115
|
end
|
105
116
|
|
117
|
+
# Stop the Splash daemon gracefully
|
118
|
+
# @return [hash] Exiter Case :quiet_exit
|
106
119
|
def terminate
|
107
120
|
@log.info "Splash daemon shutdown"
|
108
121
|
@server.shutdown
|
@@ -111,6 +124,7 @@ module Splash
|
|
111
124
|
end
|
112
125
|
|
113
126
|
private
|
127
|
+
# prepare commands Scheduling
|
114
128
|
def init_commands_scheduling
|
115
129
|
config = get_config.commands
|
116
130
|
commands = config.select{|key,value| value.include? :schedule}.keys
|
@@ -126,10 +140,14 @@ module Splash
|
|
126
140
|
|
127
141
|
end
|
128
142
|
|
143
|
+
# execute_command verb : execute command specified in payload
|
144
|
+
# @param [Hash] options
|
145
|
+
# @option options [Symbol] :command the name of the command
|
146
|
+
# @option options [Symbol] :ack ack flag to inhibit execution and send ack to Prometheus (0)
|
147
|
+
# @return [Hash] Exiter case
|
129
148
|
def execute(options)
|
130
149
|
command = CommandWrapper::new(options[:command])
|
131
|
-
if options[:ack] then
|
132
|
-
command.ack
|
150
|
+
if options[:ack] then
|
133
151
|
else
|
134
152
|
@metric_manager.inc_execution
|
135
153
|
return command.call_and_notify trace: true, notify: true, callback: true, session: options[:session]
|
@@ -1,34 +1,54 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
3
|
+
# base Splash module
|
2
4
|
module Splash
|
5
|
+
|
6
|
+
# global daemon module
|
3
7
|
module Daemon
|
8
|
+
|
9
|
+
# orchestrator specific module
|
4
10
|
module Orchestrator
|
11
|
+
|
12
|
+
# Orchestrator grammar method defiition module
|
5
13
|
module Grammar
|
6
14
|
|
7
15
|
include Splash::Config
|
8
16
|
include Splash::Loggers
|
9
17
|
|
10
|
-
|
18
|
+
# list of known verbs for Splash orchestrator
|
11
19
|
VERBS=[:ping,:list_commands,:execute_command,:ack_command, :shutdown]
|
12
20
|
|
13
|
-
|
14
|
-
|
21
|
+
# shutdown verb : stop the Splash daemon gracefully
|
22
|
+
# @param [Hash] content message content Hash Structure, ignored
|
23
|
+
# @return [Hash] Exiter Case :quiet_exit
|
24
|
+
def shutdown(content)
|
15
25
|
terminate
|
16
26
|
end
|
17
27
|
|
28
|
+
# ping verb : return pong to hostname precise in payload
|
29
|
+
# @param [Hash] content message content Hash Structure, include mandatory payload[:hostname]
|
30
|
+
# @return [String] the pong
|
18
31
|
def ping(content)
|
19
32
|
return "Pong : #{content[:payload][:hostname]} !"
|
20
33
|
end
|
21
34
|
|
22
|
-
|
35
|
+
# list_commands verb : return the list of specified commands in local Splash
|
36
|
+
# @param [Hash] content message content Hash Structure, ignored
|
37
|
+
# @return [Hash] structure of commands
|
23
38
|
def list_commands(content)
|
24
39
|
return get_config.commands
|
25
40
|
end
|
26
41
|
|
42
|
+
# ack_command verb : send ack to Prometheus, for command specified in payload
|
43
|
+
# @param [Hash] content message content Hash Structure, include mandatory payload[:name]
|
44
|
+
# @return [Hash] Exiter case
|
27
45
|
def ack_command(content)
|
28
46
|
return execute command: content[:payload][:name], ack: true
|
29
47
|
end
|
30
48
|
|
31
|
-
|
49
|
+
# execute_command verb : execute command specified in payload
|
50
|
+
# @param [Hash] content message content Hash Structure, include mandatory payload[:name]
|
51
|
+
# @return [Hash] Exiter case
|
32
52
|
def execute_command(content)
|
33
53
|
payload = content[:payload]
|
34
54
|
unless get_config.commands.include? payload[:name].to_sym
|
@@ -1,13 +1,23 @@
|
|
1
1
|
# coding: utf-8
|
2
|
+
|
3
|
+
# base Splash module
|
2
4
|
module Splash
|
5
|
+
|
6
|
+
# global daemon module
|
3
7
|
module Daemon
|
8
|
+
|
9
|
+
# orchestrator specific module
|
4
10
|
module Orchestrator
|
5
11
|
|
12
|
+
# Rufus Scheduler Hooks
|
6
13
|
module SchedulerHooks
|
14
|
+
|
15
|
+
# not yet implemented
|
7
16
|
def on_pre_trigger(job, trigger_time)
|
8
17
|
|
9
18
|
end
|
10
19
|
|
20
|
+
# not yet implemented
|
11
21
|
def on_post_trigger(job, trigger_time)
|
12
22
|
|
13
23
|
end
|
data/lib/splash/dependencies.rb
CHANGED
@@ -12,6 +12,7 @@ module Splash
|
|
12
12
|
require 'fileutils'
|
13
13
|
require 'etc'
|
14
14
|
require 'forwardable'
|
15
|
+
require 'json'
|
15
16
|
|
16
17
|
|
17
18
|
|
@@ -27,6 +28,13 @@ module Splash
|
|
27
28
|
require 'colorize'
|
28
29
|
require "redis"
|
29
30
|
require 'ps-ruby'
|
31
|
+
require 'sinatra/base'
|
32
|
+
require 'thin'
|
33
|
+
require 'slim'
|
34
|
+
require 'rest-client'
|
35
|
+
require 'kramdown'
|
36
|
+
require 'rack/reverse_proxy'
|
37
|
+
|
30
38
|
|
31
39
|
rescue Gem::GemNotFoundException
|
32
40
|
$stderr.puts "Loadind error, it's like you try to run Splash, with a lake of dependencies."
|
@@ -49,8 +57,9 @@ module Splash
|
|
49
57
|
require 'splash/commands'
|
50
58
|
require 'splash/logs'
|
51
59
|
require 'splash/processes'
|
52
|
-
|
60
|
+
|
53
61
|
require 'splash/daemon'
|
62
|
+
require 'splash/webadmin'
|
54
63
|
|
55
64
|
|
56
65
|
end
|