diff --git a/codersdk/deployment.go b/codersdk/deployment.go index b20d052eb4a9d..057d26cd30e84 100644 --- a/codersdk/deployment.go +++ b/codersdk/deployment.go @@ -42,7 +42,7 @@ const ( FeatureTemplateRBAC FeatureName = "template_rbac" FeatureUserRoleManagement FeatureName = "user_role_management" FeatureHighAvailability FeatureName = "high_availability" - FeatureMultipleGitAuth FeatureName = "multiple_git_auth" + FeatureMultipleExternalAuth FeatureName = "multiple_external_auth" FeatureExternalProvisionerDaemons FeatureName = "external_provisioner_daemons" FeatureAppearance FeatureName = "appearance" FeatureAdvancedTemplateScheduling FeatureName = "advanced_template_scheduling" @@ -60,7 +60,7 @@ var FeatureNames = []FeatureName{ FeatureSCIM, FeatureTemplateRBAC, FeatureHighAvailability, - FeatureMultipleGitAuth, + FeatureMultipleExternalAuth, FeatureExternalProvisionerDaemons, FeatureAppearance, FeatureAdvancedTemplateScheduling, @@ -89,7 +89,7 @@ func (n FeatureName) Humanize() string { // This method may disappear at any time. func (n FeatureName) AlwaysEnable() bool { return map[FeatureName]bool{ - FeatureMultipleGitAuth: true, + FeatureMultipleExternalAuth: true, FeatureExternalProvisionerDaemons: true, FeatureAppearance: true, FeatureWorkspaceBatchActions: true, diff --git a/docs/admin/external-auth.md b/docs/admin/external-auth.md index 4dbc856a1827f..cd445eb913d19 100644 --- a/docs/admin/external-auth.md +++ b/docs/admin/external-auth.md @@ -111,7 +111,7 @@ Optionally, you can request custom scopes: CODER_EXTERNAL_AUTH_0_SCOPES="repo:read repo:write write:gpg_key" ``` -### Multiple git providers (enterprise) +### Multiple External Providers (enterprise) Multiple providers are an Enterprise feature. [Learn more](../enterprise.md). diff --git a/docs/enterprise.md b/docs/enterprise.md index fc9b6c042f2dd..1099703f6279c 100644 --- a/docs/enterprise.md +++ b/docs/enterprise.md @@ -4,21 +4,21 @@ Coder is free to use and includes some features that are only accessible with a paid license. [Contact Sales](https://coder.com/contact) for pricing or [get a free trial](https://coder.com/trial). -| Category | Feature | Open Source | Enterprise | -| --------------- | ------------------------------------------------------------------------------------ | :---------: | :--------: | -| Support | Email, Phone, Prioritization | ❌ | ✅ | -| Scale | [High Availability](./admin/high-availability.md) | ❌ | ✅ | -| Scale | [Multiple Git Providers](./admin/git-providers.md#multiple-git-providers-enterprise) | ❌ | ✅ | -| Scale | [Isolated Terraform Runners](./admin/provisioners.md) | ❌ | ✅ | -| Scale | [Workspace Proxies](./admin/workspace-proxies.md) | ❌ | ✅ | -| Governance | [Audit Logging](./admin/audit-logs.md) | ❌ | ✅ | -| Governance | [Browser Only Connections](./networking/#browser-only-connections-enterprise) | ❌ | ✅ | -| Governance | [Groups & Template RBAC](./admin/rbac.md) | ❌ | ✅ | -| Cost Control | [Quotas](./admin/quotas.md) | ❌ | ✅ | -| Cost Control | [Max Workspace Autostop](./templates/#configure-max-workspace-autostop) | ❌ | ✅ | -| User Management | [Groups](./admin/groups.md) | ❌ | ✅ | -| User Management | [Group & role sync](./admin/auth.md#group-sync-enterprise) | ❌ | ✅ | -| User Management | [SCIM](./admin/auth.md#scim) | ❌ | ✅ | +| Category | Feature | Open Source | Enterprise | +| --------------- | --------------------------------------------------------------------------------------------------- | :---------: | :--------: | +| Support | Email, Phone, Prioritization | ❌ | ✅ | +| Scale | [High Availability](./admin/high-availability.md) | ❌ | ✅ | +| Scale | [Multiple External Auth Providers](./admin/external-auth.md#multiple-external-providers-enterprise) | ❌ | ✅ | +| Scale | [Isolated Terraform Runners](./admin/provisioners.md) | ❌ | ✅ | +| Scale | [Workspace Proxies](./admin/workspace-proxies.md) | ❌ | ✅ | +| Governance | [Audit Logging](./admin/audit-logs.md) | ❌ | ✅ | +| Governance | [Browser Only Connections](./networking/#browser-only-connections-enterprise) | ❌ | ✅ | +| Governance | [Groups & Template RBAC](./admin/rbac.md) | ❌ | ✅ | +| Cost Control | [Quotas](./admin/quotas.md) | ❌ | ✅ | +| Cost Control | [Max Workspace Autostop](./templates/#configure-max-workspace-autostop) | ❌ | ✅ | +| User Management | [Groups](./admin/groups.md) | ❌ | ✅ | +| User Management | [Group & role sync](./admin/auth.md#group-sync-enterprise) | ❌ | ✅ | +| User Management | [SCIM](./admin/auth.md#scim) | ❌ | ✅ | ## Adding your license key diff --git a/enterprise/coderd/coderd.go b/enterprise/coderd/coderd.go index 795dd68c10931..eea08a488f567 100644 --- a/enterprise/coderd/coderd.go +++ b/enterprise/coderd/coderd.go @@ -465,7 +465,7 @@ func (api *API) updateEntitlements(ctx context.Context) error { codersdk.FeatureBrowserOnly: api.BrowserOnly, codersdk.FeatureSCIM: len(api.SCIMAPIKey) != 0, codersdk.FeatureHighAvailability: api.DERPServerRelayAddress != "", - codersdk.FeatureMultipleGitAuth: len(api.ExternalAuthConfigs) > 1, + codersdk.FeatureMultipleExternalAuth: len(api.ExternalAuthConfigs) > 1, codersdk.FeatureTemplateRBAC: api.RBAC, codersdk.FeatureExternalTokenEncryption: len(api.ExternalTokenEncryption) > 0, codersdk.FeatureExternalProvisionerDaemons: true, diff --git a/enterprise/coderd/license/license.go b/enterprise/coderd/license/license.go index 539274ecdcbe3..a8c10f0c4571e 100644 --- a/enterprise/coderd/license/license.go +++ b/enterprise/coderd/license/license.go @@ -23,7 +23,7 @@ func Entitlements( db database.Store, logger slog.Logger, replicaCount int, - gitAuthCount int, + externalAuthCount int, keys map[string]ed25519.PublicKey, enablements map[codersdk.FeatureName]bool, ) (codersdk.Entitlements, error) { @@ -161,8 +161,8 @@ func Entitlements( if featureName == codersdk.FeatureHighAvailability { continue } - // Multiple Git auth has it's own warnings based on the number configured! - if featureName == codersdk.FeatureMultipleGitAuth { + // External Auth Providers auth has it's own warnings based on the number configured! + if featureName == codersdk.FeatureMultipleExternalAuth { continue } feature := entitlements.Features[featureName] @@ -200,23 +200,23 @@ func Entitlements( } } - if gitAuthCount > 1 { - feature := entitlements.Features[codersdk.FeatureMultipleGitAuth] + if externalAuthCount > 1 { + feature := entitlements.Features[codersdk.FeatureMultipleExternalAuth] switch feature.Entitlement { case codersdk.EntitlementNotEntitled: if entitlements.HasLicense { entitlements.Errors = append(entitlements.Errors, - "You have multiple Git authorizations configured but your license is limited at one.", + "You have multiple External Auth Providers configured but your license is limited at one.", ) } else { entitlements.Errors = append(entitlements.Errors, - "You have multiple Git authorizations configured but this is an Enterprise feature. Reduce to one.", + "You have multiple External Auth Providers configured but this is an Enterprise feature. Reduce to one.", ) } case codersdk.EntitlementGracePeriod: entitlements.Warnings = append(entitlements.Warnings, - "You have multiple Git authorizations configured but your license is expired. Reduce to one.", + "You have multiple External Auth Providers configured but your license is expired. Reduce to one.", ) } } diff --git a/enterprise/coderd/license/license_test.go b/enterprise/coderd/license/license_test.go index 205987601616e..1335a89aca18e 100644 --- a/enterprise/coderd/license/license_test.go +++ b/enterprise/coderd/license/license_test.go @@ -248,7 +248,7 @@ func TestEntitlements(t *testing.T) { if featureName == codersdk.FeatureHighAvailability { continue } - if featureName == codersdk.FeatureMultipleGitAuth { + if featureName == codersdk.FeatureMultipleExternalAuth { continue } niceName := featureName.Humanize() @@ -484,7 +484,7 @@ func TestEntitlements(t *testing.T) { require.NoError(t, err) require.False(t, entitlements.HasLicense) require.Len(t, entitlements.Errors, 1) - require.Equal(t, "You have multiple Git authorizations configured but this is an Enterprise feature. Reduce to one.", entitlements.Errors[0]) + require.Equal(t, "You have multiple External Auth Providers configured but this is an Enterprise feature. Reduce to one.", entitlements.Errors[0]) }) t.Run("MultipleGitAuthNotEntitled", func(t *testing.T) { @@ -499,12 +499,12 @@ func TestEntitlements(t *testing.T) { }), }) entitlements, err := license.Entitlements(context.Background(), db, slog.Logger{}, 1, 2, coderdenttest.Keys, map[codersdk.FeatureName]bool{ - codersdk.FeatureMultipleGitAuth: true, + codersdk.FeatureMultipleExternalAuth: true, }) require.NoError(t, err) require.True(t, entitlements.HasLicense) require.Len(t, entitlements.Errors, 1) - require.Equal(t, "You have multiple Git authorizations configured but your license is limited at one.", entitlements.Errors[0]) + require.Equal(t, "You have multiple External Auth Providers configured but your license is limited at one.", entitlements.Errors[0]) }) t.Run("MultipleGitAuthGrace", func(t *testing.T) { @@ -515,17 +515,17 @@ func TestEntitlements(t *testing.T) { GraceAt: time.Now().Add(-time.Hour), ExpiresAt: time.Now().Add(time.Hour), Features: license.Features{ - codersdk.FeatureMultipleGitAuth: 1, + codersdk.FeatureMultipleExternalAuth: 1, }, }), Exp: time.Now().Add(time.Hour), }) entitlements, err := license.Entitlements(context.Background(), db, slog.Logger{}, 1, 2, coderdenttest.Keys, map[codersdk.FeatureName]bool{ - codersdk.FeatureMultipleGitAuth: true, + codersdk.FeatureMultipleExternalAuth: true, }) require.NoError(t, err) require.True(t, entitlements.HasLicense) require.Len(t, entitlements.Warnings, 1) - require.Equal(t, "You have multiple Git authorizations configured but your license is expired. Reduce to one.", entitlements.Warnings[0]) + require.Equal(t, "You have multiple External Auth Providers configured but your license is expired. Reduce to one.", entitlements.Warnings[0]) }) } diff --git a/site/src/api/typesGenerated.ts b/site/src/api/typesGenerated.ts index 8c3e262bd598b..3ce72f96dbfd4 100644 --- a/site/src/api/typesGenerated.ts +++ b/site/src/api/typesGenerated.ts @@ -1682,7 +1682,7 @@ export type FeatureName = | "external_provisioner_daemons" | "external_token_encryption" | "high_availability" - | "multiple_git_auth" + | "multiple_external_auth" | "scim" | "template_autostop_requirement" | "template_rbac" @@ -1698,7 +1698,7 @@ export const FeatureNames: FeatureName[] = [ "external_provisioner_daemons", "external_token_encryption", "high_availability", - "multiple_git_auth", + "multiple_external_auth", "scim", "template_autostop_requirement", "template_rbac",