@@ -13,6 +13,7 @@ import (
13
13
"github.com/go-chi/chi/v5"
14
14
"github.com/google/uuid"
15
15
"github.com/moby/moby/pkg/namesgenerator"
16
+ "github.com/tabbed/pqtype"
16
17
"golang.org/x/xerrors"
17
18
18
19
"cdr.dev/slog"
@@ -25,6 +26,7 @@ import (
25
26
"github.com/coder/coder/coderd/parameter"
26
27
"github.com/coder/coder/coderd/provisionerdserver"
27
28
"github.com/coder/coder/coderd/rbac"
29
+ "github.com/coder/coder/coderd/tracing"
28
30
"github.com/coder/coder/codersdk"
29
31
"github.com/coder/coder/examples"
30
32
sdkproto "github.com/coder/coder/provisionersdk/proto"
@@ -574,6 +576,15 @@ func (api *API) postTemplateVersionDryRun(rw http.ResponseWriter, r *http.Reques
574
576
return
575
577
}
576
578
579
+ metadataRaw , err := json .Marshal (tracing .MetadataFromContext (ctx ))
580
+ if err != nil {
581
+ httpapi .Write (ctx , rw , http .StatusInternalServerError , codersdk.Response {
582
+ Message : "Internal error unmarshalling metadata." ,
583
+ Detail : err .Error (),
584
+ })
585
+ return
586
+ }
587
+
577
588
// Create a dry-run job
578
589
jobID := uuid .New ()
579
590
provisionerJob , err := api .Database .InsertProvisionerJob (ctx , database.InsertProvisionerJobParams {
@@ -589,6 +600,10 @@ func (api *API) postTemplateVersionDryRun(rw http.ResponseWriter, r *http.Reques
589
600
Input : input ,
590
601
// Copy tags from the previous run.
591
602
Tags : job .Tags ,
603
+ Metadata : pqtype.NullRawMessage {
604
+ Valid : true ,
605
+ RawMessage : metadataRaw ,
606
+ },
592
607
})
593
608
if err != nil {
594
609
httpapi .Write (ctx , rw , http .StatusInternalServerError , codersdk.Response {
@@ -1408,6 +1423,10 @@ func (api *API) postTemplateVersionsByOrganization(rw http.ResponseWriter, r *ht
1408
1423
if err != nil {
1409
1424
return xerrors .Errorf ("marshal job input: %w" , err )
1410
1425
}
1426
+ metadataRaw , err := json .Marshal (tracing .MetadataFromContext (ctx ))
1427
+ if err != nil {
1428
+ return xerrors .Errorf ("marshal job metadata: %w" , err )
1429
+ }
1411
1430
1412
1431
provisionerJob , err = tx .InsertProvisionerJob (ctx , database.InsertProvisionerJobParams {
1413
1432
ID : jobID ,
@@ -1421,6 +1440,10 @@ func (api *API) postTemplateVersionsByOrganization(rw http.ResponseWriter, r *ht
1421
1440
Type : database .ProvisionerJobTypeTemplateVersionImport ,
1422
1441
Input : jobInput ,
1423
1442
Tags : tags ,
1443
+ Metadata : pqtype.NullRawMessage {
1444
+ Valid : true ,
1445
+ RawMessage : metadataRaw ,
1446
+ },
1424
1447
})
1425
1448
if err != nil {
1426
1449
return xerrors .Errorf ("insert provisioner job: %w" , err )
0 commit comments