Skip to content

disable or remove phone home diagnostics/telemetry #48

@iliana

Description

@iliana

CockroachDB phones home to two endpoints:

// updatesURL is the URL used to check for new versions. Can be nil if an empty
// URL is set.
var updatesURL *url.URL
const defaultUpdatesURL = `https://register.cockroachdb.com/api/clusters/updates`
// reportingURL is the URL used to report diagnostics/telemetry. Can be nil if
// an empty URL is set.
var reportingURL *url.URL
const defaultReportingURL = `https://register.cockroachdb.com/api/clusters/report`
func init() {
var err error
updatesURL, err = url.Parse(
envutil.EnvOrDefaultString("COCKROACH_UPDATE_CHECK_URL", defaultUpdatesURL),
)
if err != nil {
panic(err)
}
reportingURL, err = url.Parse(
envutil.EnvOrDefaultString("COCKROACH_USAGE_REPORT_URL", defaultReportingURL),
)
if err != nil {
panic(err)
}
}

The web console also phones home in a few places, identified by COCKROACHLABS_ADDR:

export function versionCheck(
request: VersionCheckRequest,
timeout?: moment.Duration,
): Promise<VersionList> {
return timeoutFetch(
`${COCKROACHLABS_ADDR}/api/clusters/updates?uuid=${request.clusterID}&version=${request.buildtag}`,
null,
{ timeout },
);
}

We want to remove this for two reasons:

  1. In the Oxide product, CockroachDB runs in a zone with no external network reachability. There's no point to spending cycles on attempting to phone home.
  2. It honestly seems rude to send CRL telemetry for a build of a four-year-old version they have nothing to do with and no control over, particularly given the number of instances we start (order of ~1000) during a normal integration test run of the Oxide control plane.

It is simple enough to remove the URLs or replace them with invalid hostnames, but I think it'd be better to delete the code altogether; no sense in maintaining what you can't or won't use.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions