kubelink 0.1.3 → 0.1.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9cc7889020648d45b7f2070339c76dc0b3f2303ba3050f85b7013aebfa2c80e5
4
- data.tar.gz: f48b041d98d26b08da6b616de45229ea0c15521cc0882f17908667d8331c936d
3
+ metadata.gz: b946f31427209360e744ee62c3621ca6a7ecf1149a485a852a4dcb278b8fdbe2
4
+ data.tar.gz: 2bc20c51b74a2ede98bbb79984ae6b3ff4eb7bab032e0679d8c11378cf3aa487
5
5
  SHA512:
6
- metadata.gz: e7a704af93faa0aff57d28f6ae61b598ead49056769d449652e98032f32111eae43186124b147add5cc93aeffc8572d4a723933493a324efd4f7c867d7769686
7
- data.tar.gz: b854e44298871bdad374f45cb125c2d182ed4df1aa0eeea16bf184379ec1080f71d6b820a578f245c8400c40f8f8cd8c4c098608b61e672bd10238afdde6c809
6
+ metadata.gz: 94b501e6dd0137a9c5612ed5b4e1fdb1bb02140fad88b3f221185d22e9a12c790f2e7ab7c20ab96e16f0e397d8a8cee684e807738f72967ebd153a098bf6241f
7
+ data.tar.gz: 31a7f3e478f21212aa98eb0f1d22778877b05ed18f98b85aff1eeb49379d7e64fe039e3ca3723bea1d791e6a7ef9508a4c83aa2691b8141772afb006acf33d17
@@ -0,0 +1,12 @@
1
+ module Kubelink
2
+ class MonitoringController < ActionController::Base
3
+ def health
4
+ ActiveRecord::Base.connection.execute('SELECT 1')
5
+ render plain: "ok"
6
+ end
7
+
8
+ def status
9
+ render plain: "ok"
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,4 @@
1
+ Kubelink::Engine.routes.draw do
2
+ get 'healthz', to: 'monitoring#health'
3
+ get 'statusz', to: 'monitoring#status'
4
+ end
@@ -5,11 +5,15 @@ require 'kubelink/version'
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'kubelink'
7
7
  s.version = Kubelink::VERSION
8
- s.authors = ['Martino di Filippo']
9
- s.email = ['difilippo@shaman.xyz']
8
+ s.author = 'Martino di Filippo'
9
+ s.email = 'difilippo@shaman.xyz'
10
10
  s.homepage = 'https://git.shaman.xyz/shaman/kubelink'
11
11
  s.summary = %q{Integrate a Rails app with our Kubernetes environment}
12
12
  s.license = 'MIT'
13
+ s.metadata = {
14
+ 'source_code_uri' => 'https://git.shaman.xyz/shaman/kubelink/tree/master'
15
+ }
16
+
13
17
  s.required_ruby_version = '>= 2.3.0'
14
18
 
15
19
  s.files = Dir.chdir(File.expand_path('..', __FILE__)) do
@@ -18,9 +22,11 @@ Gem::Specification.new do |s|
18
22
  s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
23
  s.require_paths = ['lib']
20
24
 
25
+ s.add_dependency 'activesupport', '~> 5.2'
21
26
  s.add_dependency 'lograge', '~> 0.10.0'
22
27
  s.add_dependency 'prometheus_exporter', '~> 0.4.0'
23
- s.add_dependency 'sentry-raven', '~> 2.7', '>= 2.7.4'
28
+ s.add_dependency 'rails', '~> 5.2'
29
+ s.add_dependency 'sentry-raven', '~> 2.7'
24
30
 
25
31
  s.add_development_dependency 'bundler', '~> 1.16'
26
32
  s.add_development_dependency 'rake', '~> 10.0'
@@ -1,8 +1,18 @@
1
+ require 'active_support/dependencies'
1
2
  require 'kubelink/version'
2
3
 
3
- if defined?(Rails)
4
- require 'kubelink/config'
5
- require 'kubelink/health'
6
- require 'kubelink/prometheus'
7
- require 'kubelink/sentry'
4
+ module Kubelink
5
+ class Engine < Rails::Engine
6
+ isolate_namespace Kubelink
7
+
8
+ initializer 'kubelink.mount' do |app|
9
+ app.routes.append do
10
+ mount Kubelink::Engine => '/'
11
+ end
12
+ end
13
+ end
8
14
  end
15
+
16
+ require 'kubelink/config'
17
+ require 'kubelink/prometheus'
18
+ require 'kubelink/sentry'
@@ -38,7 +38,9 @@ module Kubelink
38
38
  script = 'https://browser.sentry-cdn.com/4.2.0/bundle.min.js'
39
39
 
40
40
  [ javascript_include_tag(script, crossorigin: :anonymous),
41
- content_tag(:script, %Q{Sentry.init({ dsn: "#{sentry_dsn}" });}.html_safe)
41
+ javascript_tag(nonce: true) do
42
+ %Q{Sentry.init({ dsn: "#{sentry_dsn}" });}.html_safe
43
+ end
42
44
  ].join("\n").html_safe
43
45
  end
44
46
  end
@@ -1,3 +1,3 @@
1
1
  module Kubelink
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kubelink
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martino di Filippo
@@ -10,6 +10,20 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2018-10-23 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '5.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '5.2'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: lograge
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +52,20 @@ dependencies:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: 0.4.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '5.2'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '5.2'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: sentry-raven
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -45,9 +73,6 @@ dependencies:
45
73
  - - "~>"
46
74
  - !ruby/object:Gem::Version
47
75
  version: '2.7'
48
- - - ">="
49
- - !ruby/object:Gem::Version
50
- version: 2.7.4
51
76
  type: :runtime
52
77
  prerelease: false
53
78
  version_requirements: !ruby/object:Gem::Requirement
@@ -55,9 +80,6 @@ dependencies:
55
80
  - - "~>"
56
81
  - !ruby/object:Gem::Version
57
82
  version: '2.7'
58
- - - ">="
59
- - !ruby/object:Gem::Version
60
- version: 2.7.4
61
83
  - !ruby/object:Gem::Dependency
62
84
  name: bundler
63
85
  requirement: !ruby/object:Gem::Requirement
@@ -87,8 +109,7 @@ dependencies:
87
109
  - !ruby/object:Gem::Version
88
110
  version: '10.0'
89
111
  description:
90
- email:
91
- - difilippo@shaman.xyz
112
+ email: difilippo@shaman.xyz
92
113
  executables: []
93
114
  extensions: []
94
115
  extra_rdoc_files: []
@@ -99,19 +120,21 @@ files:
99
120
  - LICENSE.txt
100
121
  - README.md
101
122
  - Rakefile
123
+ - app/controllers/kubelink/monitoring_controller.rb
102
124
  - bin/console
103
125
  - bin/setup
126
+ - config/routes.rb
104
127
  - kubelink.gemspec
105
128
  - lib/kubelink.rb
106
129
  - lib/kubelink/config.rb
107
- - lib/kubelink/health.rb
108
130
  - lib/kubelink/prometheus.rb
109
131
  - lib/kubelink/sentry.rb
110
132
  - lib/kubelink/version.rb
111
133
  homepage: https://git.shaman.xyz/shaman/kubelink
112
134
  licenses:
113
135
  - MIT
114
- metadata: {}
136
+ metadata:
137
+ source_code_uri: https://git.shaman.xyz/shaman/kubelink/tree/master
115
138
  post_install_message:
116
139
  rdoc_options: []
117
140
  require_paths:
@@ -1,23 +0,0 @@
1
- module Kubelink
2
- class Health < Rails::Railtie
3
- initializer "kubelink.healthcheck_endpoints" do
4
- ActiveSupport.on_load :action_controller do
5
- class MonitoringController < ActionController::Base
6
- def health
7
- ActiveRecord::Base.connection.execute('SELECT 1')
8
- render plain: "ok"
9
- end
10
-
11
- def status
12
- render plain: "ok"
13
- end
14
- end
15
-
16
- Rails.application.routes.prepend do
17
- get 'healthz', to: 'monitoring#health'
18
- get 'statusz', to: 'monitoring#status'
19
- end
20
- end
21
- end
22
- end
23
- end