feat: add tags to provisioner keys api (#13989)

This commit is contained in:
Garrett Delfosse
2024-07-25 15:20:45 +00:00
committed by GitHub
parent ca83017dc1
commit 6161d173d3
21 changed files with 120 additions and 49 deletions
+1 -1
View File
@@ -559,7 +559,7 @@ func TestProvisionerDaemonServe(t *testing.T) {
t.Run("ProvisionerKeyAuth", func(t *testing.T) {
t.Parallel()
insertParams, token, err := provisionerkey.New(uuid.Nil, "dont-TEST-me")
insertParams, token, err := provisionerkey.New(uuid.Nil, "dont-TEST-me", nil)
require.NoError(t, err)
tcs := []struct {
+2 -1
View File
@@ -54,7 +54,7 @@ func (api *API) postProvisionerKey(rw http.ResponseWriter, r *http.Request) {
return
}
params, token, err := provisionerkey.New(organization.ID, req.Name)
params, token, err := provisionerkey.New(organization.ID, req.Name, req.Tags)
if err != nil {
httpapi.InternalServerError(rw, err)
return
@@ -142,6 +142,7 @@ func convertProvisionerKeys(dbKeys []database.ProvisionerKey) []codersdk.Provisi
CreatedAt: dbKey.CreatedAt,
OrganizationID: dbKey.OrganizationID,
Name: dbKey.Name,
Tags: dbKey.Tags,
// HashedSecret - never include the access token in the API response
})
}
@@ -69,9 +69,13 @@ func TestProvisionerKeys(t *testing.T) {
require.NoError(t, err, "org admin list provisioner keys")
require.Len(t, keys, 0, "org admin list provisioner keys")
tags := map[string]string{
"my": "way",
}
// org admin can create a provisioner key
_, err = orgAdmin.CreateProvisionerKey(ctx, owner.OrganizationID, codersdk.CreateProvisionerKeyRequest{
Name: "Key", // case insensitive
Tags: tags,
})
require.NoError(t, err, "org admin create provisioner key")
@@ -97,6 +101,8 @@ func TestProvisionerKeys(t *testing.T) {
keys, err = orgAdmin.ListProvisionerKeys(ctx, owner.OrganizationID)
require.NoError(t, err, "org admin list provisioner keys")
require.Len(t, keys, 1, "org admin list provisioner keys")
require.Equal(t, "key", keys[0].Name, "org admin list provisioner keys name matches")
require.EqualValues(t, tags, keys[0].Tags, "org admin list provisioner keys tags match")
// org admin can delete a provisioner key
err = orgAdmin.DeleteProvisionerKey(ctx, owner.OrganizationID, "key") // using lowercase here works