mirror of
https://github.com/coder/coder.git
synced 2025-07-13 21:36:50 +00:00
chore: track terraform modules in telemetry (#15450)
Addresses https://github.com/coder/nexus/issues/35. This PR: - Adds a `workspace_modules` table to track modules used by the Terraform provisioner in provisioner jobs. - Adds a `module_path` column to the `workspace_resources` table, allowing to identify which module a resource originates from. - Starts pushing this new information into telemetry. For the person reviewing this PR, do not fret about the 1,500 new lines - ~1,000 of them are auto-generated.
This commit is contained in:
@ -657,11 +657,29 @@ func WorkspaceResource(t testing.TB, db database.Store, orig database.WorkspaceR
|
||||
Valid: takeFirst(orig.InstanceType.Valid, false),
|
||||
},
|
||||
DailyCost: takeFirst(orig.DailyCost, 0),
|
||||
ModulePath: sql.NullString{
|
||||
String: takeFirst(orig.ModulePath.String, ""),
|
||||
Valid: takeFirst(orig.ModulePath.Valid, true),
|
||||
},
|
||||
})
|
||||
require.NoError(t, err, "insert resource")
|
||||
return resource
|
||||
}
|
||||
|
||||
func WorkspaceModule(t testing.TB, db database.Store, orig database.WorkspaceModule) database.WorkspaceModule {
|
||||
module, err := db.InsertWorkspaceModule(genCtx, database.InsertWorkspaceModuleParams{
|
||||
ID: takeFirst(orig.ID, uuid.New()),
|
||||
JobID: takeFirst(orig.JobID, uuid.New()),
|
||||
Transition: takeFirst(orig.Transition, database.WorkspaceTransitionStart),
|
||||
Source: takeFirst(orig.Source, "test-source"),
|
||||
Version: takeFirst(orig.Version, "v1.0.0"),
|
||||
Key: takeFirst(orig.Key, "test-key"),
|
||||
CreatedAt: takeFirst(orig.CreatedAt, dbtime.Now()),
|
||||
})
|
||||
require.NoError(t, err, "insert workspace module")
|
||||
return module
|
||||
}
|
||||
|
||||
func WorkspaceResourceMetadatums(t testing.TB, db database.Store, seed database.WorkspaceResourceMetadatum) []database.WorkspaceResourceMetadatum {
|
||||
meta, err := db.InsertWorkspaceResourceMetadata(genCtx, database.InsertWorkspaceResourceMetadataParams{
|
||||
WorkspaceResourceID: takeFirst(seed.WorkspaceResourceID, uuid.New()),
|
||||
|
Reference in New Issue
Block a user