Port usage ping from EE to CE
Description
We want to add the EE usage ping feature to CE (https://gitlab.com/gitlab-org/gitlab-ce/issues/23361).
We need to fine tune the content of what is sent. For instance, the license_md5
in CE makes no sense.
Data that we will collect will be anonymous. We don't want to record who the owner of the instance is, nor which email address is used for the administrators of the instance.
Proposal
- Currently, usage ping is defined by a license id. We need to add a way to identify a unique instance in order to track the usage over time, but without knowing who the instance actually is: UUID.
-
Add a new field in the usage ping to indicate that the ping is CE
edition: 'CE'
-
Get rid of the following fields from the JSON payload (send NULL for those fields?):
license_md5
licensee
license_user_count
license_starts_at
license_expires_at
license_add_ons
- In the statistics themselves:
geo_nodes
protected_branches
- Once set, usage ping preferences should remain unmodified by GitLab when updating to another version.
Reference
- Usage ping is sent from there: https://gitlab.com/gitlab-org/gitlab-ee/blob/master/lib/gitlab/usage_data.rb