From 4586656b856fc9ab3bc197f58927ecf8f95b4142 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Fri, 19 May 2023 10:49:57 -0400 Subject: [PATCH] add post hog api to go releaser and update cli telemetry --- .github/workflows/release_build.yml | 1 + .goreleaser.yaml | 3 +++ cli/packages/telemetry/telemetry.go | 22 ++++++++++++++-------- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release_build.yml b/.github/workflows/release_build.yml index f728d52bd..9840e2d3e 100644 --- a/.github/workflows/release_build.yml +++ b/.github/workflows/release_build.yml @@ -46,6 +46,7 @@ jobs: args: release --clean env: GITHUB_TOKEN: ${{ secrets.GO_RELEASER_GITHUB_TOKEN }} + POSTHOG_API_KEY_FOR_CLI: ${{ secrets.POSTHOG_API_KEY_FOR_CLI }} FURY_TOKEN: ${{ secrets.FURYPUSHTOKEN }} AUR_KEY: ${{ secrets.AUR_KEY }} GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 99291bde7..12fb34dba 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -15,6 +15,9 @@ monorepo: tag_prefix: infisical-cli/ dir: cli +env: + - POSTHOG_API_KEY_FOR_CLI={{ .Env.POSTHOG_API_KEY_FOR_CLI }} + builds: - id: darwin-build binary: infisical diff --git a/cli/packages/telemetry/telemetry.go b/cli/packages/telemetry/telemetry.go index 4a6cc69b4..166b002e1 100644 --- a/cli/packages/telemetry/telemetry.go +++ b/cli/packages/telemetry/telemetry.go @@ -14,11 +14,17 @@ type Telemetry struct { } func NewTelemetry(telemetryIsEnabled bool) *Telemetry { - client, _ := posthog.NewWithConfig( - os.Getenv("POSTHOG_API_KEY_FOR_CLI"), - posthog.Config{}, - ) - return &Telemetry{isEnabled: telemetryIsEnabled, posthogClient: client} + posthogAPIKey := os.Getenv("POSTHOG_API_KEY_FOR_CLI") + if posthogAPIKey != "" { + client, _ := posthog.NewWithConfig( + posthogAPIKey, + posthog.Config{}, + ) + + return &Telemetry{isEnabled: telemetryIsEnabled, posthogClient: client} + } else { + return &Telemetry{isEnabled: false} + } } func (t *Telemetry) CaptureEvent(eventName string, properties posthog.Properties) { @@ -33,9 +39,9 @@ func (t *Telemetry) CaptureEvent(eventName string, properties posthog.Properties Event: eventName, Properties: properties, }) - } - defer t.posthogClient.Close() + defer t.posthogClient.Close() + } } func (t *Telemetry) GetDistinctId() (string, error) { @@ -55,7 +61,7 @@ func (t *Telemetry) GetDistinctId() (string, error) { if userDetails.IsUserLoggedIn && userDetails.UserCredentials.Email != "" { distinctId = userDetails.UserCredentials.Email } else if machineId != "" { - distinctId = "anonymous_cli" + machineId + distinctId = "anonymous_cli_" + machineId } else { distinctId = "" }