hubrise_initializer 0.1.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 +7 -0
- data/lib/hubrise_initializer.rb +94 -0
- metadata +85 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 238cbbf14dd0089e4e4467873b7456377ea6f5161207a2c3f57cc4b42f3d7fe8
|
4
|
+
data.tar.gz: 2e7fe3e75dace24be20f91ee8d846073ac20c658a7d8de8efffeef3622b8f3ad
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0f943319281a6d08f3d26e421297f659a5890c43a2f50b16437135cea1c5384cc8b9c8bd0cf5b169b218454492749af755a6cb49747d7adf0fb00f697712b285
|
7
|
+
data.tar.gz: 16b2059447a02c2db78c8abb1537e00aa157240500a2ffb0f4d36c55ce937a704dd3f428c5cee7988f829a52eabf4414cba39fcd28148dda4ccf8b19325eb2e4
|
@@ -0,0 +1,94 @@
|
|
1
|
+
class HubriseInitializer
|
2
|
+
def self.configure(config, *initializers)
|
3
|
+
initializers.each do |initializer|
|
4
|
+
case initializer
|
5
|
+
when :logger
|
6
|
+
configure_logger(config)
|
7
|
+
when :lograge
|
8
|
+
configure_lograge(config)
|
9
|
+
when :delayed_job_logger
|
10
|
+
configure_delayed_job_logger(config)
|
11
|
+
when :web_console
|
12
|
+
configure_web_console(config)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def self.configure_logger(config)
|
20
|
+
case ENV['RAILS_LOGGER']
|
21
|
+
when 'stdout'
|
22
|
+
# Log to STDOUT (docker-compose)
|
23
|
+
config.logger = Logger.new(STDOUT)
|
24
|
+
|
25
|
+
when 'fluentd'
|
26
|
+
# Log to fluentd (kubernetes)
|
27
|
+
# ENV['FLUENTD_URL'] is used internally by this logger
|
28
|
+
config.logger = ActFluentLoggerRails::Logger.new
|
29
|
+
|
30
|
+
else
|
31
|
+
# Log to a file (Rails default)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.configure_lograge(config)
|
36
|
+
case ENV['RAILS_LOGGER']
|
37
|
+
when 'stdout'
|
38
|
+
# Log to STDOUT (docker-compose)
|
39
|
+
|
40
|
+
when 'fluentd'
|
41
|
+
# Log to fluentd (kubernetes)
|
42
|
+
config.lograge.enabled = true
|
43
|
+
config.lograge.formatter = Lograge::Formatters::Logstash.new
|
44
|
+
config.lograge.formatter = Lograge::Formatters::Json.new
|
45
|
+
|
46
|
+
config.lograge.ignore_actions = ["HealthCheck::HealthCheckController#index"]
|
47
|
+
|
48
|
+
config.lograge.custom_options = lambda do |event|
|
49
|
+
exceptions = %w(controller action format id)
|
50
|
+
{
|
51
|
+
params: event.payload[:params].except(*exceptions),
|
52
|
+
# payload: event.payload.inspect,
|
53
|
+
}
|
54
|
+
end
|
55
|
+
|
56
|
+
config.lograge.custom_payload do |controller|
|
57
|
+
{
|
58
|
+
host: controller.request.host,
|
59
|
+
ip: controller.request.ip,
|
60
|
+
user_agent: controller.request.user_agent
|
61
|
+
}
|
62
|
+
end
|
63
|
+
else
|
64
|
+
# Log to a file (Rails default)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.configure_delayed_job_logger(config)
|
69
|
+
case ENV['RAILS_LOGGER']
|
70
|
+
when 'stdout'
|
71
|
+
# Log to STDOUT (docker-compose)
|
72
|
+
Delayed::Worker.logger = Logger.new(STDOUT)
|
73
|
+
|
74
|
+
when 'fluentd'
|
75
|
+
# Log to fluentd (kubernetes)
|
76
|
+
# ENV['FLUENTD_URL'] is used internally by this logger
|
77
|
+
Delayed::Worker.logger = ActFluentLoggerRails::Logger.new
|
78
|
+
|
79
|
+
else
|
80
|
+
# Log to a file
|
81
|
+
Delayed::Worker.logger = Logger.new(File.join(Rails.root, 'log', 'delayed_job.log'))
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
def self.configure_web_console(config)
|
86
|
+
# web_console is generally enabled on dev only
|
87
|
+
return if !config.respond_to?(:web_console)
|
88
|
+
|
89
|
+
# - 172.0.0.0/8: host in docker-compose
|
90
|
+
# - 192.168.0.0/16: inter containers network in docker-compose
|
91
|
+
# - 10.244.0.0/16: pod networks in Kubernetes
|
92
|
+
config.web_console.whitelisted_ips = ['172.0.0.0/8', '192.168.0.0/16', '10.244.0.0/16']
|
93
|
+
end
|
94
|
+
end
|
metadata
ADDED
@@ -0,0 +1,85 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hubrise_initializer
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Antoine Monnier
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-10-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: lograge
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.11'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0.11'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: act-fluent-logger-rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.5'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.5'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: logstash-event
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.2'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.2'
|
55
|
+
description:
|
56
|
+
email:
|
57
|
+
executables: []
|
58
|
+
extensions: []
|
59
|
+
extra_rdoc_files: []
|
60
|
+
files:
|
61
|
+
- lib/hubrise_initializer.rb
|
62
|
+
homepage: https://github.com/hubrise/rails-initializer.git
|
63
|
+
licenses:
|
64
|
+
- MIT
|
65
|
+
metadata: {}
|
66
|
+
post_install_message:
|
67
|
+
rdoc_options: []
|
68
|
+
require_paths:
|
69
|
+
- lib
|
70
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - ">="
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0'
|
80
|
+
requirements: []
|
81
|
+
rubygems_version: 3.0.5
|
82
|
+
signing_key:
|
83
|
+
specification_version: 4
|
84
|
+
summary: Rails app initializers optimized for HubRise
|
85
|
+
test_files: []
|