From 2e9310b20371ed174d360ffb7225ea56db5335c4 Mon Sep 17 00:00:00 2001 From: Kira Pilot Date: Wed, 3 May 2023 11:34:43 -0700 Subject: [PATCH] chore: add workspace actions entitlement and experiment (#7361) * added workspace actions entitlement * added workspace actions experiment --- coderd/apidoc/docs.go | 6 ++++-- coderd/apidoc/swagger.json | 4 ++-- codersdk/deployment.go | 5 +++++ docs/api/schemas.md | 7 ++++--- enterprise/coderd/coderd.go | 1 + enterprise/coderd/coderd_test.go | 1 + site/src/api/typesGenerated.ts | 6 ++++-- 7 files changed, 21 insertions(+), 9 deletions(-) diff --git a/coderd/apidoc/docs.go b/coderd/apidoc/docs.go index bb26591f1d..65642323a2 100644 --- a/coderd/apidoc/docs.go +++ b/coderd/apidoc/docs.go @@ -7400,10 +7400,12 @@ const docTemplate = `{ "codersdk.Experiment": { "type": "string", "enum": [ - "moons" + "moons", + "workspace_actions" ], "x-enum-varnames": [ - "ExperimentMoons" + "ExperimentMoons", + "ExperimentWorkspaceActions" ] }, "codersdk.Feature": { diff --git a/coderd/apidoc/swagger.json b/coderd/apidoc/swagger.json index c52f011a18..f1d59dfa2c 100644 --- a/coderd/apidoc/swagger.json +++ b/coderd/apidoc/swagger.json @@ -6614,8 +6614,8 @@ }, "codersdk.Experiment": { "type": "string", - "enum": ["moons"], - "x-enum-varnames": ["ExperimentMoons"] + "enum": ["moons", "workspace_actions"], + "x-enum-varnames": ["ExperimentMoons", "ExperimentWorkspaceActions"] }, "codersdk.Feature": { "type": "object", diff --git a/codersdk/deployment.go b/codersdk/deployment.go index 61ab6658f3..aaee164d5a 100644 --- a/codersdk/deployment.go +++ b/codersdk/deployment.go @@ -46,6 +46,7 @@ const ( FeatureAppearance FeatureName = "appearance" FeatureAdvancedTemplateScheduling FeatureName = "advanced_template_scheduling" FeatureWorkspaceProxy FeatureName = "workspace_proxy" + FeatureWorkspaceActions FeatureName = "workspace_actions" ) // FeatureNames must be kept in-sync with the Feature enum above. @@ -61,6 +62,7 @@ var FeatureNames = []FeatureName{ FeatureAppearance, FeatureAdvancedTemplateScheduling, FeatureWorkspaceProxy, + FeatureWorkspaceActions, } // Humanize returns the feature name in a human-readable format. @@ -1668,6 +1670,9 @@ const ( // feature is not yet complete in functionality. ExperimentMoons Experiment = "moons" + // https://github.com/coder/coder/milestone/19 + ExperimentWorkspaceActions Experiment = "workspace_actions" + // Add new experiments here! // ExperimentExample Experiment = "example" ) diff --git a/docs/api/schemas.md b/docs/api/schemas.md index 17e1dfe857..0224980889 100644 --- a/docs/api/schemas.md +++ b/docs/api/schemas.md @@ -2502,9 +2502,10 @@ CreateParameterRequest is a structure used to create a new parameter value for a #### Enumerated Values -| Value | -| ------- | -| `moons` | +| Value | +| ------------------- | +| `moons` | +| `workspace_actions` | ## codersdk.Feature diff --git a/enterprise/coderd/coderd.go b/enterprise/coderd/coderd.go index 190a552a80..3d8ad12ede 100644 --- a/enterprise/coderd/coderd.go +++ b/enterprise/coderd/coderd.go @@ -326,6 +326,7 @@ func (api *API) updateEntitlements(ctx context.Context) error { codersdk.FeatureExternalProvisionerDaemons: true, codersdk.FeatureAdvancedTemplateScheduling: true, codersdk.FeatureWorkspaceProxy: true, + codersdk.FeatureWorkspaceActions: true, }) if err != nil { return err diff --git a/enterprise/coderd/coderd_test.go b/enterprise/coderd/coderd_test.go index 27aa2cb4c3..26526721f1 100644 --- a/enterprise/coderd/coderd_test.go +++ b/enterprise/coderd/coderd_test.go @@ -54,6 +54,7 @@ func TestEntitlements(t *testing.T) { codersdk.FeatureExternalProvisionerDaemons: 1, codersdk.FeatureAdvancedTemplateScheduling: 1, codersdk.FeatureWorkspaceProxy: 1, + codersdk.FeatureWorkspaceActions: 1, }, GraceAt: time.Now().Add(59 * 24 * time.Hour), }) diff --git a/site/src/api/typesGenerated.ts b/site/src/api/typesGenerated.ts index 07d9030a1a..0577976470 100644 --- a/site/src/api/typesGenerated.ts +++ b/site/src/api/typesGenerated.ts @@ -1361,8 +1361,8 @@ export const Entitlements: Entitlement[] = [ ] // From codersdk/deployment.go -export type Experiment = "moons" -export const Experiments: Experiment[] = ["moons"] +export type Experiment = "moons" | "workspace_actions" +export const Experiments: Experiment[] = ["moons", "workspace_actions"] // From codersdk/deployment.go export type FeatureName = @@ -1376,6 +1376,7 @@ export type FeatureName = | "scim" | "template_rbac" | "user_limit" + | "workspace_actions" | "workspace_proxy" export const FeatureNames: FeatureName[] = [ "advanced_template_scheduling", @@ -1388,6 +1389,7 @@ export const FeatureNames: FeatureName[] = [ "scim", "template_rbac", "user_limit", + "workspace_actions", "workspace_proxy", ]