diff --git a/cmd/devguard/main.go b/cmd/devguard/main.go index 36479f880..1139c1359 100644 --- a/cmd/devguard/main.go +++ b/cmd/devguard/main.go @@ -61,8 +61,6 @@ import ( _ "github.com/lib/pq" ) -var release string // Will be filled at build time - // @title DevGuard API // @version v1 // @description DevGuard Backend. Secure your Software Supply Chain. Attestation-based compliance as Code, manage your CVEs seamlessly, Integrate your Vulnerability Scanners, Security Framework Documentation made easy. OWASP Incubating Project @@ -196,7 +194,7 @@ func main() { } func apiVersion() string { - return telemetry.RuntimeVersion(config.Version, release) + return telemetry.RuntimeVersion(config.Version) } type fxErrorLogger struct{} @@ -351,7 +349,7 @@ func initSentry() { err := sentry.Init(sentry.ClientOptions{ Dsn: os.Getenv("ERROR_TRACKING_DSN"), Environment: environment, - Release: release, + Release: config.Version, // Configures whether SDK should generate and attach stack traces to pure // capture message calls. diff --git a/telemetry/telemetry.go b/telemetry/telemetry.go index c77d0df0d..6b8aa8bb9 100644 --- a/telemetry/telemetry.go +++ b/telemetry/telemetry.go @@ -27,6 +27,7 @@ import ( "os" "runtime" "runtime/debug" + "strconv" "strings" "time" @@ -40,7 +41,7 @@ const ( EventName = "devguard-instance-start" TelemetryEndpoint = "https://umami.l3montree.com/api/send" - WebsiteID = "2ab9fe36-42ec-485d-a592-b0f6e78dd1ad" + WebsiteID = "19cc127d-774c-4fb0-981d-26d110074a14" DefaultTimeout = 30 * time.Second UserAgent = "DevguardTelemetry" SchemaVersion = 1 @@ -100,8 +101,9 @@ type umamiPayload struct { } func ConfigFromEnv() Config { + disabled, _ := strconv.ParseBool(os.Getenv(EnvDisabled)) return Config{ - Disabled: isTruthyEnv(os.Getenv(EnvDisabled)), + Disabled: disabled, } } @@ -281,15 +283,6 @@ func HashParts(parts ...string) string { return hex.EncodeToString(hash.Sum(nil))[:instanceIDLength] } -func isTruthyEnv(value string) bool { - switch strings.ToLower(strings.TrimSpace(value)) { - case "1", "true", "yes", "on": - return true - default: - return false - } -} - func RuntimeVersion(values ...string) string { for _, value := range values { if version := normalizeBuildVersion(value); version != "" { diff --git a/telemetry/telemetry_test.go b/telemetry/telemetry_test.go index 033326108..f5026bac2 100644 --- a/telemetry/telemetry_test.go +++ b/telemetry/telemetry_test.go @@ -174,7 +174,7 @@ func TestScannerStartupPayloadDoesNotIncludeSensitiveRuntimeInputs(t *testing.T) } func TestConfigFromEnvDisabledValues(t *testing.T) { - for _, value := range []string{"true", "TRUE", "1", "yes", "on"} { + for _, value := range []string{"true", "TRUE", "True", "1", "t", "T"} { t.Run(value, func(t *testing.T) { t.Setenv(EnvDisabled, value)