- Notifications
You must be signed in to change notification settings - Fork1.2k
chore: track terraform modules in telemetry#15450
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Changes from1 commit
0f713ed82c8a3c307a57e2ae16fc7f2f155863235d993f0abe8fbd405c542e59ec5ee1119a6863a5a0253377d22422b11246b9b36f3f4d5c93ed136301a153212e7d5e9b7c4625cba6d780730fb47a01803be52e00b81314187fbf7e82c3d42e57ca368fc2573b22cf7b9d70aea823138564e9ad11fc82File filter
Filter by extension
Conversations
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
- Loading branch information
Uh oh!
There was an error while loading.Please reload this page.
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -677,12 +677,20 @@ func ConvertWorkspaceResourceMetadata(metadata database.WorkspaceResourceMetadat | ||
| } | ||
| func ConvertWorkspaceModule(module database.WorkspaceModule) WorkspaceModule { | ||
| isCoderModule := strings.Contains(module.Source, "registry.coder.com") | ||
| ||
| source := module.Source | ||
| version := module.Version | ||
| if !isCoderModule { | ||
| source = fmt.Sprintf("%x", sha256.Sum256([]byte(source))) | ||
| version = fmt.Sprintf("%x", sha256.Sum256([]byte(version))) | ||
| } | ||
| return WorkspaceModule{ | ||
| ID: module.ID, | ||
| JobID: module.JobID, | ||
| Transition: module.Transition, | ||
| Source:source, | ||
| Version:version, | ||
| Key: module.Key, | ||
| CreatedAt: module.CreatedAt, | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -5,6 +5,7 @@ import ( | ||
| "net/http" | ||
| "net/http/httptest" | ||
| "net/url" | ||
| "sort" | ||
| "testing" | ||
| "time" | ||
| @@ -122,6 +123,28 @@ func TestTelemetry(t *testing.T) { | ||
| require.Len(t, snapshot.Users, 1) | ||
| require.Equal(t, snapshot.Users[0].EmailHashed, "bb44bf07cf9a2db0554bba63a03d822c927deae77df101874496df5a6a3e896d@coder.com") | ||
| }) | ||
| t.Run("HashedModule", func(t *testing.T) { | ||
| t.Parallel() | ||
| db := dbmem.New() | ||
| ||
| _ = dbgen.WorkspaceModule(t, db, database.WorkspaceModule{ | ||
| Source: "registry.coder.com/terraform/aws", | ||
| Version: "1.0.0", | ||
| }) | ||
| _ = dbgen.WorkspaceModule(t, db, database.WorkspaceModule{ | ||
| Source: "internal-url.com/some-module", | ||
| Version: "1.0.0", | ||
| }) | ||
| _, snapshot := collectSnapshot(t, db, nil) | ||
| require.Len(t, snapshot.WorkspaceModules, 2) | ||
| modules := snapshot.WorkspaceModules | ||
| sort.Slice(modules, func(i, j int) bool { | ||
| return modules[i].Source < modules[j].Source | ||
| }) | ||
| require.Equal(t, modules[0].Source, "921c61d6f3eef5118f3cae658d1518b378c5b02a4955a766c791440894d989c5") | ||
| require.Equal(t, modules[0].Version, "92521fc3cbd964bdc9f584a991b89fddaa5754ed1cc96d6d42445338669c1305") | ||
hugodutka marked this conversation as resolved. Show resolvedHide resolvedUh oh!There was an error while loading.Please reload this page. | ||
| require.Equal(t, modules[1].Source, "registry.coder.com/terraform/aws") | ||
| require.Equal(t, modules[1].Version, "1.0.0") | ||
| }) | ||
| } | ||
| // nolint:paralleltest | ||