From 422922940bf0d063483702888e02445283cb69af Mon Sep 17 00:00:00 2001 From: andig Date: Sat, 9 Sep 2023 12:52:05 +0200 Subject: [PATCH] Telemetry: avoid errors when authorization failed for technical reasons (#9803) --- util/sponsor/auth.go | 8 +++++++- util/telemetry/charge.go | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/util/sponsor/auth.go b/util/sponsor/auth.go index e7e9a08ef..6cdf45393 100644 --- a/util/sponsor/auth.go +++ b/util/sponsor/auth.go @@ -17,10 +17,16 @@ var ( ExpiresAt time.Time ) +const unavailable = "sponsorship unavailable" + func IsAuthorized() bool { return len(Subject) > 0 } +func IsAuthorizedForApi() bool { + return IsAuthorized() && Subject != unavailable +} + // check and set sponsorship token func ConfigureSponsorship(token string) error { host := util.Getenv("GRPC_URI", cloud.Host) @@ -43,7 +49,7 @@ func ConfigureSponsorship(token string) error { if err != nil { if s, ok := status.FromError(err); ok && s.Code() != codes.Unknown { - Subject = "sponsorship unavailable" + Subject = unavailable err = nil } else { err = fmt.Errorf("sponsortoken: %w", err) diff --git a/util/telemetry/charge.go b/util/telemetry/charge.go index 2822a2c55..fc51f9a4e 100644 --- a/util/telemetry/charge.go +++ b/util/telemetry/charge.go @@ -30,7 +30,7 @@ var ( func Enabled() bool { enabled, _ := settings.Bool(enabledSetting) - return enabled && sponsor.IsAuthorized() && instanceID != "" + return enabled && sponsor.IsAuthorizedForApi() && instanceID != "" } func Enable(enable bool) error {