@@ -27,7 +27,6 @@ import (
27
27
"github.com/coder/coder/coderd/database"
28
28
"github.com/coder/coder/coderd/database/dbauthz"
29
29
"github.com/coder/coder/coderd/parameter"
30
- "github.com/coder/coder/coderd/rbac"
31
30
"github.com/coder/coder/coderd/telemetry"
32
31
"github.com/coder/coder/codersdk"
33
32
"github.com/coder/coder/provisioner"
@@ -502,7 +501,7 @@ func (server *Server) FailJob(ctx context.Context, failJob *proto.FailedJob) (*p
502
501
Valid : failJob .Error != "" ,
503
502
}
504
503
505
- err = server .Database .UpdateProvisionerJobWithCompleteByID (ctx , database.UpdateProvisionerJobWithCompleteByIDParams {
504
+ err = server .Database .UpdateProvisionerJobWithCompleteByID (dbauthz . AsSystem ( ctx ) , database.UpdateProvisionerJobWithCompleteByIDParams {
506
505
ID : jobID ,
507
506
CompletedAt : job .CompletedAt ,
508
507
UpdatedAt : database .Now (),
@@ -525,7 +524,7 @@ func (server *Server) FailJob(ctx context.Context, failJob *proto.FailedJob) (*p
525
524
if err != nil {
526
525
return nil , xerrors .Errorf ("unmarshal workspace provision input: %w" , err )
527
526
}
528
- build , err := server .Database .UpdateWorkspaceBuildByID (ctx , database.UpdateWorkspaceBuildByIDParams {
527
+ build , err := server .Database .UpdateWorkspaceBuildByID (dbauthz . AsSystem ( ctx ) , database.UpdateWorkspaceBuildByIDParams {
529
528
ID : input .WorkspaceBuildID ,
530
529
UpdatedAt : database .Now (),
531
530
ProvisionerState : jobType .WorkspaceBuild .State ,
@@ -544,12 +543,12 @@ func (server *Server) FailJob(ctx context.Context, failJob *proto.FailedJob) (*p
544
543
// if failed job is a workspace build, audit the outcome
545
544
if job .Type == database .ProvisionerJobTypeWorkspaceBuild {
546
545
auditor := server .Auditor .Load ()
547
- build , err := server .Database .GetWorkspaceBuildByJobID (ctx , job .ID )
546
+ build , err := server .Database .GetWorkspaceBuildByJobID (dbauthz . AsSystem ( ctx ) , job .ID )
548
547
if err != nil {
549
548
server .Logger .Error (ctx , "audit log - get build" , slog .Error (err ))
550
549
} else {
551
550
auditAction := auditActionFromTransition (build .Transition )
552
- workspace , err := server .Database .GetWorkspaceByID (ctx , build .WorkspaceID )
551
+ workspace , err := server .Database .GetWorkspaceByID (dbauthz . AsSystem ( ctx ) , build .WorkspaceID )
553
552
if err != nil {
554
553
server .Logger .Error (ctx , "audit log - get workspace" , slog .Error (err ))
555
554
} else {
@@ -605,13 +604,13 @@ func (server *Server) FailJob(ctx context.Context, failJob *proto.FailedJob) (*p
605
604
// CompleteJob is triggered by a provision daemon to mark a provisioner job as completed.
606
605
func (server * Server ) CompleteJob (ctx context.Context , completed * proto.CompletedJob ) (* proto.Empty , error ) {
607
606
// TODO: make a provisionerd role
608
- ctx = dbauthz .WithAuthorizeSystemContext (ctx , rbac .RolesAdminSystem ())
607
+ // ctx = dbauthz.WithAuthorizeSystemContext(ctx, rbac.RolesAdminSystem())
609
608
jobID , err := uuid .Parse (completed .JobId )
610
609
if err != nil {
611
610
return nil , xerrors .Errorf ("parse job id: %w" , err )
612
611
}
613
612
server .Logger .Debug (ctx , "CompleteJob starting" , slog .F ("job_id" , jobID ))
614
- job , err := server .Database .GetProvisionerJobByID (ctx , jobID )
613
+ job , err := server .Database .GetProvisionerJobByID (dbauthz . AsSystem ( ctx ) , jobID )
615
614
if err != nil {
616
615
return nil , xerrors .Errorf ("get job by id: %w" , err )
617
616
}
@@ -642,7 +641,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
642
641
slog .F ("resource_type" , resource .Type ),
643
642
slog .F ("transition" , transition ))
644
643
645
- err = InsertWorkspaceResource (ctx , server .Database , jobID , transition , resource , telemetrySnapshot )
644
+ err = InsertWorkspaceResource (dbauthz . AsSystem ( ctx ) , server .Database , jobID , transition , resource , telemetrySnapshot )
646
645
if err != nil {
647
646
return nil , xerrors .Errorf ("insert resource: %w" , err )
648
647
}
@@ -658,7 +657,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
658
657
if err != nil {
659
658
return nil , xerrors .Errorf ("marshal parameter options: %w" , err )
660
659
}
661
- _ , err = server .Database .InsertTemplateVersionParameter (ctx , database.InsertTemplateVersionParameterParams {
660
+ _ , err = server .Database .InsertTemplateVersionParameter (dbauthz . AsSystem ( ctx ) , database.InsertTemplateVersionParameterParams {
662
661
TemplateVersionID : input .TemplateVersionID ,
663
662
Name : richParameter .Name ,
664
663
Description : richParameter .Description ,
@@ -678,7 +677,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
678
677
}
679
678
}
680
679
681
- err = server .Database .UpdateProvisionerJobWithCompleteByID (ctx , database.UpdateProvisionerJobWithCompleteByIDParams {
680
+ err = server .Database .UpdateProvisionerJobWithCompleteByID (dbauthz . AsSystem ( ctx ) , database.UpdateProvisionerJobWithCompleteByIDParams {
682
681
ID : jobID ,
683
682
UpdatedAt : database .Now (),
684
683
CompletedAt : sql.NullTime {
@@ -700,7 +699,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
700
699
return nil , xerrors .Errorf ("unmarshal job data: %w" , err )
701
700
}
702
701
703
- workspaceBuild , err := server .Database .GetWorkspaceBuildByID (ctx , input .WorkspaceBuildID )
702
+ workspaceBuild , err := server .Database .GetWorkspaceBuildByID (dbauthz . AsSystem ( ctx ) , input .WorkspaceBuildID )
704
703
if err != nil {
705
704
return nil , xerrors .Errorf ("get workspace build: %w" , err )
706
705
}
@@ -711,7 +710,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
711
710
err = server .Database .InTx (func (db database.Store ) error {
712
711
now := database .Now ()
713
712
var workspaceDeadline time.Time
714
- workspace , getWorkspaceError = db .GetWorkspaceByID (ctx , workspaceBuild .WorkspaceID )
713
+ workspace , getWorkspaceError = db .GetWorkspaceByID (dbauthz . AsSystem ( ctx ) , workspaceBuild .WorkspaceID )
715
714
if getWorkspaceError == nil {
716
715
if workspace .Ttl .Valid {
717
716
workspaceDeadline = now .Add (time .Duration (workspace .Ttl .Int64 ))
@@ -721,7 +720,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
721
720
// In any case, since this is just for the TTL, try and continue anyway.
722
721
server .Logger .Error (ctx , "fetch workspace for build" , slog .F ("workspace_build_id" , workspaceBuild .ID ), slog .F ("workspace_id" , workspaceBuild .WorkspaceID ))
723
722
}
724
- err = db .UpdateProvisionerJobWithCompleteByID (ctx , database.UpdateProvisionerJobWithCompleteByIDParams {
723
+ err = db .UpdateProvisionerJobWithCompleteByID (dbauthz . AsSystem ( ctx ) , database.UpdateProvisionerJobWithCompleteByIDParams {
725
724
ID : jobID ,
726
725
UpdatedAt : database .Now (),
727
726
CompletedAt : sql.NullTime {
@@ -732,7 +731,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
732
731
if err != nil {
733
732
return xerrors .Errorf ("update provisioner job: %w" , err )
734
733
}
735
- _ , err = db .UpdateWorkspaceBuildByID (ctx , database.UpdateWorkspaceBuildByIDParams {
734
+ _ , err = db .UpdateWorkspaceBuildByID (dbauthz . AsSystem ( ctx ) , database.UpdateWorkspaceBuildByIDParams {
736
735
ID : workspaceBuild .ID ,
737
736
Deadline : workspaceDeadline ,
738
737
ProvisionerState : jobType .WorkspaceBuild .State ,
@@ -749,7 +748,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
749
748
dur := time .Duration (protoAgent .GetConnectionTimeoutSeconds ()) * time .Second
750
749
agentTimeouts [dur ] = true
751
750
}
752
- err = InsertWorkspaceResource (ctx , db , job .ID , workspaceBuild .Transition , protoResource , telemetrySnapshot )
751
+ err = InsertWorkspaceResource (dbauthz . AsSystem ( ctx ) , db , job .ID , workspaceBuild .Transition , protoResource , telemetrySnapshot )
753
752
if err != nil {
754
753
return xerrors .Errorf ("insert provisioner job: %w" , err )
755
754
}
@@ -798,7 +797,7 @@ func (server *Server) CompleteJob(ctx context.Context, completed *proto.Complete
798
797
return nil
799
798
}
800
799
801
- err = db .UpdateWorkspaceDeletedByID (ctx , database.UpdateWorkspaceDeletedByIDParams {
800
+ err = db .UpdateWorkspaceDeletedByID (dbauthz . AsSystem ( ctx ) , database.UpdateWorkspaceDeletedByIDParams {
802
801
ID : workspaceBuild .WorkspaceID ,
803
802
Deleted : true ,
804
803
})
0 commit comments