Skip to content

Commit 5cc5bbe

Browse files
authored
fix: improve provisioner key cli usability (#14834)
What this changes: - Unhides the `--key` flag on provisioner start - Deprecates and hides `provisionerd` command group in favor of `provisioner(s)` - Removes org id from `coder provisioner keys list`
1 parent 62047e5 commit 5cc5bbe

30 files changed

+329
-131
lines changed

coderd/apidoc/docs.go

+7-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

+7-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codersdk/provisionerdaemons.go

+16-5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"io"
88
"net/http"
99
"net/http/cookiejar"
10+
"strings"
1011
"time"
1112

1213
"github.com/google/uuid"
@@ -274,12 +275,22 @@ func (c *Client) ServeProvisionerDaemon(ctx context.Context, req ServeProvisione
274275
return proto.NewDRPCProvisionerDaemonClient(drpc.MultiplexedConn(session)), nil
275276
}
276277

278+
type ProvisionerKeyTags map[string]string
279+
280+
func (p ProvisionerKeyTags) String() string {
281+
tags := []string{}
282+
for key, value := range p {
283+
tags = append(tags, fmt.Sprintf("%s=%s", key, value))
284+
}
285+
return strings.Join(tags, " ")
286+
}
287+
277288
type ProvisionerKey struct {
278-
ID uuid.UUID `json:"id" table:"-" format:"uuid"`
279-
CreatedAt time.Time `json:"created_at" table:"created at" format:"date-time"`
280-
OrganizationID uuid.UUID `json:"organization" table:"organization id" format:"uuid"`
281-
Name string `json:"name" table:"name,default_sort"`
282-
Tags map[string]string `json:"tags" table:"tags"`
289+
ID uuid.UUID `json:"id" table:"-" format:"uuid"`
290+
CreatedAt time.Time `json:"created_at" table:"created at" format:"date-time"`
291+
OrganizationID uuid.UUID `json:"organization" table:"-" format:"uuid"`
292+
Name string `json:"name" table:"name,default_sort"`
293+
Tags ProvisionerKeyTags `json:"tags" table:"tags"`
283294
// HashedSecret - never include the access token in the API response
284295
}
285296

docs/admin/provisioners.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ For example, running 30 provisioner containers will allow 30 users to start
2626
workspaces at the same time.
2727

2828
Provisioners are started with the
29-
[coder provisionerd start](../reference/cli/provisionerd_start.md) command.
29+
[coder provisionerd start](../reference/cli/provisioner_start.md) command.
3030

3131
## Authentication
3232

@@ -49,7 +49,7 @@ the [Helm example](#example-running-an-external-provisioner-with-helm) below.
4949

5050
Provisioners can broadly be categorized by scope: `organization` or `user`. The
5151
scope of a provisioner can be specified with
52-
[`-tag=scope=<scope>`](../reference/cli/provisionerd_start.md#t---tag) when
52+
[`-tag=scope=<scope>`](../reference/cli/provisioner_start.md#t---tag) when
5353
starting the provisioner daemon. Only users with at least the
5454
[Template Admin](../admin/users.md#roles) role or higher may create
5555
organization-scoped provisioner daemons.
@@ -59,7 +59,7 @@ There are two exceptions:
5959
- [Built-in provisioners](../reference/cli/server.md#provisioner-daemons) are
6060
always organization-scoped.
6161
- External provisioners started using a
62-
[pre-shared key (PSK)](../reference/cli/provisionerd_start.md#psk) are always
62+
[pre-shared key (PSK)](../reference/cli/provisioner_start.md#psk) are always
6363
organization-scoped.
6464

6565
### Organization-Scoped Provisioners

docs/manifest.json

+12-12
Original file line numberDiff line numberDiff line change
@@ -921,34 +921,34 @@
921921
"path": "reference/cli/port-forward.md"
922922
},
923923
{
924-
"title": "provisionerd",
924+
"title": "provisioner",
925925
"description": "Manage provisioner daemons",
926-
"path": "reference/cli/provisionerd.md"
926+
"path": "reference/cli/provisioner.md"
927927
},
928928
{
929-
"title": "provisionerd keys",
929+
"title": "provisioner keys",
930930
"description": "Manage provisioner keys",
931-
"path": "reference/cli/provisionerd_keys.md"
931+
"path": "reference/cli/provisioner_keys.md"
932932
},
933933
{
934-
"title": "provisionerd keys create",
934+
"title": "provisioner keys create",
935935
"description": "Create a new provisioner key",
936-
"path": "reference/cli/provisionerd_keys_create.md"
936+
"path": "reference/cli/provisioner_keys_create.md"
937937
},
938938
{
939-
"title": "provisionerd keys delete",
939+
"title": "provisioner keys delete",
940940
"description": "Delete a provisioner key",
941-
"path": "reference/cli/provisionerd_keys_delete.md"
941+
"path": "reference/cli/provisioner_keys_delete.md"
942942
},
943943
{
944-
"title": "provisionerd keys list",
944+
"title": "provisioner keys list",
945945
"description": "List provisioner keys in an organization",
946-
"path": "reference/cli/provisionerd_keys_list.md"
946+
"path": "reference/cli/provisioner_keys_list.md"
947947
},
948948
{
949-
"title": "provisionerd start",
949+
"title": "provisioner start",
950950
"description": "Run a provisioner daemon",
951-
"path": "reference/cli/provisionerd_start.md"
951+
"path": "reference/cli/provisioner_start.md"
952952
},
953953
{
954954
"title": "publickey",

docs/reference/api/enterprise.md

+31-31
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/api/schemas.md

+22-8
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/cli/README.md

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/cli/provisioner.md

+22
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/cli/provisioner_keys.md

+23
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/cli/provisionerd_keys_create.md renamed to docs/reference/cli/provisioner_keys_create.md

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/cli/provisionerd_keys_delete.md renamed to docs/reference/cli/provisioner_keys_delete.md

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/reference/cli/provisionerd_keys_list.md renamed to docs/reference/cli/provisioner_keys_list.md

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)