Repository: gravitational/teleport
Pull request #53144: Update references to renamed features
Author: login: bl-nero
Labels: name: ui
name: size/sm
name: discovery
name: no-changelog
description: Indicates that a PR does not require a changelog entry
name: backport/branch/v17
Created: 2025-03-18T14:00:08Z | Merged: 2025-03-21T14:54:04Z

Renames:
- Teleport Policy to Teleport Identity Security
- Teleport Identity to Teleport Identity Governance

Followed up by https://github.com/gravitational/teleport.e/pull/6191
Contributes to https://github.com/gravitational/teleport.e/issues/6172


Diff:
diff --git a/lib/srv/discovery/access_graph_aws.go b/lib/srv/discovery/access_graph_aws.go
index 9b17be7fd3dc4..cf28c07f03857 100644
--- a/lib/srv/discovery/access_graph_aws.go
+++ b/lib/srv/discovery/access_graph_aws.go
@@ -468,7 +468,7 @@ func (s *Server) initTAGAWSWatchers(ctx context.Context, cfg *Config) error {
 				}
 				// reset the currentTAGResources to force a full sync
 				if err := s.initializeAndWatchAccessGraph(ctx, reloadCh); errors.Is(err, errTAGFeatureNotEnabled) {
-					s.Log.WarnContext(ctx, "Access Graph specified in config, but the license does not include Teleport Policy. Access graph sync will not be enabled.")
+					s.Log.WarnContext(ctx, "Access Graph specified in config, but the license does not include Teleport Identity Security. Access graph sync will not be enabled.")
 					break
 				} else if err != nil {
 					s.Log.WarnContext(ctx, "Error initializing and watching access graph", "error", err)
diff --git a/lib/srv/discovery/access_graph_azure.go b/lib/srv/discovery/access_graph_azure.go
index 166c126103284..b6b4573cae776 100644
--- a/lib/srv/discovery/access_graph_azure.go
+++ b/lib/srv/discovery/access_graph_azure.go
@@ -377,7 +377,7 @@ func (s *Server) initTAGAzureWatchers(ctx context.Context, cfg *Config) error {
 			}
 			// Reset the Azure resources to force a full sync
 			if err := s.initializeAndWatchAzureAccessGraph(ctx, reloadCh); errors.Is(err, errTAGFeatureNotEnabled) {
-				s.Log.WarnContext(ctx, "Access Graph specified in config, but the license does not include Teleport Policy. Access graph sync will not be enabled.")
+				s.Log.WarnContext(ctx, "Access Graph specified in config, but the license does not include Teleport Identity Security. Access graph sync will not be enabled.")
 				break
 			} else if err != nil {
 				s.Log.WarnContext(ctx, "Error initializing and watching access graph", "error", err)
diff --git a/web/packages/design/src/constants.ts b/web/packages/design/src/constants.ts
new file mode 100644
index 0000000000000..1df39153952e3
--- /dev/null
+++ b/web/packages/design/src/constants.ts
@@ -0,0 +1,25 @@
+/**
+ * Teleport
+ * Copyright (C) 2025 Gravitational, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** User-visible feature names */
+export enum FeatureName {
+  /** Teleport Identity Security (formerly Teleport Policy) */
+  IdentitySecurity = 'Teleport Identity Security',
+  /** Teleport Identity Governance (formerly Teleport Identity) */
+  IdentityGovernance = 'Teleport Identity Governance',
+}
diff --git a/web/packages/teleport/src/Roles/PolicyPlaceholder.tsx b/web/packages/teleport/src/Roles/PolicyPlaceholder.tsx
index 63818de9c359b..2a8fd938bb6f6 100644
--- a/web/packages/teleport/src/Roles/PolicyPlaceholder.tsx
+++ b/web/packages/teleport/src/Roles/PolicyPlaceholder.tsx
@@ -20,6 +20,7 @@ import { useTheme } from 'styled-components';
 
 import { Box, Flex } from 'design';
 import { ButtonSecondary } from 'design/Button';
+import { FeatureName } from 'design/constants';
 import { ChevronLeft, ChevronRight } from 'design/Icon';
 import Image from 'design/Image';
 import { StepComponentProps, StepSlider } from 'design/StepSlider';
@@ -51,12 +52,12 @@ export function PolicyPlaceholder({
   const theme = useTheme();
   return (
     <Box maxWidth={promoImageWidth + 2 * 2} minWidth={300}>
-      <H1 mb={2}>Teleport Identity Security saves you from mistakes.</H1>
+      <H1 mb={2}>{FeatureName.IdentitySecurity} saves you from mistakes.</H1>
       <Flex mb={4} gap={6} flexWrap="wrap" justifyContent="space-between">
         <Box flex="1" minWidth="30ch">
           <P>
-            Teleport Identity Security will visualize resource access paths as
-            you create and edit roles so you can always see what you are
+            {FeatureName.IdentitySecurity} will visualize resource access paths
+            as you create and edit roles so you can always see what you are
             granting before you push a role into production.
           </P>
         </Box>
@@ -107,9 +108,9 @@ function VisualizeAccessPathsPanel(props: StepComponentProps) {
       heading="Visualize access paths granted by your roles"
       content={
         <>
-          See what you’re granting before pushing to prod. Teleport Identity
-          Security will show resource access paths granted by your role before
-          you save changes.
+          See what you’re granting before pushing to prod.{' '}
+          {FeatureName.IdentitySecurity} will show resource access paths granted
+          by your role before you save changes.
         </>
       }
     />
@@ -123,9 +124,9 @@ function VisualizeDiffPanel(props: StepComponentProps) {
       heading="Visualize the diff in permissions as you edit roles"
       content={
         <>
-          Prevent mistakes. Teleport Identity Security shows you what access is
-          removed and what is added as you make edits to a role—all before you
-          save your changes.
+          Prevent mistakes. {FeatureName.IdentitySecurity} shows you what access
+          is removed and what is added as you make edits to a role—all before
+          you save your changes.
         </>
       }
     />
diff --git a/web/packages/teleport/src/components/ToolTipNoPermBadge/ToolTipNoPermBadge.tsx b/web/packages/teleport/src/components/ToolTipNoPermBadge/ToolTipNoPermBadge.tsx
index 55a9206c9b0d4..b362a66411b01 100644
--- a/web/packages/teleport/src/components/ToolTipNoPermBadge/ToolTipNoPermBadge.tsx
+++ b/web/packages/teleport/src/components/ToolTipNoPermBadge/ToolTipNoPermBadge.tsx
@@ -19,6 +19,8 @@
 import React, { PropsWithChildren } from 'react';
 import { useTheme } from 'styled-components';
 
+import { FeatureName } from 'design/constants';
+
 import { ToolTipBadge } from 'teleport/components/ToolTipBadge';
 
 type Props = {
@@ -50,5 +52,5 @@ export const ToolTipNoPermBadge: React.FC<PropsWithChildren<Props>> = ({
 export enum BadgeTitle {
   LackingPermissions = 'Lacking Permissions',
   LackingEnterpriseLicense = 'Enterprise Only',
-  LackingIgs = 'Teleport Identity Only',
+  LackingIgs = `${FeatureName.IdentityGovernance} Only`,
 }


Reviews:
user: login: ryanclark
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-03-18T14:16:56Z
user: login: bl-nero
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-18T14:24:14Z
user: login: gzdunek
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-19T16:22:26Z
user: login: ryanclark
body: LGTM once the comment from @gzdunek has been addressed
state: APPROVED
author_association: MEMBER
submitted_at: 2025-03-19T16:24:46Z

Review comments:
diff_hunk: @@ -0,0 +1,7 @@
+/** User-visible feature names */
+export enum FeatureNames {
+  /** Teleport Identity Security (formerly Teleport Policy) */
+  identitySecurity = 'Teleport Identity Security',
+  /** Teleport Identity Governance (formerly Teleport Identity) */
+  identityGovernance = 'Teleport Identity Governance',
path: web/packages/design/src/constants.ts
user: login: ryanclark
body: These should be capitalised
created_at: 2025-03-18T14:16:56Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,7 @@
+/** User-visible feature names */
+export enum FeatureNames {
+  /** Teleport Identity Security (formerly Teleport Policy) */
+  identitySecurity = 'Teleport Identity Security',
+  /** Teleport Identity Governance (formerly Teleport Identity) */
+  identityGovernance = 'Teleport Identity Governance',
path: web/packages/design/src/constants.ts
user: login: bl-nero
body: Ah, of course.
created_at: 2025-03-18T14:24:14Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,25 @@
+/**
+ * Teleport
+ * Copyright (C) 2025 Gravitational, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/** User-visible feature names */
+export enum FeatureNames {
path: web/packages/design/src/constants.ts
user: login: gzdunek
body: Enums are usually written in the singular form https://www.typescriptlang.org/docs/handbook/enums.html.
created_at: 2025-03-19T16:19:38Z
author_association: CONTRIBUTOR

PR comments:
user: login: bl-nero
created_at: 2025-03-18T14:26:25Z
body: Ouch, looks like I forgot to run tests before pushing the PR. Apologies.
author_association: CONTRIBUTOR
user: login: bl-nero
created_at: 2025-03-18T20:50:01Z
body: Note: to satisfy the Go linter, I had to back out of building log messages with constants.
author_association: CONTRIBUTOR
user: login: bl-nero
created_at: 2025-03-20T12:56:35Z
body: Tested on Storybook and the role editor.
author_association: CONTRIBUTOR
user: login: backport-bot-workflows[bot]
created_at: 2025-03-21T14:56:31Z
body: 
@bl-nero See the table below for backport results.

| Branch | Result |
|--------|--------|
| branch/v15 | [Failed](https://github.com/gravitational/teleport/runs/39186233648?check_suite_focus=true) |
| branch/v16 | [Failed](https://github.com/gravitational/teleport/runs/39186233648?check_suite_focus=true) |
| branch/v17 | [Create PR](https://github.com/gravitational/teleport/compare/branch/v17...bot/backport-53144-branch/v17?body=Backport+%2353144+to+branch%2Fv17&expand=1&labels=no-changelog&title=%5Bv17%5D+Update+references+to+renamed+features) |

author_association: CONTRIBUTOR