chore(coderd): move provisionerd tags to provisionersdk (#11100)

This commit is contained in:
Cian Johnston
2023-12-08 12:10:25 +00:00
committed by GitHub
parent 4ca4736411
commit 2b19a2369f
10 changed files with 45 additions and 40 deletions
+2 -3
View File
@@ -19,7 +19,6 @@ import (
"github.com/coder/coder/v2/cli/cliui"
"github.com/coder/coder/v2/cli/cliutil"
"github.com/coder/coder/v2/coderd/database"
"github.com/coder/coder/v2/coderd/provisionerdserver"
"github.com/coder/coder/v2/codersdk"
"github.com/coder/coder/v2/provisioner/terraform"
"github.com/coder/coder/v2/provisionerd"
@@ -102,8 +101,8 @@ func (r *RootCmd) provisionerDaemonStart() *clibase.Cmd {
// When authorizing with a PSK, we automatically scope the provisionerd
// to organization. Scoping to user with PSK auth is not a valid configuration.
if preSharedKey != "" {
logger.Info(ctx, "psk auth automatically sets tag "+provisionerdserver.TagScope+"="+provisionerdserver.ScopeOrganization)
tags[provisionerdserver.TagScope] = provisionerdserver.ScopeOrganization
logger.Info(ctx, "psk auth automatically sets tag "+provisionersdk.TagScope+"="+provisionersdk.ScopeOrganization)
tags[provisionersdk.TagScope] = provisionersdk.ScopeOrganization
}
err = os.MkdirAll(cacheDir, 0o700)
+5 -3
View File
@@ -12,6 +12,8 @@ import (
"strings"
"time"
"github.com/coder/coder/v2/provisionersdk"
"github.com/google/uuid"
"github.com/hashicorp/yamux"
"github.com/moby/moby/pkg/namesgenerator"
@@ -101,8 +103,8 @@ func (p *provisionerDaemonAuth) authorize(r *http.Request, tags map[string]strin
ctx := r.Context()
apiKey, ok := httpmw.APIKeyOptional(r)
if ok {
tags = provisionerdserver.MutateTags(apiKey.UserID, tags)
if tags[provisionerdserver.TagScope] == provisionerdserver.ScopeUser {
tags = provisionersdk.MutateTags(apiKey.UserID, tags)
if tags[provisionersdk.TagScope] == provisionersdk.ScopeUser {
// Any authenticated user can create provisioner daemons scoped
// for jobs that they own,
return tags, true
@@ -119,7 +121,7 @@ func (p *provisionerDaemonAuth) authorize(r *http.Request, tags map[string]strin
psk := r.Header.Get(codersdk.ProvisionerDaemonPSK)
if subtle.ConstantTimeCompare([]byte(p.psk), []byte(psk)) == 1 {
// If using PSK auth, the daemon is, by definition, scoped to the organization.
tags[provisionerdserver.TagScope] = provisionerdserver.ScopeOrganization
tags[provisionersdk.TagScope] = provisionersdk.ScopeOrganization
return tags, true
}
}
+10 -11
View File
@@ -13,7 +13,6 @@ import (
"cdr.dev/slog/sloggers/slogtest"
"github.com/coder/coder/v2/coderd/coderdtest"
"github.com/coder/coder/v2/coderd/database"
"github.com/coder/coder/v2/coderd/provisionerdserver"
"github.com/coder/coder/v2/coderd/rbac"
"github.com/coder/coder/v2/coderd/util/ptr"
"github.com/coder/coder/v2/codersdk"
@@ -91,7 +90,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
codersdk.ProvisionerTypeEcho,
},
Tags: map[string]string{
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
},
})
require.Error(t, err)
@@ -118,7 +117,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
codersdk.ProvisionerTypeEcho,
},
Tags: map[string]string{
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
},
})
require.Error(t, err)
@@ -135,7 +134,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
},
}})
closer := coderdtest.NewExternalProvisionerDaemon(t, client, user.OrganizationID, map[string]string{
provisionerdserver.TagScope: provisionerdserver.ScopeUser,
provisionersdk.TagScope: provisionersdk.ScopeUser,
})
defer closer.Close()
@@ -169,7 +168,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
FileID: file.ID,
Provisioner: codersdk.ProvisionerTypeEcho,
ProvisionerTags: map[string]string{
provisionerdserver.TagScope: provisionerdserver.ScopeUser,
provisionersdk.TagScope: provisionersdk.ScopeUser,
},
})
require.NoError(t, err)
@@ -178,7 +177,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
another, _ := coderdtest.CreateAnotherUser(t, client, user.OrganizationID)
_ = closer.Close()
closer = coderdtest.NewExternalProvisionerDaemon(t, another, user.OrganizationID, map[string]string{
provisionerdserver.TagScope: provisionerdserver.ScopeUser,
provisionersdk.TagScope: provisionersdk.ScopeUser,
})
defer closer.Close()
workspace := coderdtest.CreateWorkspace(t, another, user.OrganizationID, template.ID)
@@ -204,7 +203,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
codersdk.ProvisionerTypeEcho,
},
Tags: map[string]string{
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
},
PreSharedKey: "provisionersftw",
})
@@ -260,7 +259,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
codersdk.ProvisionerTypeEcho,
},
Tags: map[string]string{
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
},
PreSharedKey: "provisionersftw",
})
@@ -338,7 +337,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
codersdk.ProvisionerTypeEcho,
},
Tags: map[string]string{
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
},
PreSharedKey: "the wrong key",
})
@@ -369,7 +368,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
codersdk.ProvisionerTypeEcho,
},
Tags: map[string]string{
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
},
})
require.Error(t, err)
@@ -398,7 +397,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
codersdk.ProvisionerTypeEcho,
},
Tags: map[string]string{
provisionerdserver.TagScope: provisionerdserver.ScopeOrganization,
provisionersdk.TagScope: provisionersdk.ScopeOrganization,
},
PreSharedKey: "provisionersftw",
})