Skip to content

Commit 2c8b264

Browse files
Emyrkaslilac
andauthored
chore: remove multi-organization and custom role experiment (coder#14862)
Closes coder#14704 --------- Co-authored-by: Kayla Washburn-Love <mckayla@hey.com>
1 parent 339eeba commit 2c8b264

32 files changed

+60
-490
lines changed

coderd/apidoc/docs.go

Lines changed: 0 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 0 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/httpmw/provisionerdaemon.go

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,9 @@ func ProvisionerDaemonAuthenticated(r *http.Request) bool {
2020
}
2121

2222
type ExtractProvisionerAuthConfig struct {
23-
DB database.Store
24-
Optional bool
25-
PSK string
26-
MultiOrgEnabled bool
23+
DB database.Store
24+
Optional bool
25+
PSK string
2726
}
2827

2928
func ExtractProvisionerDaemonAuthenticated(opts ExtractProvisionerAuthConfig) func(next http.Handler) http.Handler {
@@ -39,18 +38,6 @@ func ExtractProvisionerDaemonAuthenticated(opts ExtractProvisionerAuthConfig) fu
3938
httpapi.Write(ctx, w, code, response)
4039
}
4140

42-
if !opts.MultiOrgEnabled {
43-
if opts.PSK == "" {
44-
handleOptional(http.StatusUnauthorized, codersdk.Response{
45-
Message: "External provisioner daemons not enabled",
46-
})
47-
return
48-
}
49-
50-
fallbackToPSK(ctx, opts.PSK, next, w, r, handleOptional)
51-
return
52-
}
53-
5441
psk := r.Header.Get(codersdk.ProvisionerDaemonPSK)
5542
key := r.Header.Get(codersdk.ProvisionerDaemonKey)
5643
if key == "" {

codersdk/deployment.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2893,8 +2893,6 @@ const (
28932893
// Add new experiments here!
28942894
ExperimentExample Experiment = "example" // This isn't used for anything.
28952895
ExperimentAutoFillParameters Experiment = "auto-fill-parameters" // This should not be taken out of experiments until we have redesigned the feature.
2896-
ExperimentMultiOrganization Experiment = "multi-organization" // Requires organization context for interactions, default org is assumed.
2897-
ExperimentCustomRoles Experiment = "custom-roles" // Allows creating runtime custom roles.
28982896
ExperimentNotifications Experiment = "notifications" // Sends notifications via SMTP and webhooks following certain events.
28992897
ExperimentWorkspaceUsage Experiment = "workspace-usage" // Enables the new workspace usage tracking.
29002898
)

docs/reference/api/schemas.md

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

enterprise/cli/create_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,8 @@ func TestEnterpriseCreate(t *testing.T) {
3737
// setupMultipleOrganizations creates an extra organization, assigns a member
3838
// both organizations, and optionally creates templates in each organization.
3939
setupMultipleOrganizations := func(t *testing.T, args setupArgs) setupData {
40-
dv := coderdtest.DeploymentValues(t)
41-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
4240
ownerClient, first := coderdenttest.New(t, &coderdenttest.Options{
4341
Options: &coderdtest.Options{
44-
DeploymentValues: dv,
4542
// This only affects the first org.
4643
IncludeProvisionerDaemon: true,
4744
},

enterprise/cli/organization_test.go

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,7 @@ func TestEditOrganizationRoles(t *testing.T) {
2525
t.Run("JSON", func(t *testing.T) {
2626
t.Parallel()
2727

28-
dv := coderdtest.DeploymentValues(t)
29-
dv.Experiments = []string{string(codersdk.ExperimentCustomRoles)}
3028
client, owner := coderdenttest.New(t, &coderdenttest.Options{
31-
Options: &coderdtest.Options{
32-
DeploymentValues: dv,
33-
},
3429
LicenseOptions: &coderdenttest.LicenseOptions{
3530
Features: license.Features{
3631
codersdk.FeatureCustomRoles: 1,
@@ -68,12 +63,7 @@ func TestEditOrganizationRoles(t *testing.T) {
6863
t.Run("InvalidRole", func(t *testing.T) {
6964
t.Parallel()
7065

71-
dv := coderdtest.DeploymentValues(t)
72-
dv.Experiments = []string{string(codersdk.ExperimentCustomRoles)}
7366
client, owner := coderdenttest.New(t, &coderdenttest.Options{
74-
Options: &coderdtest.Options{
75-
DeploymentValues: dv,
76-
},
7767
LicenseOptions: &coderdenttest.LicenseOptions{
7868
Features: license.Features{
7969
codersdk.FeatureCustomRoles: 1,
@@ -119,12 +109,9 @@ func TestShowOrganizations(t *testing.T) {
119109
t.Run("OnlyID", func(t *testing.T) {
120110
t.Parallel()
121111

122-
dv := coderdtest.DeploymentValues(t)
123-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
124112
ownerClient, first := coderdenttest.New(t, &coderdenttest.Options{
125113
Options: &coderdtest.Options{
126114
IncludeProvisionerDaemon: true,
127-
DeploymentValues: dv,
128115
},
129116
LicenseOptions: &coderdenttest.LicenseOptions{
130117
Features: license.Features{
@@ -159,12 +146,9 @@ func TestShowOrganizations(t *testing.T) {
159146

160147
t.Run("UsingFlag", func(t *testing.T) {
161148
t.Parallel()
162-
dv := coderdtest.DeploymentValues(t)
163-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
164149
ownerClient, first := coderdenttest.New(t, &coderdenttest.Options{
165150
Options: &coderdtest.Options{
166151
IncludeProvisionerDaemon: true,
167-
DeploymentValues: dv,
168152
},
169153
LicenseOptions: &coderdenttest.LicenseOptions{
170154
Features: license.Features{

enterprise/cli/organizationmembers_test.go

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,8 @@ func TestRemoveOrganizationMembers(t *testing.T) {
2020

2121
t.Run("OK", func(t *testing.T) {
2222
t.Parallel()
23-
dv := coderdtest.DeploymentValues(t)
24-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
2523

2624
ownerClient, _ := coderdenttest.New(t, &coderdenttest.Options{
27-
Options: &coderdtest.Options{
28-
DeploymentValues: dv,
29-
},
3025
LicenseOptions: &coderdenttest.LicenseOptions{
3126
Features: license.Features{
3227
codersdk.FeatureMultipleOrganizations: 1,
@@ -79,12 +74,7 @@ func TestEnterpriseListOrganizationMembers(t *testing.T) {
7974
t.Run("CustomRole", func(t *testing.T) {
8075
t.Parallel()
8176

82-
dv := coderdtest.DeploymentValues(t)
83-
dv.Experiments = []string{string(codersdk.ExperimentCustomRoles)}
8477
ownerClient, owner := coderdenttest.New(t, &coderdenttest.Options{
85-
Options: &coderdtest.Options{
86-
DeploymentValues: dv,
87-
},
8878
LicenseOptions: &coderdenttest.LicenseOptions{
8979
Features: license.Features{
9080
codersdk.FeatureCustomRoles: 1,
@@ -130,13 +120,7 @@ func TestAssignOrganizationMemberRole(t *testing.T) {
130120

131121
t.Run("OK", func(t *testing.T) {
132122
t.Parallel()
133-
dv := coderdtest.DeploymentValues(t)
134-
dv.Experiments = []string{string(codersdk.ExperimentCustomRoles)}
135-
136123
ownerClient, owner := coderdenttest.New(t, &coderdenttest.Options{
137-
Options: &coderdtest.Options{
138-
DeploymentValues: dv,
139-
},
140124
LicenseOptions: &coderdenttest.LicenseOptions{
141125
Features: license.Features{
142126
codersdk.FeatureCustomRoles: 1,

enterprise/cli/organizationsettings_test.go

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"github.com/stretchr/testify/require"
1111

1212
"github.com/coder/coder/v2/cli/clitest"
13-
"github.com/coder/coder/v2/coderd/coderdtest"
1413
"github.com/coder/coder/v2/coderd/rbac"
1514
"github.com/coder/coder/v2/codersdk"
1615
"github.com/coder/coder/v2/enterprise/coderd/coderdenttest"
@@ -24,13 +23,7 @@ func TestUpdateGroupSync(t *testing.T) {
2423
t.Run("OK", func(t *testing.T) {
2524
t.Parallel()
2625

27-
dv := coderdtest.DeploymentValues(t)
28-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
29-
3026
owner, first := coderdenttest.New(t, &coderdenttest.Options{
31-
Options: &coderdtest.Options{
32-
DeploymentValues: dv,
33-
},
3427
LicenseOptions: &coderdenttest.LicenseOptions{
3528
Features: license.Features{
3629
codersdk.FeatureMultipleOrganizations: 1,
@@ -81,13 +74,7 @@ func TestUpdateRoleSync(t *testing.T) {
8174
t.Run("OK", func(t *testing.T) {
8275
t.Parallel()
8376

84-
dv := coderdtest.DeploymentValues(t)
85-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
86-
8777
owner, _ := coderdenttest.New(t, &coderdenttest.Options{
88-
Options: &coderdtest.Options{
89-
DeploymentValues: dv,
90-
},
9178
LicenseOptions: &coderdenttest.LicenseOptions{
9279
Features: license.Features{
9380
codersdk.FeatureMultipleOrganizations: 1,

enterprise/cli/provisionerdaemonstart_test.go

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,7 @@ func TestProvisionerDaemon_PSK(t *testing.T) {
3030
t.Run("OK", func(t *testing.T) {
3131
t.Parallel()
3232

33-
dv := coderdtest.DeploymentValues(t)
34-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
3533
client, _ := coderdenttest.New(t, &coderdenttest.Options{
36-
Options: &coderdtest.Options{
37-
DeploymentValues: dv,
38-
},
3934
ProvisionerDaemonPSK: "provisionersftw",
4035
LicenseOptions: &coderdenttest.LicenseOptions{
4136
Features: license.Features{
@@ -70,12 +65,7 @@ func TestProvisionerDaemon_PSK(t *testing.T) {
7065

7166
t.Run("AnotherOrgByNameWithUser", func(t *testing.T) {
7267
t.Parallel()
73-
dv := coderdtest.DeploymentValues(t)
74-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
7568
client, _ := coderdenttest.New(t, &coderdenttest.Options{
76-
Options: &coderdtest.Options{
77-
DeploymentValues: dv,
78-
},
7969
ProvisionerDaemonPSK: "provisionersftw",
8070
LicenseOptions: &coderdenttest.LicenseOptions{
8171
Features: license.Features{
@@ -224,12 +214,7 @@ func TestProvisionerDaemon_SessionToken(t *testing.T) {
224214

225215
t.Run("ScopeUserAnotherOrg", func(t *testing.T) {
226216
t.Parallel()
227-
dv := coderdtest.DeploymentValues(t)
228-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
229217
client, _ := coderdenttest.New(t, &coderdenttest.Options{
230-
Options: &coderdtest.Options{
231-
DeploymentValues: dv,
232-
},
233218
ProvisionerDaemonPSK: "provisionersftw",
234219
LicenseOptions: &coderdenttest.LicenseOptions{
235220
Features: license.Features{
@@ -273,8 +258,6 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
273258

274259
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
275260
defer cancel()
276-
dv := coderdtest.DeploymentValues(t)
277-
dv.Experiments.Append(string(codersdk.ExperimentMultiOrganization))
278261
client, user := coderdenttest.New(t, &coderdenttest.Options{
279262
ProvisionerDaemonPSK: "provisionersftw",
280263
LicenseOptions: &coderdenttest.LicenseOptions{
@@ -283,9 +266,6 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
283266
codersdk.FeatureMultipleOrganizations: 1,
284267
},
285268
},
286-
Options: &coderdtest.Options{
287-
DeploymentValues: dv,
288-
},
289269
})
290270
// nolint:gocritic // test
291271
res, err := client.CreateProvisionerKey(ctx, user.OrganizationID, codersdk.CreateProvisionerKeyRequest{
@@ -319,8 +299,6 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
319299

320300
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
321301
defer cancel()
322-
dv := coderdtest.DeploymentValues(t)
323-
dv.Experiments.Append(string(codersdk.ExperimentMultiOrganization))
324302
client, user := coderdenttest.New(t, &coderdenttest.Options{
325303
ProvisionerDaemonPSK: "provisionersftw",
326304
LicenseOptions: &coderdenttest.LicenseOptions{
@@ -329,9 +307,6 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
329307
codersdk.FeatureMultipleOrganizations: 1,
330308
},
331309
},
332-
Options: &coderdtest.Options{
333-
DeploymentValues: dv,
334-
},
335310
})
336311
// nolint:gocritic // test
337312
res, err := client.CreateProvisionerKey(ctx, user.OrganizationID, codersdk.CreateProvisionerKeyRequest{
@@ -350,8 +325,6 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
350325

351326
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
352327
defer cancel()
353-
dv := coderdtest.DeploymentValues(t)
354-
dv.Experiments.Append(string(codersdk.ExperimentMultiOrganization))
355328
client, user := coderdenttest.New(t, &coderdenttest.Options{
356329
ProvisionerDaemonPSK: "provisionersftw",
357330
LicenseOptions: &coderdenttest.LicenseOptions{
@@ -360,9 +333,6 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
360333
codersdk.FeatureMultipleOrganizations: 1,
361334
},
362335
},
363-
Options: &coderdtest.Options{
364-
DeploymentValues: dv,
365-
},
366336
})
367337
// nolint:gocritic // test
368338
res, err := client.CreateProvisionerKey(ctx, user.OrganizationID, codersdk.CreateProvisionerKeyRequest{
@@ -381,8 +351,6 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
381351

382352
ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong)
383353
defer cancel()
384-
dv := coderdtest.DeploymentValues(t)
385-
dv.Experiments.Append(string(codersdk.ExperimentMultiOrganization))
386354
client, _ := coderdenttest.New(t, &coderdenttest.Options{
387355
ProvisionerDaemonPSK: "provisionersftw",
388356
LicenseOptions: &coderdenttest.LicenseOptions{
@@ -391,9 +359,6 @@ func TestProvisionerDaemon_ProvisionerKey(t *testing.T) {
391359
codersdk.FeatureMultipleOrganizations: 1,
392360
},
393361
},
394-
Options: &coderdtest.Options{
395-
DeploymentValues: dv,
396-
},
397362
})
398363
anotherOrg := coderdenttest.CreateOrganization(t, client, coderdenttest.CreateOrganizationOptions{})
399364
// nolint:gocritic // test

enterprise/cli/provisionerkeys_test.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,7 @@ func TestProvisionerKeys(t *testing.T) {
2323
t.Run("CRUD", func(t *testing.T) {
2424
t.Parallel()
2525

26-
dv := coderdtest.DeploymentValues(t)
27-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
2826
client, owner := coderdenttest.New(t, &coderdenttest.Options{
29-
Options: &coderdtest.Options{
30-
DeploymentValues: dv,
31-
},
3227
LicenseOptions: &coderdenttest.LicenseOptions{
3328
Features: license.Features{
3429
codersdk.FeatureMultipleOrganizations: 1,

enterprise/cli/templatecreate_test.go

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -139,14 +139,8 @@ func TestTemplateCreate(t *testing.T) {
139139
t.Run("SecondOrganization", func(t *testing.T) {
140140
t.Parallel()
141141

142-
dv := coderdtest.DeploymentValues(t)
143-
dv.Experiments = []string{
144-
string(codersdk.ExperimentCustomRoles),
145-
string(codersdk.ExperimentMultiOrganization),
146-
}
147142
ownerClient, _ := coderdenttest.New(t, &coderdenttest.Options{
148143
Options: &coderdtest.Options{
149-
DeploymentValues: dv,
150144
// This only affects the first org.
151145
IncludeProvisionerDaemon: false,
152146
},

enterprise/cli/templatelist_test.go

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,9 @@ func TestEnterpriseListTemplates(t *testing.T) {
2323
t.Run("MultiOrg", func(t *testing.T) {
2424
t.Parallel()
2525

26-
dv := coderdtest.DeploymentValues(t)
27-
dv.Experiments = []string{string(codersdk.ExperimentMultiOrganization)}
2826
client, owner := coderdenttest.New(t, &coderdenttest.Options{
2927
Options: &coderdtest.Options{
3028
IncludeProvisionerDaemon: true,
31-
DeploymentValues: dv,
3229
},
3330
LicenseOptions: &coderdenttest.LicenseOptions{
3431
Features: license.Features{

0 commit comments

Comments
 (0)