Skip to content

Commit f09ab03

Browse files
kylecarbsmafredri
andauthored
fix: Add flag to toggle telemetry (#2455)
* fix: Add flag to toggle telemetry This allows users to entirely disable tracking from Coder! Telemetry is enabled by default, so this is opt-out. * Update cli/server.go Co-authored-by: Mathias Fredriksson <mafredri@gmail.com> Co-authored-by: Mathias Fredriksson <mafredri@gmail.com>
1 parent d0aca86 commit f09ab03

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

cli/server.go

+7-1
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ func server() *cobra.Command {
8383
oauth2GithubClientSecret string
8484
oauth2GithubAllowedOrganizations []string
8585
oauth2GithubAllowSignups bool
86+
telemetryEnable bool
8687
telemetryURL string
8788
tlsCertFile string
8889
tlsClientCAFile string
@@ -311,7 +312,11 @@ func server() *cobra.Command {
311312
if err != nil {
312313
return xerrors.Errorf("parse telemetry url: %w", err)
313314
}
314-
if !inMemoryDatabase || cmd.Flags().Changed("telemetry-url") {
315+
// Disable telemetry if the in-memory database is used unless explicitly defined!
316+
if inMemoryDatabase && !cmd.Flags().Changed("telemetry") {
317+
telemetryEnable = false
318+
}
319+
if telemetryEnable {
315320
options.Telemetry, err = telemetry.New(telemetry.Options{
316321
BuiltinPostgres: builtinPostgres,
317322
DeploymentID: deploymentID,
@@ -531,6 +536,7 @@ func server() *cobra.Command {
531536
"Specifies organizations the user must be a member of to authenticate with GitHub.")
532537
cliflag.BoolVarP(root.Flags(), &oauth2GithubAllowSignups, "oauth2-github-allow-signups", "", "CODER_OAUTH2_GITHUB_ALLOW_SIGNUPS", false,
533538
"Specifies whether new users can sign up with GitHub.")
539+
cliflag.BoolVarP(root.Flags(), &telemetryEnable, "telemetry", "", "CODER_TELEMETRY", true, "Specifies whether telemetry is enabled or not. Coder collects anonymized usage data to help improve our product.")
534540
cliflag.StringVarP(root.Flags(), &telemetryURL, "telemetry-url", "", "CODER_TELEMETRY_URL", "https://telemetry.coder.com", "Specifies a URL to send telemetry to.")
535541
_ = root.Flags().MarkHidden("telemetry-url")
536542
cliflag.BoolVarP(root.Flags(), &tlsEnable, "tls-enable", "", "CODER_TLS_ENABLE", false, "Specifies if TLS will be enabled")

cli/server_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ func TestServer(t *testing.T) {
259259
server := httptest.NewServer(r)
260260
t.Cleanup(server.Close)
261261

262-
root, _ := clitest.New(t, "server", "--in-memory", "--address", ":0", "--telemetry-url", server.URL)
262+
root, _ := clitest.New(t, "server", "--in-memory", "--address", ":0", "--telemetry", "--telemetry-url", server.URL)
263263
errC := make(chan error)
264264
go func() {
265265
errC <- root.ExecuteContext(ctx)

0 commit comments

Comments
 (0)