google-cloud-debugger 0.28.2 → 0.29.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/README.md +33 -33
- data/lib/google-cloud-debugger.rb +12 -9
- data/lib/google/cloud/debugger.rb +23 -17
- data/lib/google/cloud/debugger/credentials.rb +32 -15
- data/lib/google/cloud/debugger/debuggee.rb +16 -1
- data/lib/google/cloud/debugger/middleware.rb +1 -1
- data/lib/google/cloud/debugger/project.rb +6 -5
- data/lib/google/cloud/debugger/rails.rb +9 -3
- data/lib/google/cloud/debugger/service.rb +4 -24
- data/lib/google/cloud/debugger/v2.rb +182 -0
- data/lib/google/cloud/debugger/v2/controller2_client.rb +85 -58
- data/lib/google/cloud/debugger/v2/debugger2_client.rb +81 -56
- data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/data.rb +24 -27
- data/lib/google/cloud/debugger/v2/doc/google/devtools/clouddebugger/v2/debugger.rb +23 -11
- data/lib/google/cloud/debugger/v2/doc/google/protobuf/timestamp.rb +26 -1
- data/lib/google/cloud/debugger/v2/doc/overview.rb +54 -0
- data/lib/google/cloud/debugger/version.rb +1 -1
- data/lib/google/devtools/clouddebugger/v2/controller_services_pb.rb +10 -11
- data/lib/google/devtools/clouddebugger/v2/debugger_services_pb.rb +4 -4
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: cf39367a4bd468a04d05cb1169183b0929f2f025dc96a26b5b679be501a62eeb
|
4
|
+
data.tar.gz: e17347af976df5273d21140bd2657087de7e057bec738241cc541b074eadba68
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fa34cd85cfdb7c417e0d951ce2b4b401c20939b74f32670718d0ae50ac68d8087ddf257b44c0cbb83538dbd2f2e682364eda16f827ccf8f8ab91a106fcdbdccb
|
7
|
+
data.tar.gz: ec77ef51189b469857211c6b74f2d7eef3084f3cb4f15a0d371a3dde62abbdb7796a7c1954069500db86903b8c16fd47ec81613f4f693cb3fe9379078ca790d9
|
data/README.md
CHANGED
@@ -28,14 +28,14 @@ gem "google-cloud-debugger"
|
|
28
28
|
$ bundle install
|
29
29
|
```
|
30
30
|
|
31
|
-
Alternatively, check out the [`stackdriver`](../stackdriver) gem that includes
|
31
|
+
Alternatively, check out the [`stackdriver`](../stackdriver) gem that includes
|
32
32
|
the `google-cloud-debugger` gem.
|
33
33
|
|
34
34
|
## Enable Stackdriver Debugger API
|
35
35
|
|
36
|
-
The Stackdriver Debugger agent needs the [Stackdriver Debugger
|
37
|
-
API](https://console.cloud.google.com/apis/library/clouddebugger.googleapis.com)
|
38
|
-
to be enabled on your Google Cloud project. Make sure it's enabled if not
|
36
|
+
The Stackdriver Debugger agent needs the [Stackdriver Debugger
|
37
|
+
API](https://console.cloud.google.com/apis/library/clouddebugger.googleapis.com)
|
38
|
+
to be enabled on your Google Cloud project. Make sure it's enabled if not
|
39
39
|
already.
|
40
40
|
|
41
41
|
## Enabling the Debugger agent
|
@@ -47,7 +47,7 @@ frameworks, such as Ruby on Rails and Sinatra.
|
|
47
47
|
|
48
48
|
### With Ruby on Rails
|
49
49
|
|
50
|
-
You can load the Railtie that comes with the library into your Ruby
|
50
|
+
You can load the Railtie that comes with the library into your Ruby
|
51
51
|
on Rails application by explicitly requiring it during the application startup:
|
52
52
|
|
53
53
|
```ruby
|
@@ -55,12 +55,12 @@ on Rails application by explicitly requiring it during the application startup:
|
|
55
55
|
require "google/cloud/debugger/rails"
|
56
56
|
```
|
57
57
|
|
58
|
-
If you're using the `stackdriver` gem, it automatically loads the Railtie into
|
58
|
+
If you're using the `stackdriver` gem, it automatically loads the Railtie into
|
59
59
|
your application when it starts.
|
60
60
|
|
61
61
|
### With other Rack-based frameworks
|
62
62
|
|
63
|
-
Other Rack-based frameworks, such as Sinatra, can use the Rack Middleware
|
63
|
+
Other Rack-based frameworks, such as Sinatra, can use the Rack Middleware
|
64
64
|
provided by the library:
|
65
65
|
|
66
66
|
```ruby
|
@@ -80,66 +80,66 @@ Google::Cloud::Debugger.new.start
|
|
80
80
|
|
81
81
|
### Configuring the agent
|
82
82
|
|
83
|
-
You can customize the behavior of the Stackdriver Debugger agent. See the
|
84
|
-
[agent configuration](../stackdriver/docs/configuration.md) for a list of
|
83
|
+
You can customize the behavior of the Stackdriver Debugger agent. See the
|
84
|
+
[agent configuration](../stackdriver/docs/configuration.md) for a list of
|
85
85
|
possible configuration options.
|
86
86
|
|
87
87
|
## Running on Google Cloud Platform
|
88
88
|
|
89
|
-
The Stackdriver Debugger agent should work without you manually providing
|
90
|
-
authentication credentials for instances running on Google Cloud Platform, as
|
89
|
+
The Stackdriver Debugger agent should work without you manually providing
|
90
|
+
authentication credentials for instances running on Google Cloud Platform, as
|
91
91
|
long as the Stackdriver Debugger API access scope is enabled on that instance.
|
92
92
|
|
93
93
|
### App Engine
|
94
94
|
|
95
|
-
On Google App Engine, the Stackdriver Debugger API access scope is enabled by
|
96
|
-
default, and the Stackdriver Debugger agent can be used without providing
|
95
|
+
On Google App Engine, the Stackdriver Debugger API access scope is enabled by
|
96
|
+
default, and the Stackdriver Debugger agent can be used without providing
|
97
97
|
credentials or a project ID.
|
98
98
|
|
99
99
|
### Container Engine
|
100
100
|
|
101
|
-
On Google Container Engine, you must explicitly add the `cloud_debugger` OAuth
|
101
|
+
On Google Container Engine, you must explicitly add the `cloud_debugger` OAuth
|
102
102
|
scope when creating the cluster:
|
103
103
|
|
104
104
|
```sh
|
105
105
|
$ gcloud container clusters create example-cluster-name --scopes https://www.googleapis.com/auth/cloud_debugger
|
106
106
|
```
|
107
107
|
|
108
|
-
You can also do this through the Google Cloud Platform Console. Select
|
108
|
+
You can also do this through the Google Cloud Platform Console. Select
|
109
109
|
**Enabled** in the Cloud Platform section of **Create a container cluster**.
|
110
110
|
|
111
111
|
### Compute Engine
|
112
112
|
|
113
|
-
To use Stackdriver Debugger, Compute Engine VM instances should have one of the
|
114
|
-
following access scopes. These are only relevant when you use Compute Engine's
|
113
|
+
To use Stackdriver Debugger, Compute Engine VM instances should have one of the
|
114
|
+
following access scopes. These are only relevant when you use Compute Engine's
|
115
115
|
default service account:
|
116
116
|
|
117
117
|
* `https://www.googleapis.com/auth/cloud-platform`
|
118
118
|
* `https://www.googleapis.com/auth/cloud_debugger`
|
119
119
|
|
120
|
-
The `cloud-platform` access scope can be supplied when creating a new instance
|
121
|
-
through the Google Cloud Platform Console. Select **Allow full access to all
|
122
|
-
Cloud APIs** in the **Identity and API access** section of **Create an
|
120
|
+
The `cloud-platform` access scope can be supplied when creating a new instance
|
121
|
+
through the Google Cloud Platform Console. Select **Allow full access to all
|
122
|
+
Cloud APIs** in the **Identity and API access** section of **Create an
|
123
123
|
instance**.
|
124
124
|
|
125
|
-
The `cloud_debugger` access scope must be supplied manually using the SDK's
|
126
|
-
`gcloud compute instances create` command or the `gcloud compute instances
|
125
|
+
The `cloud_debugger` access scope must be supplied manually using the SDK's
|
126
|
+
`gcloud compute instances create` command or the `gcloud compute instances
|
127
127
|
set-service-account` command.
|
128
128
|
|
129
129
|
## Running locally and elsewhere
|
130
130
|
|
131
|
-
To run the Stackdriver Debugger agent outside of Google Cloud Platform, you must
|
132
|
-
supply your GCP project ID and appropriate service account credentials directly
|
133
|
-
to the Stackdriver Debugger agent. This applies to running the agent on your own
|
134
|
-
workstation, on your datacenter's computers, or on the VM instances of another
|
135
|
-
cloud provider. See the [Authentication section](#authentication) for
|
131
|
+
To run the Stackdriver Debugger agent outside of Google Cloud Platform, you must
|
132
|
+
supply your GCP project ID and appropriate service account credentials directly
|
133
|
+
to the Stackdriver Debugger agent. This applies to running the agent on your own
|
134
|
+
workstation, on your datacenter's computers, or on the VM instances of another
|
135
|
+
cloud provider. See the [Authentication section](#authentication) for
|
136
136
|
instructions on how to do so.
|
137
137
|
|
138
138
|
## Authentication
|
139
139
|
|
140
140
|
This library uses Service Account credentials to connect to Google Cloud
|
141
|
-
services. When running on Compute Engine the credentials will be discovered
|
142
|
-
automatically. When running on other environments the Service Account
|
141
|
+
services. When running on Compute Engine the credentials will be discovered
|
142
|
+
automatically. When running on other environments the Service Account
|
143
143
|
credentials can be specified by providing in several ways.
|
144
144
|
|
145
145
|
The best way to provide authentication information if you're using Ruby on Rails
|
@@ -159,7 +159,7 @@ end
|
|
159
159
|
|
160
160
|
Other Rack-based applications that are loading the Rack Middleware directly can use
|
161
161
|
the configration interface:
|
162
|
-
|
162
|
+
|
163
163
|
```ruby
|
164
164
|
require "google/cloud/debugger"
|
165
165
|
Google::Cloud.configure do |config|
|
@@ -177,11 +177,11 @@ Or provide the parameters to the Stackdriver Debugger agent when it starts:
|
|
177
177
|
```ruby
|
178
178
|
require "google/cloud/debugger"
|
179
179
|
Google::Cloud::Debugger.new(project_id: "your-project-id",
|
180
|
-
|
180
|
+
credentials: "/path/to/key.json").start
|
181
181
|
```
|
182
182
|
|
183
|
-
This library also supports the other authentication methods provided by the
|
184
|
-
`google-cloud-ruby` suite. Instructions and configuration options are covered
|
183
|
+
This library also supports the other authentication methods provided by the
|
184
|
+
`google-cloud-ruby` suite. Instructions and configuration options are covered
|
185
185
|
in the [Authentication Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/google-cloud-debugger/guides/authentication).
|
186
186
|
|
187
187
|
## Supported Ruby Versions
|
@@ -13,9 +13,9 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
15
|
##
|
16
|
-
# This file is here to be autorequired by bundler, so that the
|
17
|
-
# #debugger methods can be available,
|
18
|
-
# be loaded until required and used.
|
16
|
+
# This file is here to be autorequired by bundler, so that the
|
17
|
+
# Google::Cloud.debugger and Google::Cloud#debugger methods can be available,
|
18
|
+
# but the library and all dependencies won't be loaded until required and used.
|
19
19
|
|
20
20
|
|
21
21
|
gem "google-cloud-core"
|
@@ -81,10 +81,12 @@ module Google
|
|
81
81
|
# For more information on connecting to Google Cloud see the [Authentication
|
82
82
|
# Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication).
|
83
83
|
#
|
84
|
-
# @param [String]
|
85
|
-
# service you are connecting to.
|
86
|
-
#
|
87
|
-
#
|
84
|
+
# @param [String] project_id Project identifier for the Stackdriver Debugger
|
85
|
+
# service you are connecting to. If not present, the default project for
|
86
|
+
# the credentials is used.
|
87
|
+
# @param [String, Hash, Google::Auth::Credentials] credentials The path to
|
88
|
+
# the keyfile as a String, the contents of the keyfile as a Hash, or a
|
89
|
+
# Google::Auth::Credentials object. (See {Debugger::Credentials})
|
88
90
|
# @param [String] service_name Name for the debuggee application. Optional.
|
89
91
|
# @param [String] service_version Version identifier for the debuggee
|
90
92
|
# @param [String, Array<String>] scope The OAuth 2.0 scopes controlling the
|
@@ -108,11 +110,12 @@ module Google
|
|
108
110
|
#
|
109
111
|
# debugger.start
|
110
112
|
#
|
111
|
-
def self.debugger
|
113
|
+
def self.debugger project_id = nil, credentials = nil, service_name: nil,
|
112
114
|
service_version: nil, scope: nil, timeout: nil,
|
113
115
|
client_config: nil
|
114
116
|
require "google/cloud/debugger"
|
115
|
-
Google::Cloud::Debugger.new
|
117
|
+
Google::Cloud::Debugger.new project_id: project_id,
|
118
|
+
credentials: credentials,
|
116
119
|
service_name: service_name,
|
117
120
|
service_version: service_version,
|
118
121
|
scope: scope, timeout: timeout,
|
@@ -339,10 +339,12 @@ module Google
|
|
339
339
|
# [Authentication
|
340
340
|
# Guide](https://googlecloudplatform.github.io/google-cloud-ruby/#/docs/guides/authentication).
|
341
341
|
#
|
342
|
-
# @param [String]
|
343
|
-
# service.
|
344
|
-
#
|
345
|
-
#
|
342
|
+
# @param [String] project_id Project identifier for the Stackdriver
|
343
|
+
# Debugger service you are connecting to. If not present, the default
|
344
|
+
# project for the credentials is used.
|
345
|
+
# @param [String, Hash, Google::Auth::Credentials] credentials The path to
|
346
|
+
# the keyfile as a String, the contents of the keyfile as a Hash, or a
|
347
|
+
# Google::Auth::Credentials object. (See {Debugger::Credentials})
|
346
348
|
# @param [String] service_name Name for the debuggee application.
|
347
349
|
# Optional.
|
348
350
|
# @param [String] service_version Version identifier for the debuggee
|
@@ -353,6 +355,10 @@ module Google
|
|
353
355
|
# APIs](https://developers.google.com/identity/protocols/OAuth2).
|
354
356
|
# The default scope is `https://www.googleapis.com/auth/cloud-platform`
|
355
357
|
# @param [Integer] timeout Default timeout to use in requests. Optional.
|
358
|
+
# @param [String] project Project identifier for the Stackdriver Debugger
|
359
|
+
# service.
|
360
|
+
# @param [String, Hash] keyfile Keyfile downloaded from Google Cloud:
|
361
|
+
# either the JSON data or the path to a readable file.
|
356
362
|
#
|
357
363
|
# @return [Google::Cloud::Debugger::Project]
|
358
364
|
#
|
@@ -362,32 +368,32 @@ module Google
|
|
362
368
|
# debugger = Google::Cloud::Debugger.new
|
363
369
|
# debugger.start
|
364
370
|
#
|
365
|
-
def self.new
|
371
|
+
def self.new project_id: nil, credentials: nil, service_name: nil,
|
366
372
|
service_version: nil, scope: nil, timeout: nil,
|
367
|
-
client_config: nil
|
368
|
-
|
369
|
-
|
373
|
+
client_config: nil, project: nil, keyfile: nil
|
374
|
+
project_id ||= (project || Debugger::Project.default_project_id)
|
375
|
+
project_id = project_id.to_s # Always cast to a string
|
370
376
|
service_name ||= Debugger::Project.default_service_name
|
371
377
|
service_name = service_name.to_s
|
372
378
|
service_version ||= Debugger::Project.default_service_version
|
373
379
|
service_version = service_version.to_s
|
374
380
|
|
375
|
-
fail ArgumentError, "
|
381
|
+
fail ArgumentError, "project_id is missing" if project_id.empty?
|
376
382
|
fail ArgumentError, "service_name is missing" if service_name.empty?
|
377
383
|
fail ArgumentError, "service_version is missing" if service_version.nil?
|
378
384
|
|
379
|
-
credentials
|
385
|
+
credentials ||= (keyfile || Debugger::Credentials.default(scope: scope))
|
386
|
+
unless credentials.is_a? Google::Auth::Credentials
|
387
|
+
credentials = Debugger::Credentials.new credentials, scope: scope
|
388
|
+
end
|
380
389
|
|
381
|
-
|
382
|
-
|
383
|
-
|
384
|
-
client_config: client_config),
|
390
|
+
Debugger::Project.new(
|
391
|
+
Debugger::Service.new(project_id, credentials,
|
392
|
+
timeout: timeout, client_config: client_config),
|
385
393
|
service_name: service_name,
|
386
|
-
service_version: service_version
|
387
|
-
)
|
394
|
+
service_version: service_version)
|
388
395
|
end
|
389
396
|
|
390
|
-
|
391
397
|
##
|
392
398
|
# Configure the Stackdriver Debugger agent.
|
393
399
|
#
|
@@ -13,29 +13,46 @@
|
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
15
|
|
16
|
-
require "
|
16
|
+
require "googleauth"
|
17
|
+
require "google/cloud/logging/credentials"
|
17
18
|
|
18
19
|
module Google
|
19
20
|
module Cloud
|
20
21
|
module Debugger
|
21
22
|
##
|
22
|
-
#
|
23
|
-
|
23
|
+
# # Credentials
|
24
|
+
#
|
25
|
+
# Represents the authentication and authorization used to connect to the
|
26
|
+
# Stackdriver Debugger service.
|
27
|
+
#
|
28
|
+
# @example
|
29
|
+
# require "google/cloud/debugger"
|
30
|
+
#
|
31
|
+
# keyfile = "/path/to/keyfile.json"
|
32
|
+
# creds = Google::Cloud::Debugger::Credentials.new keyfile
|
33
|
+
#
|
34
|
+
# debugger = Google::Cloud::Debugger.new(
|
35
|
+
# project_id: "my-project",
|
36
|
+
# credentials: creds
|
37
|
+
# )
|
38
|
+
#
|
39
|
+
# debugger.project_id #=> "my-project"
|
40
|
+
#
|
41
|
+
class Credentials < Google::Auth::Credentials
|
24
42
|
SCOPE = ["https://www.googleapis.com/auth/cloud_debugger"] +
|
25
43
|
Google::Cloud::Logging::Credentials::SCOPE
|
26
|
-
PATH_ENV_VARS = %w(
|
27
|
-
|
44
|
+
PATH_ENV_VARS = %w(DEBUGGER_CREDENTIALS
|
45
|
+
GOOGLE_CLOUD_CREDENTIALS
|
46
|
+
DEBUGGER_KEYFILE
|
47
|
+
GOOGLE_CLOUD_KEYFILE
|
48
|
+
GCLOUD_KEYFILE)
|
49
|
+
JSON_ENV_VARS = %w(DEBUGGER_CREDENTIALS_JSON
|
50
|
+
GOOGLE_CLOUD_CREDENTIALS_JSON
|
51
|
+
DEBUGGER_KEYFILE_JSON
|
52
|
+
GOOGLE_CLOUD_KEYFILE_JSON
|
28
53
|
GCLOUD_KEYFILE_JSON)
|
29
|
-
|
30
|
-
|
31
|
-
# @private Create credentials with given scope and/or keyfile
|
32
|
-
def self.credentials_with_scope keyfile, scope = nil
|
33
|
-
if keyfile.nil?
|
34
|
-
default(scope: scope)
|
35
|
-
else
|
36
|
-
new(keyfile, scope: scope)
|
37
|
-
end
|
38
|
-
end
|
54
|
+
DEFAULT_PATHS = \
|
55
|
+
["~/.config/gcloud/application_default_credentials.json"]
|
39
56
|
end
|
40
57
|
end
|
41
58
|
end
|
@@ -17,6 +17,7 @@ require "digest/sha1"
|
|
17
17
|
require "google/cloud/debugger/backoff"
|
18
18
|
require "google/cloud/debugger/debuggee/app_uniquifier_generator"
|
19
19
|
require "google/cloud/debugger/version"
|
20
|
+
require "google/cloud/env"
|
20
21
|
require "json"
|
21
22
|
|
22
23
|
module Google
|
@@ -68,6 +69,7 @@ module Google
|
|
68
69
|
@service = service
|
69
70
|
@service_name = service_name
|
70
71
|
@service_version = service_version
|
72
|
+
@env = Google::Cloud.env
|
71
73
|
@computed_uniquifier = nil
|
72
74
|
@id = nil
|
73
75
|
@register_backoff = Google::Cloud::Debugger::Backoff.new
|
@@ -123,7 +125,7 @@ module Google
|
|
123
125
|
# @private Build the parameters for this debuggee
|
124
126
|
def build_request_arg
|
125
127
|
debuggee_args = {
|
126
|
-
project:
|
128
|
+
project: project_id_for_request_arg,
|
127
129
|
description: description,
|
128
130
|
labels: labels,
|
129
131
|
agent_version: agent_version
|
@@ -177,6 +179,19 @@ module Google
|
|
177
179
|
service.project
|
178
180
|
end
|
179
181
|
|
182
|
+
##
|
183
|
+
# @private
|
184
|
+
# Get project to send as a debuggee argument. This is the numeric
|
185
|
+
# project ID if available (and if it matches the project set in the
|
186
|
+
# configuration). Otherwise, use the configured project.
|
187
|
+
def project_id_for_request_arg
|
188
|
+
if project_id == @env.project_id
|
189
|
+
numeric_id = @env.numeric_project_id
|
190
|
+
return numeric_id.to_s if numeric_id
|
191
|
+
end
|
192
|
+
project_id
|
193
|
+
end
|
194
|
+
|
180
195
|
##
|
181
196
|
# @private Build debuggee agent version identifier
|
182
197
|
def agent_version
|
@@ -116,7 +116,7 @@ module Google
|
|
116
116
|
# Fallback to default configuration values if not defined already
|
117
117
|
def init_default_config
|
118
118
|
configuration.project_id ||= Cloud.configure.project_id ||
|
119
|
-
Debugger::Project.
|
119
|
+
Debugger::Project.default_project_id
|
120
120
|
configuration.keyfile ||= Cloud.configure.keyfile
|
121
121
|
|
122
122
|
configuration.service_name ||= Debugger::Project.default_service_name
|
@@ -65,19 +65,20 @@ module Google
|
|
65
65
|
# require "google/cloud/debugger"
|
66
66
|
#
|
67
67
|
# debugger = Google::Cloud::Debugger.new(
|
68
|
-
#
|
69
|
-
#
|
68
|
+
# project_id: "my-project",
|
69
|
+
# credentials: "/path/to/keyfile.json"
|
70
70
|
# )
|
71
71
|
#
|
72
|
-
# debugger.
|
72
|
+
# debugger.project_id #=> "my-project"
|
73
73
|
#
|
74
|
-
def
|
74
|
+
def project_id
|
75
75
|
service.project
|
76
76
|
end
|
77
|
+
alias_method :project, :project_id
|
77
78
|
|
78
79
|
##
|
79
80
|
# @private Default project.
|
80
|
-
def self.
|
81
|
+
def self.default_project_id
|
81
82
|
ENV["DEBUGGER_PROJECT"] ||
|
82
83
|
ENV["GOOGLE_CLOUD_PROJECT"] ||
|
83
84
|
ENV["GCLOUD_PROJECT"] ||
|
@@ -110,16 +110,22 @@ module Google
|
|
110
110
|
# Fallback to default config values if config parameters not provided.
|
111
111
|
def self.init_default_config
|
112
112
|
config = Debugger.configure
|
113
|
-
config.project_id ||= Debugger::Project.
|
113
|
+
config.project_id ||= Debugger::Project.default_project_id
|
114
114
|
config.service_name ||= Debugger::Project.default_service_name
|
115
115
|
config.service_version ||= Debugger::Project.default_service_version
|
116
116
|
end
|
117
117
|
|
118
118
|
##
|
119
119
|
# @private Verify credentials
|
120
|
-
def self.valid_credentials? project_id,
|
120
|
+
def self.valid_credentials? project_id, credentials
|
121
121
|
begin
|
122
|
-
|
122
|
+
# if credentials is nil, get default
|
123
|
+
credentials ||= Debugger::Credentials.default(scope: scope)
|
124
|
+
# only create a new Credentials object if the val isn't one already
|
125
|
+
unless credentials.is_a? Google::Auth::Credentials
|
126
|
+
# if credentials is not a Credentials object, create one
|
127
|
+
Debugger::Credentials.new credentials, scope: scope
|
128
|
+
end
|
123
129
|
rescue => e
|
124
130
|
STDOUT.puts "Note: Google::Cloud::Debugger is disabled because " \
|
125
131
|
"it failed to authorize with the service. (#{e.message})"
|