skylight 1.2.2 → 1.3.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cac23645ac924ba9bcace2dd334b2ab17fea852c
4
- data.tar.gz: 61b062120bf0a0b2f6914d163e2b4852c498ced1
3
+ metadata.gz: f628a6b5a3ed23626781369f5cab3b4adfbbb3c0
4
+ data.tar.gz: 8c623387c32d39fdde9bbbd482039be124fa92c5
5
5
  SHA512:
6
- metadata.gz: c12f4d069f3e04fb6db597a51b78e81858343cd69bfc85ded5fc3777a3fb43cedcc984439f08e0181658f1759c94c2de999b1f302cf3bb864be57099a128f071
7
- data.tar.gz: 39813746ec564f52ecc818a3d8375b0835c73e9b5de92470c674177a27aaba9f16b8cdc6d5e0778331cc15bb3ab942b4df820cec0c733a1b7dd8c59aa7901c6f
6
+ metadata.gz: '0915a87d423f154fe620d05a090574bc40c1ae10ad511a564a07b1917c54f1d0d94af969e5e858e915387c51ce2126616e3dfcea17aaac7cb58b3bd5e693b958'
7
+ data.tar.gz: a12c534ac052171b7f37b5f62f3aee67f3a230fa6a5925fdd545653489904c7469ea45c90190fdc409f973e24f2308ca1bf7d8ef1f534219a812edbed6941bc9
@@ -1,3 +1,9 @@
1
+ ## 1.3.0 (May 17, 2017)
2
+
3
+ * [FEATURE] Add normalizer for couch_potato. (Thanks @cobot)
4
+ * [IMPROVEMENT] `skylight doctor` now validates SSL configuration
5
+ * [IMPROVEMENT] Add ENV option to force use of bundled SSL certificates
6
+
1
7
  ## 1.2.2 (April 28, 2017)
2
8
 
3
9
  * [BUGFIX] Update bundled SSL certificates to avoid an authentication issue some users encountered due to a new skylight.io certificate.
@@ -5,16 +5,34 @@ module Skylight
5
5
 
6
6
  desc "Run some basic tests to look out for common errors"
7
7
 
8
+ def check_ssl
9
+ say "Checking SSL"
10
+ http = Util::HTTP.new(config)
11
+ indent do
12
+ req = http.get("/", "Accept" => "text/html")
13
+ if req.success?
14
+ say "OK", :green
15
+ else
16
+ if req.exception.is_a?(Util::HTTP::StartError) && req.exception.original.is_a?(OpenSSL::SSL::SSLError)
17
+ say "Failed to verify SSL certificate.", :red
18
+ if Util::SSL.ca_cert_file?
19
+ say "Certificates located at #{Util::SSL.ca_cert_file_or_default} may be out of date.", :yellow
20
+ say "Please update your local certificates or try setting `SKYLIGHT_FORCE_OWN_CERTS=1` in your environment.", :yellow
21
+ end
22
+ else
23
+ say "Unable to reach Skylight servers.", :red
24
+ end
25
+ end
26
+ end
27
+ say "\n"
28
+ end
29
+
8
30
  def check_rails
9
31
  say "Checking for Rails"
10
32
 
11
33
  indent do
12
34
  if is_rails?
13
35
  say "Rails application detected", :green
14
-
15
- # Normally auto-loaded, but we haven't loaded Rails by the time Skylight is loaded
16
- require 'skylight/railtie'
17
- require rails_rb
18
36
  else
19
37
  say "No Rails application detected", :red
20
38
  abort "Currently `skylight doctor` only works with Rails applications"
@@ -60,7 +78,10 @@ module Skylight
60
78
  say "Configuration is valid", :green
61
79
  rescue ConfigError => e
62
80
  say "Configuration is invalid", :red
63
- say " #{e.message}", :red
81
+ indent do
82
+ say e.message, :red
83
+ say "This may occur if you are configuring with ENV variables and didn't set them in this shell."
84
+ end
64
85
  abort
65
86
  end
66
87
  end
@@ -131,8 +152,16 @@ module Skylight
131
152
  return @config if @config
132
153
 
133
154
  # MEGAHAX
134
- railtie = Skylight::Railtie.send(:new)
135
- @config = railtie.send(:load_skylight_config, Rails.application)
155
+ if is_rails?
156
+ # Normally auto-loaded, but we haven't loaded Rails by the time Skylight is loaded
157
+ require 'skylight/railtie'
158
+ require rails_rb
159
+
160
+ railtie = Skylight::Railtie.send(:new)
161
+ @config = railtie.send(:load_skylight_config, Rails.application)
162
+ else
163
+ super
164
+ end
136
165
  end
137
166
  end
138
167
  end
@@ -147,7 +147,8 @@ module Skylight
147
147
  active_support/cache
148
148
  elasticsearch/request
149
149
  grape/endpoint
150
- moped/query).each do |file|
150
+ moped/query
151
+ couch_potato/query).each do |file|
151
152
  require "skylight/normalizers/#{file}"
152
153
  end
153
154
  end
@@ -0,0 +1,20 @@
1
+ require "json"
2
+
3
+ module Skylight
4
+ module Normalizers
5
+ module CouchPotato
6
+ class Query < Normalizer
7
+ register "couch_potato.load"
8
+ register "couch_potato.view"
9
+
10
+ CAT = "db.couch_db.query".freeze
11
+
12
+ def normalize(trace, name, payload)
13
+ description = payload[:name] if payload
14
+ _name = name.sub('couch_potato.', '')
15
+ [CAT, _name, description]
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -29,7 +29,16 @@ module Skylight
29
29
  READ_EXCEPTIONS << Net::ReadTimeout if defined?(Net::ReadTimeout)
30
30
  READ_EXCEPTIONS.freeze
31
31
 
32
- class StartError < StandardError; end
32
+ class StartError < StandardError
33
+ attr_reader :original
34
+
35
+ def initialize(e)
36
+ @original = e
37
+ super e.inspect
38
+ end
39
+
40
+ end
41
+
33
42
  class ReadResponseError < StandardError; end
34
43
 
35
44
  def initialize(config, service = :auth, opts = {})
@@ -101,7 +110,7 @@ module Skylight
101
110
  client = http.start
102
111
  rescue => e
103
112
  # TODO: Retry here
104
- raise StartError, e.inspect
113
+ raise StartError, e
105
114
  end
106
115
 
107
116
  begin
@@ -6,6 +6,8 @@ module Skylight
6
6
  DEFAULT_CA_FILE = File.expand_path('../../data/cacert.pem', __FILE__)
7
7
 
8
8
  def self.detect_ca_cert_file!
9
+ return nil if ENV['SKYLIGHT_FORCE_OWN_CERTS']
10
+
9
11
  @ca_cert_file = false
10
12
  if defined?(OpenSSL::X509::DEFAULT_CERT_FILE)
11
13
  f = OpenSSL::X509::DEFAULT_CERT_FILE
@@ -17,6 +19,8 @@ module Skylight
17
19
  end
18
20
 
19
21
  def self.detect_ca_cert_dir!
22
+ return nil if ENV['SKYLIGHT_FORCE_OWN_CERTS']
23
+
20
24
  @ca_cert_dir = false
21
25
  if defined?(OpenSSL::X509::DEFAULT_CERT_DIR)
22
26
  d = OpenSSL::X509::DEFAULT_CERT_DIR
@@ -1,4 +1,4 @@
1
1
  module Skylight
2
- VERSION = '1.2.2'
2
+ VERSION = '1.3.0'
3
3
  end
4
4
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skylight
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tilde, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-28 00:00:00.000000000 Z
11
+ date: 2017-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -78,6 +78,7 @@ files:
78
78
  - lib/skylight/normalizers/active_support/cache_read.rb
79
79
  - lib/skylight/normalizers/active_support/cache_read_multi.rb
80
80
  - lib/skylight/normalizers/active_support/cache_write.rb
81
+ - lib/skylight/normalizers/couch_potato/query.rb
81
82
  - lib/skylight/normalizers/default.rb
82
83
  - lib/skylight/normalizers/elasticsearch/request.rb
83
84
  - lib/skylight/normalizers/grape/endpoint.rb