-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
CockroachDB phones home to two endpoints:
cockroach/pkg/server/diagnostics/diagnostics.go
Lines 33 to 59 in 4088380
| // 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:
cockroach/pkg/ui/workspaces/db-console/src/util/cockroachlabsAPI.ts
Lines 55 to 64 in 4088380
| 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:
- 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.
- 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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels