New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[installation-telemetry]: initial commit plus installer setup #7503
Conversation
3a75f50
to
aed07de
Compare
Codecov Report
@@ Coverage Diff @@
## main #7503 +/- ##
========================================
+ Coverage 8.38% 9.53% +1.15%
========================================
Files 33 18 -15
Lines 2410 1080 -1330
========================================
- Hits 202 103 -99
+ Misses 2204 976 -1228
+ Partials 4 1 -3
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report at Codecov.
|
700978b
to
2d145bf
Compare
We should find a more descriptive name for this, e.g.
I'm don't like any of them particularly, but can't think of a better one right now. |
@csweichel fair point. I'll go for |
8dece75
to
da8746a
Compare
These are deleted after 60 seconds which causes the uninstallation script not to delete anything that comes after jobs in the ordering, such as cron jobs.
da8746a
to
5857dbd
Compare
/werft run 👍 started the job as gitpod-build-sje-telemetry-client.12 |
96af4ca
to
27450a8
Compare
/hold I'm going to build with the Segment token in now I know how to do that |
e813000
to
762c392
Compare
/unhold |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/hold
/approve
/lgtm
Added hold in case you want to remove the lib
build. However, shouldn't be a blocker. We can remove it later as well.
# See License-AGPL.txt in the project root for license information. | ||
|
||
packages: | ||
- name: lib |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds odd. I tried it here https://werft.gitpod-dev.com/job/gitpod-build-clu-test.28 and it works even without lib
. Was maybe another issue you had?
LGTM label has been added. Git tree hash: 38a17bab6ea83a7b146467d37285078060fcb974
|
This will not actually send telemetry data as the database call is hard-coded to always return false. Also configures installation telemetry to be sent periodically in the Installer
762c392
to
717909a
Compare
/lgtm |
LGTM label has been added. Git tree hash: c631e70847cdd4aea19175644f3764cca9edba27
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: corneliusludmann Associated issue: #7499 The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/unhold |
Description
This creates the installation-telemetry component with room to expand. At the moment, there is anticipated to be an
availableUpdate
command to search a known source for the next available version on the same channel. In future, there could be more commands to run from this binary.This does not add the Segment IO token to the binary at build time from a secret source, but that will be added in a future PR.This is now addedThis also configures the Installer to run this as a
@daily
cronjob. Typically, this will run at the server's midnight. We may wish to change this to a random time once per day in future if using our infrastructure, but whilst using Segment, this is an acceptable compromise.The identification of an installation is done by hashing the domain name as an SHA512 string, which should be complex enough to prevent identification of the original domain name. It is likely that an optional secret with a salt will be added in future to prevent brute force identification and further reassure users that their data is truly anonymised - as the data isn't currently being sent, this is out of scope for this PR.
Related Issue(s)
Fixes #7499
Fixes #7500
Fixes #7526
Fixes #7539
How to test
Deploy to a self-hosted instance. You will see a cronjob appear, but the logs should say
installation-telemetry is not permitted to send - exiting
. Consider overwriting theTelemetryCronSchedule
to* * * * *
to send every minute.Release Notes
Documentation