@@ -24,8 +24,10 @@ import (
24
24
"cdr.dev/slog"
25
25
26
26
"github.com/coder/coder/coderd/audit"
27
+ "github.com/coder/coder/coderd/authzquery"
27
28
"github.com/coder/coder/coderd/database"
28
29
"github.com/coder/coder/coderd/parameter"
30
+ "github.com/coder/coder/coderd/rbac"
29
31
"github.com/coder/coder/coderd/telemetry"
30
32
"github.com/coder/coder/codersdk"
31
33
"github.com/coder/coder/provisioner"
@@ -56,6 +58,8 @@ type Server struct {
56
58
57
59
// AcquireJob queries the database to lock a job.
58
60
func (server * Server ) AcquireJob (ctx context.Context , _ * proto.Empty ) (* proto.AcquiredJob , error ) {
61
+ // TODO: make a provisionerd role
62
+ ctx = authzquery .WithAuthorizeSystemContext (ctx , rbac .RolesAdminSystem ())
59
63
// This prevents loads of provisioner daemons from consistently
60
64
// querying the database when no jobs are available.
61
65
//
@@ -299,6 +303,8 @@ func (server *Server) CommitQuota(ctx context.Context, request *proto.CommitQuot
299
303
}
300
304
301
305
func (server * Server ) UpdateJob (ctx context.Context , request * proto.UpdateJobRequest ) (* proto.UpdateJobResponse , error ) {
306
+ // TODO: make a provisionerd role
307
+ ctx = authzquery .WithAuthorizeSystemContext (ctx , rbac .RolesAdminSystem ())
302
308
parsedID , err := uuid .Parse (request .JobId )
303
309
if err != nil {
304
310
return nil , xerrors .Errorf ("parse job id: %w" , err )
@@ -470,6 +476,8 @@ func (server *Server) UpdateJob(ctx context.Context, request *proto.UpdateJobReq
470
476
}
471
477
472
478
func (server * Server ) FailJob (ctx context.Context , failJob * proto.FailedJob ) (* proto.Empty , error ) {
479
+ // TODO: make a provisionerd role
480
+ ctx = authzquery .WithAuthorizeSystemContext (ctx , rbac .RolesAdminSystem ())
473
481
jobID , err := uuid .Parse (failJob .JobId )
474
482
if err != nil {
475
483
return nil , xerrors .Errorf ("parse job id: %w" , err )
@@ -595,6 +603,8 @@ func (server *Server) FailJob(ctx context.Context, failJob *proto.FailedJob) (*p
595
603
596
604
// CompleteJob is triggered by a provision daemon to mark a provisioner job as completed.
597
605
func (server * Server ) CompleteJob (ctx context.Context , completed * proto.CompletedJob ) (* proto.Empty , error ) {
606
+ // TODO: make a provisionerd role
607
+ ctx = authzquery .WithAuthorizeSystemContext (ctx , rbac .RolesAdminSystem ())
598
608
jobID , err := uuid .Parse (completed .JobId )
599
609
if err != nil {
600
610
return nil , xerrors .Errorf ("parse job id: %w" , err )
0 commit comments