diff --git a/README.md b/README.md index ebf3b9b3e1c52..a603917aec70a 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,8 @@ Here is why you might use Teleport: Teleport works with SSH, Kubernetes, databases, RDP, and web services. -* Architecture: https://goteleport.com/docs/reference/architecture/architecture -* Getting Started: https://goteleport.com/docs/getting-started/ +* Architecture: https://goteleport.com/docs/reference/architecture/ +* Getting Started: https://goteleport.com/docs/get-started/
@@ -62,7 +62,7 @@ We have implemented Teleport as a single Go binary that integrates with multiple * [Windows Hosts](https://goteleport.com/docs/enroll-resources/desktop-access/introduction/). * [Networked servers](https://goteleport.com/docs/enroll-resources/server-access/introduction/). -You can set up Teleport as a [Linux daemon](https://goteleport.com/docs/deploy-a-cluster/linux-demo) or a [Kubernetes deployment](https://goteleport.com/docs/deploy-a-cluster/helm-deployments/). +You can set up Teleport as a [Linux daemon](https://goteleport.com/docs/admin-guides/deploy-a-cluster/linux-demo) or a [Kubernetes deployment](https://goteleport.com/docs/admin-guides/deploy-a-cluster/helm-deployments/). Teleport focuses on best practices for infrastructure security: @@ -98,7 +98,7 @@ deployment that makes it easier to enable secure access to your infrastructure. Cloud. Follow our guide to [registering your first -server](https://goteleport.com/docs/choose-an-edition/teleport-cloud/get-started/) +server](https://goteleport.com/docs/get-started/) with Teleport Enterprise Cloud. ## Docker @@ -357,10 +357,10 @@ We had a choice, either start a security consulting business or build a solution ## More Information -* [Teleport Getting Started](https://goteleport.com/docs/getting-started/) +* [Teleport Getting Started](https://goteleport.com/docs/get-started/) * [Teleport Architecture](https://goteleport.com/teleport/docs/architecture/introduction) -* [Reference](https://goteleport.com/docs/reference/introduction) +* [Reference](https://goteleport.com/docs/reference/) * [FAQ](https://goteleport.com/docs/faq) ## Support and Contributing diff --git a/api/client/README.md b/api/client/README.md index 37d94a6e7e002..4ead62cd70632 100644 --- a/api/client/README.md +++ b/api/client/README.md @@ -2,9 +2,9 @@ This package is documented using a combination of [pkg.go.dev](https://pkg.go.de ## Reference -- [Introduction](https://goteleport.com/docs/reference/api/introduction/) -- [Getting Started](https://goteleport.com/docs/reference/api/getting-started/) -- [Architecture](https://goteleport.com/docs/reference/api/architecture/) +- [Introduction](https://goteleport.com/docs/admin-guides/api/) +- [Getting Started](https://goteleport.com/docs/admin-guides/api/getting-started/) +- [Architecture](https://goteleport.com/docs/reference/architecture/api-architecture/) - [pkg.go.dev](https://pkg.go.dev/github.com/gravitational/teleport/api/client/) - [Using the client](https://pkg.go.dev/github.com/gravitational/teleport/api/client#Client/) - [Working with credentials](https://pkg.go.dev/github.com/gravitational/teleport/api/client#Credentials/) diff --git a/api/types/authentication.go b/api/types/authentication.go index d9fb7f924d42c..3e60a5fe11331 100644 --- a/api/types/authentication.go +++ b/api/types/authentication.go @@ -414,7 +414,7 @@ func (c *AuthPreferenceV2) SetConnectorName(cn string) { // GetU2F gets the U2F configuration settings. func (c *AuthPreferenceV2) GetU2F() (*U2F, error) { if c.Spec.U2F == nil { - return nil, trace.NotFound("U2F is not configured in this cluster, please contact your administrator and ask them to follow https://goteleport.com/docs/access-controls/guides/u2f/") + return nil, trace.NotFound("U2F is not configured in this cluster") } return c.Spec.U2F, nil } @@ -426,7 +426,7 @@ func (c *AuthPreferenceV2) SetU2F(u2f *U2F) { func (c *AuthPreferenceV2) GetWebauthn() (*Webauthn, error) { if c.Spec.Webauthn == nil { - return nil, trace.NotFound("Webauthn is not configured in this cluster, please contact your administrator and ask them to follow https://goteleport.com/docs/access-controls/guides/webauthn/") + return nil, trace.NotFound("Webauthn is not configured in this cluster, please contact your administrator and ask them to follow https://goteleport.com/docs/admin-guides/access-controls/guides/webauthn/") } return c.Spec.Webauthn, nil } @@ -718,7 +718,7 @@ func (c *AuthPreferenceV2) CheckAndSetDefaults() error { const deprecationMessage = `` + `Second Factor "u2f" is deprecated and marked for removal, using "webauthn" instead. ` + `Please update your configuration to use WebAuthn. ` + - `Refer to https://goteleport.com/docs/access-controls/guides/webauthn/` + `Refer to https://goteleport.com/docs/admin-guides/access-controls/guides/webauthn/` slog.WarnContext(context.Background(), deprecationMessage) c.Spec.SecondFactor = constants.SecondFactorWebauthn case "": diff --git a/lib/auth/auth_with_roles.go b/lib/auth/auth_with_roles.go index 850f99f71bc12..77e255a0a26aa 100644 --- a/lib/auth/auth_with_roles.go +++ b/lib/auth/auth_with_roles.go @@ -5470,7 +5470,7 @@ func (a *ServerWithRoles) GenerateSnowflakeJWT(ctx context.Context, req *proto.S "user", a.context.User.GetName(), "error", err, ) - return nil, trace.AccessDenied(`access denied. The user must be able to impersonate the builtin role and user "Db" in order to generate database certificates, for more info see https://goteleport.com/docs/database-access/reference/cli/#tctl-auth-sign.`) + return nil, trace.AccessDenied(`access denied. The user must be able to impersonate the builtin role and user "Db" in order to generate database certificates, for more info see https://goteleport.com/docs/reference/agent-services/database-access-reference/cli/#tctl-auth-sign.`) } } return a.authServer.GenerateSnowflakeJWT(ctx, req) diff --git a/lib/auth/init.go b/lib/auth/init.go index b9fd40f1ed576..39f917311bbfc 100644 --- a/lib/auth/init.go +++ b/lib/auth/init.go @@ -731,7 +731,7 @@ func initializeAuthority(ctx context.Context, asrv *Server, caID types.CertAuthI if numKeyTypes > 1 { const msg = "CA contains a combination of key types. If you are attempting to" + " configure HSM or KMS key storage, make sure it is configured on all auth servers in" + - " this cluster and then perform a CA rotation: https://goteleport.com/docs/management/operations/ca-rotation/" + " this cluster and then perform a CA rotation: https://goteleport.com/docs/admin-guides/management/operations/ca-rotation/" asrv.logger.WarnContext(ctx, msg, "ca_type", caID.Type, "key_types", []string{strings.Join(allKeyTypes[:numKeyTypes-1], ", "), allKeyTypes[numKeyTypes-1]}, @@ -783,7 +783,7 @@ auth_service: rp_id: example.com For more information: -- https://goteleport.com/docs/access-controls/guides/webauthn/ +- https://goteleport.com/docs/admin-guides/access-controls/guides/webauthn/ ` func initializeAuthPreference(ctx context.Context, asrv *Server, newAuthPref types.AuthPreference) error { diff --git a/lib/auth/rotate.go b/lib/auth/rotate.go index 7418cff56b780..3489ce74099f3 100644 --- a/lib/auth/rotate.go +++ b/lib/auth/rotate.go @@ -625,7 +625,7 @@ func (a *Server) syncUsableKeysAlert(ctx context.Context, usableKeysResults map[ msg += "The Auth Service will continue signing certificates with raw software keys. " } msg += "These CAs must be rotated to begin using the configured key type. " + - "See https://goteleport.com/docs/management/operations/ca-rotation/" + "See https://goteleport.com/docs/admin-guides/management/operations/ca-rotation/" alert, err := types.NewClusterAlert("ca-key-types/"+a.ServerID, msg, alertOptions...) if err != nil { diff --git a/lib/client/db/dbcmd/error.go b/lib/client/db/dbcmd/error.go index 40faf228516f8..13c394c9712c2 100644 --- a/lib/client/db/dbcmd/error.go +++ b/lib/client/db/dbcmd/error.go @@ -52,7 +52,7 @@ func ConvertCommandError(cmd *exec.Cmd, err error, peakStderr string) error { if strings.Contains(lowerCaseStderr, "access to db denied") { fmtString := "%v: '%s' exited with the above error. Use 'tsh db ls' to see your available logins, " + "or ask your Teleport administrator to grant you access." + - "\nSee https://goteleport.com/docs/database-access/troubleshooting/#access-to-db-denied for more information." + "\nSee https://goteleport.com/docs/enroll-resources/database-access/troubleshooting/#access-to-db-denied for more information." return trace.AccessDenied(fmtString, err, cmd.Path) } return trace.Wrap(err) diff --git a/lib/config/configuration_test.go b/lib/config/configuration_test.go index cfb147bb945ee..c948516d44e0d 100644 --- a/lib/config/configuration_test.go +++ b/lib/config/configuration_test.go @@ -2648,7 +2648,7 @@ func TestAppsCLF(t *testing.T) { outApps: nil, requireError: func(t require.TestingT, err error, i ...interface{}) { require.True(t, trace.IsBadParameter(err)) - require.ErrorContains(t, err, "application name \"-foo\" must be a valid DNS subdomain: https://goteleport.com/docs/application-access/guides/connecting-apps/#application-name") + require.ErrorContains(t, err, "application name \"-foo\" must be a valid DNS subdomain: https://goteleport.com/docs/enroll-resources/application-access/guides/connecting-apps/#application-name") }, }, { diff --git a/lib/config/database.go b/lib/config/database.go index 6780631f0a85e..201a9b4d0ddb0 100644 --- a/lib/config/database.go +++ b/lib/config/database.go @@ -43,7 +43,7 @@ var databaseConfigTemplateFuncs = template.FuncMap{ // databaseAgentConfigurationTemplate database configuration template. var databaseAgentConfigurationTemplate = template.Must(template.New("").Funcs(databaseConfigTemplateFuncs).Parse(`# # Teleport database agent configuration file. -# Configuration reference: https://goteleport.com/docs/database-access/reference/configuration/ +# Configuration reference: https://goteleport.com/docs/reference/agent-services/database-access-reference/configuration/ # version: v3 teleport: @@ -62,7 +62,7 @@ db_service: enabled: true # Matchers for database resources created with "tctl create" command or by the discovery service. - # For more information about dynamic registration: https://goteleport.com/docs/database-access/guides/dynamic-registration/ + # For more information about dynamic registration: https://goteleport.com/docs/enroll-resources/database-access/guides/dynamic-registration/ {{- if .DynamicResourcesLabels }} resources: {{- range $index, $resourceLabel := .DynamicResourcesLabels }} @@ -97,12 +97,7 @@ db_service: aws: {{- else }} # For more information about AWS auto-discovery: - # RDS/Aurora: https://goteleport.com/docs/database-access/guides/rds/ - # RDS Proxy: https://goteleport.com/docs/database-access/guides/rdsproxy/ - # Redshift: https://goteleport.com/docs/database-access/guides/postgres-redshift/ - # Redshift Serverless: https://goteleport.com/docs/database-access/guides/postgres-redshift-serverless/ - # ElastiCache/MemoryDB: https://goteleport.com/docs/database-access/guides/redis-aws/ - # OpenSearch: https://goteleport.com/docs/database-access/guides/aws-opensearch/ + # https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ # # aws: # # Database types. Valid options are: @@ -122,7 +117,7 @@ db_service: {{- end }} {{- if .RDSDiscoveryRegions }} # RDS/Aurora databases auto-discovery. - # For more information about RDS/Aurora auto-discovery: https://goteleport.com/docs/database-access/guides/rds/ + # For more information about RDS/Aurora auto-discovery: https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ - types: ["rds"] # AWS regions to register databases from. regions: @@ -137,7 +132,7 @@ db_service: {{- end }} {{- if .RDSProxyDiscoveryRegions }} # RDS Proxies auto-discovery. - # For more information about RDS Proxy auto-discovery: https://goteleport.com/docs/database-access/guides/rdsproxy/ + # For more information about RDS Proxy auto-discovery: https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ - types: ["rdsproxy"] # AWS regions to register databases from. regions: @@ -152,7 +147,7 @@ db_service: {{- end }} {{- if .RedshiftDiscoveryRegions }} # Redshift databases auto-discovery. - # For more information about Redshift auto-discovery: https://goteleport.com/docs/database-access/guides/postgres-redshift/ + # For more information about Redshift auto-discovery: https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ - types: ["redshift"] # AWS regions to register databases from. regions: @@ -167,7 +162,7 @@ db_service: {{- end }} {{- if .RedshiftServerlessDiscoveryRegions }} # Redshift Serverless databases auto-discovery. - # For more information about Redshift Serverless auto-discovery: https://goteleport.com/docs/database-access/guides/postgres-redshift-serverless/ + # For more information about Redshift Serverless auto-discovery: https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ - types: ["redshift-serverless"] # AWS regions to register databases from. regions: @@ -182,7 +177,7 @@ db_service: {{- end }} {{- if .ElastiCacheDiscoveryRegions }} # ElastiCache databases auto-discovery. - # For more information about ElastiCache auto-discovery: https://goteleport.com/docs/database-access/guides/redis-aws/ + # For more information about ElastiCache auto-discovery: https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ - types: ["elasticache"] # AWS regions to register databases from. regions: @@ -197,7 +192,7 @@ db_service: {{- end }} {{- if .MemoryDBDiscoveryRegions }} # MemoryDB databases auto-discovery. - # For more information about MemoryDB auto-discovery: https://goteleport.com/docs/database-access/guides/redis-aws/ + # For more information about MemoryDB auto-discovery: https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ - types: ["memorydb"] # AWS regions to register databases from. regions: @@ -212,7 +207,7 @@ db_service: {{- end }} {{- if .OpenSearchDiscoveryRegions }} # OpenSearch databases auto-discovery. - # For more information about OpenSearch auto-discovery: https://goteleport.com/docs/database-access/guides/aws-opensearch/ + # For more information about OpenSearch auto-discovery: https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ - types: ["opensearch"] # AWS regions to register databases from. regions: @@ -231,9 +226,9 @@ db_service: azure: {{- else }} # For more information about Azure auto-discovery: - # MySQL/PostgreSQL: https://goteleport.com/docs/database-access/guides/azure-postgres-mysql/ - # Redis: https://goteleport.com/docs/database-access/guides/azure-redis/ - # SQL Server: https://goteleport.com/docs/database-access/guides/azure-sql-server-ad/ + # MySQL/PostgreSQL: https://goteleport.com/docs/enroll-resources/database-access/enroll-azure-databases/azure-postgres-mysql/ + # Redis: https://goteleport.com/docs/enroll-resources/database-access/enroll-azure-databases/azure-redis/ + # SQL Server: https://goteleport.com/docs/enroll-resources/database-access/enroll-azure-databases/azure-sql-server-ad/ # # azure: # # Database types. Valid options are: @@ -257,7 +252,7 @@ db_service: {{- end }} {{- if or .AzureMySQLDiscoveryRegions }} # Azure MySQL databases auto-discovery. - # For more information about Azure MySQL auto-discovery: https://goteleport.com/docs/database-access/guides/azure-postgres-mysql/ + # For more information about Azure MySQL auto-discovery: https://goteleport.com/docs/enroll-resources/database-access/enroll-azure-databases/azure-postgres-mysql/ - types: ["mysql"] # Azure subscription IDs to match. subscriptions: @@ -282,7 +277,7 @@ db_service: {{- end }} {{- if or .AzurePostgresDiscoveryRegions }} # Azure Postgres databases auto-discovery. - # For more information about Azure Postgres auto-discovery: https://goteleport.com/docs/database-access/guides/azure-postgres-mysql/ + # For more information about Azure Postgres auto-discovery: https://goteleport.com/docs/enroll-resources/database-access/enroll-azure-databases/azure-postgres-mysql/ - types: ["postgres"] # Azure subscription IDs to match. subscriptions: @@ -307,7 +302,7 @@ db_service: {{- end }} {{- if or .AzureRedisDiscoveryRegions }} # Azure Cache For Redis databases auto-discovery. - # For more information about Azure Cache for Redis auto-discovery: https://goteleport.com/docs/database-access/guides/azure-redis/ + # For more information about Azure Cache for Redis auto-discovery: https://goteleport.com/docs/enroll-resources/database-access/enroll-azure-databases/azure-redis/ - types: ["redis"] # Azure subscription IDs to match. subscriptions: @@ -332,7 +327,7 @@ db_service: {{- end }} {{- if or .AzureSQLServerDiscoveryRegions }} # Azure SQL server and Managed instances auto-discovery. - # For more information about SQL server and Managed instances auto-discovery: https://goteleport.com/docs/database-access/guides/azure-sql-server-ad/ + # For more information about SQL server and Managed instances auto-discovery: https://goteleport.com/docs/enroll-resources/database-access/enroll-azure-databases/azure-sql-server-ad/ - types: ["sqlserver"] # Azure subscription IDs to match. subscriptions: @@ -453,7 +448,7 @@ db_service: # # databases: # # RDS database static configuration. - # # RDS/Aurora databases Auto-discovery reference: https://goteleport.com/docs/database-access/guides/rds/ + # # RDS/Aurora databases Auto-discovery guide: https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ # - name: rds # description: AWS RDS/Aurora instance configuration example. # # Supported protocols for RDS/Aurora: "postgres" or "mysql" @@ -469,7 +464,7 @@ db_service: # # RDS Instance ID. Only present on RDS databases. # instance_id: rds-instance-1 # # Aurora database static configuration. - # # RDS/Aurora databases Auto-discovery reference: https://goteleport.com/docs/database-access/guides/rds/ + # # RDS/Aurora databases Auto-discovery guide: https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ # - name: aurora # description: AWS Aurora cluster configuration example. # # Supported protocols for RDS/Aurora: "postgres" or "mysql" @@ -485,7 +480,7 @@ db_service: # # Aurora Cluster ID. Only present on Aurora databases. # cluster_id: aurora-cluster-1 # # Redshift database static configuration. - # # For more information: https://goteleport.com/docs/database-access/guides/postgres-redshift/ + # # For more information: https://goteleport.com/docs/enroll-resources/auto-discovery/databases/aws/ # - name: redshift # description: AWS Redshift cluster configuration example. # # Supported protocols for Redshift: "postgres". diff --git a/lib/config/fileconf.go b/lib/config/fileconf.go index fe383d8444e32..a2c1263e218ca 100644 --- a/lib/config/fileconf.go +++ b/lib/config/fileconf.go @@ -1166,7 +1166,7 @@ func (w *Webauthn) Parse() (*types.Webauthn, error) { if w.Disabled { const msg = `The "webauthn.disabled" setting is marked for removal and currently has no effect. ` + `Please update your configuration to use WebAuthn. ` + - `Refer to https://goteleport.com/docs/access-controls/guides/webauthn/` + `Refer to https://goteleport.com/docs/admin-guides/access-controls/guides/webauthn/` slog.WarnContext(context.Background(), msg) } return &types.Webauthn{ diff --git a/lib/devicetrust/native/device_linux.go b/lib/devicetrust/native/device_linux.go index b0771c1bc72b3..35a41731c81a1 100644 --- a/lib/devicetrust/native/device_linux.go +++ b/lib/devicetrust/native/device_linux.go @@ -113,7 +113,7 @@ func rewriteTPMPermissionError(err error) error { return errors.New("" + "Failed to open the TPM device. " + "Consider assigning the user to the `tss` group or creating equivalent udev rules. " + - "See https://goteleport.com/docs/access-controls/device-trust/device-management/#troubleshooting.") + "See https://goteleport.com/docs/admin-guides/access-controls/device-trust/device-management/#troubleshooting.") } // cddFuncs is used to mock various data collection functions for testing. diff --git a/lib/integrations/azureoidc/provision_sso.go b/lib/integrations/azureoidc/provision_sso.go index ad641a25d4d6b..f0a59a362e556 100644 --- a/lib/integrations/azureoidc/provision_sso.go +++ b/lib/integrations/azureoidc/provision_sso.go @@ -31,7 +31,8 @@ func setupSSO(ctx context.Context, graphClient *msgraph.Client, appObjectID stri preferredSingleSignOnMode := "saml" spPatch.PreferredSingleSignOnMode = &preferredSingleSignOnMode // Do not require explicit assignment of the app to use SSO. - // This is per our manual set-up recommendations, see https://goteleport.com/docs/access-controls/sso/azuread/ . + // This is per our manual set-up recommendations, see + // https://goteleport.com/docs/admin-guides/access-controls/sso/azuread/ . appRoleAssignmentRequired := false spPatch.AppRoleAssignmentRequired = &appRoleAssignmentRequired diff --git a/lib/kube/proxy/response_rewriter.go b/lib/kube/proxy/response_rewriter.go index 1060762c16b87..eeef5eb6d7d81 100644 --- a/lib/kube/proxy/response_rewriter.go +++ b/lib/kube/proxy/response_rewriter.go @@ -50,7 +50,8 @@ import ( // // Error from server (Forbidden): "GKE Autopilot denied the request because it impersonates the "system:masters" group. // Your Teleport Roles [role1,role2] have given access to the "system:masters" group for the cluster "". -// For additional information and resolution, please visit https://goteleport.com/docs/kubernetes-access/troubleshooting/#unable-to-connect-to-gke-autopilot-clusters +// For additional information and resolution, please visit +// https://goteleport.com/docs/enroll-resources/kubernetes-access/troubleshooting/#unable-to-connect-to-gke-autopilot-clusters func (f *Forwarder) rewriteResponseForbidden(s *clusterSession) func(r *http.Response) error { return func(r *http.Response) error { const ( @@ -100,7 +101,7 @@ func (f *Forwarder) rewriteResponseForbidden(s *clusterSession) func(r *http.Res "Your Teleport Roles %v have given access to the \"system:masters\" group "+ "for the cluster %q.\n", collectSystemMastersTeleportRoles(s), s.kubeClusterName) + "For additional information and resolution, " + - "please visit https://goteleport.com/docs/kubernetes-access/troubleshooting/#unable-to-connect-to-gke-autopilot-clusters\n", + "please visit https://goteleport.com/docs/enroll-resources/kubernetes-access/troubleshooting/#unable-to-connect-to-gke-autopilot-clusters\n", } // Reset the buffer to write the new response. b.Reset() diff --git a/lib/kube/proxy/response_rewriter_test.go b/lib/kube/proxy/response_rewriter_test.go index 6fbec7639e552..6460eb27e1e28 100644 --- a/lib/kube/proxy/response_rewriter_test.go +++ b/lib/kube/proxy/response_rewriter_test.go @@ -121,7 +121,7 @@ func TestErrorRewriter(t *testing.T) { "\"system:masters\" group.\nYour Teleport Roles [user:user] have " + "given access to the \"system:masters\" group for the cluster " + "\"gke-autopilot\".\nFor additional information and resolution, " + - "please visit https://goteleport.com/docs/kubernetes-access/troubleshooting/#unable-to-connect-to-gke-autopilot-clusters\n", + "please visit https://goteleport.com/docs/enroll-resources/kubernetes-access/troubleshooting/#unable-to-connect-to-gke-autopilot-clusters\n", Reason: metav1.StatusReasonForbidden, Code: http.StatusForbidden, }, diff --git a/lib/puttyhosts/puttyhosts.go b/lib/puttyhosts/puttyhosts.go index 9c794754ec3c6..54af8a116c382 100644 --- a/lib/puttyhosts/puttyhosts.go +++ b/lib/puttyhosts/puttyhosts.go @@ -247,7 +247,7 @@ func FormatHostCAPublicKeysForRegistry(hostCAPublicKeys map[string][]string, hos // See https://the.earth.li/~sgtatham/putty/0.79/htmldoc/Chapter4.html#config-ssh-cert-valid-expr for details. func CheckAndSplitValidityKey(input string, caName string) ([]string, error) { var output []string - docsURL := "https://goteleport.com/docs/connect-your-client/putty/#troubleshooting" + docsURL := "https://goteleport.com/docs/connect-your-client/putty-winscp/#troubleshooting" // if the input string has no content (because the Validity key has no value yet), return the empty list if len(input) == 0 { diff --git a/lib/service/servicecfg/app.go b/lib/service/servicecfg/app.go index 3b0b78df7f6cd..dd769d5d963c0 100644 --- a/lib/service/servicecfg/app.go +++ b/lib/service/servicecfg/app.go @@ -160,7 +160,7 @@ func (a *App) CheckAndSetDefaults() error { // are invalid subdomains because for trusted clusters the name is used to // construct the domain that the application will be available at. if errs := validation.IsDNS1035Label(a.Name); len(errs) > 0 { - return trace.BadParameter("application name %q must be a valid DNS subdomain: https://goteleport.com/docs/application-access/guides/connecting-apps/#application-name", a.Name) + return trace.BadParameter("application name %q must be a valid DNS subdomain: https://goteleport.com/docs/enroll-resources/application-access/guides/connecting-apps/#application-name", a.Name) } // Parse and validate URL. if _, err := url.Parse(a.URI); err != nil { diff --git a/lib/services/app.go b/lib/services/app.go index f3817d02505f4..044e963d687f8 100644 --- a/lib/services/app.go +++ b/lib/services/app.go @@ -250,7 +250,7 @@ func getAppName(serviceName, namespace, clusterName, portName, nameAnnotation st if len(validation.IsDNS1035Label(name)) > 0 { return "", trace.BadParameter( - "application name %q must be a valid DNS subdomain: https://goteleport.com/docs/application-access/guides/connecting-apps/#application-name", name) + "application name %q must be a valid DNS subdomain: https://goteleport.com/docs/enroll-resources/application-access/guides/connecting-apps/#application-name", name) } return name, nil diff --git a/lib/services/role_test.go b/lib/services/role_test.go index 13f2cc3f18c72..8feea55b4000c 100644 --- a/lib/services/role_test.go +++ b/lib/services/role_test.go @@ -2639,7 +2639,7 @@ func TestMFAVerificationInterval(t *testing.T) { } func TestGuessIfAccessIsPossible(t *testing.T) { - // Examples from https://goteleport.com/docs/access-controls/reference/#rbac-for-sessions. + // Examples from https://goteleport.com/docs/reference/access-controls/roles/#rbac-for-sessions. ownSessions, err := types.NewRole("own-sessions", types.RoleSpecV6{ Allow: types.RoleConditions{ Rules: []types.Rule{ diff --git a/lib/srv/app/connections_handler.go b/lib/srv/app/connections_handler.go index 3aea8b22211fc..3fad12e54eaaa 100644 --- a/lib/srv/app/connections_handler.go +++ b/lib/srv/app/connections_handler.go @@ -692,7 +692,7 @@ func (c *ConnectionsHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { // Return a nicer error message for device trust errors. text = `Access to this app requires a trusted device. -See https://goteleport.com/docs/access-controls/device-trust/device-management/#troubleshooting for help. +See https://goteleport.com/docs/admin-guides/access-controls/device-trust/device-management/#troubleshooting for help. ` } else { text = http.StatusText(code) diff --git a/lib/srv/db/cloud/resource_checker_credentials.go b/lib/srv/db/cloud/resource_checker_credentials.go index 2cc126c8eb742..3a35bd7614d30 100644 --- a/lib/srv/db/cloud/resource_checker_credentials.go +++ b/lib/srv/db/cloud/resource_checker_credentials.go @@ -156,7 +156,7 @@ func (c *credentialsChecker) checkAzure(ctx context.Context, database types.Data func (c *credentialsChecker) warn(ctx context.Context, msg string, args ...any) { logger := c.logger.With( - "help_message", `You can update "db_service.resources" section of this agent's config file to filter out unwanted resources (see https://goteleport.com/docs/database-access/reference/configuration/ for more details). If this database is intended to be handled by this agent, please verify that valid cloud credentials are configured for the agent.`, + "help_message", `You can update "db_service.resources" section of this agent's config file to filter out unwanted resources (see https://goteleport.com/docs/reference/agent-services/database-access-reference/configuration/ for more details). If this database is intended to be handled by this agent, please verify that valid cloud credentials are configured for the agent.`, ) if c.isWildcardMatcher() { diff --git a/lib/srv/db/common/errors.go b/lib/srv/db/common/errors.go index 7b8456f5e5b35..98c67b9778151 100644 --- a/lib/srv/db/common/errors.go +++ b/lib/srv/db/common/errors.go @@ -148,7 +148,7 @@ func ConvertConnectError(err error, sessionCtx *Session) error { return trace.ConnectionProblem( err, "Connection Failure. Database service could not validate database’s certificate: certificate expired or is not yet valid. "+ - "More info at: https://goteleport.com/docs/database-access/troubleshooting#certificate-expired-or-is-not-yet-valid", + "More info at: https://goteleport.com/docs/enroll-resources/database-access/troubleshooting#certificate-expired-or-is-not-yet-valid", ) case strings.Contains(errString, "tls: unknown certificate authority"): return trace.AccessDenied("Database cannot validate client certificate generated by database service: %v.", err) @@ -321,7 +321,7 @@ func createAzureAccessDeniedError(err error, sessionCtx *Session) error { %v Make sure that Azure Active Directory auth is configured for MySQL user %q and the Teleport database -agent's service principal. See: https://goteleport.com/docs/database-access/guides/azure-postgres-mysql/ +agent's service principal. See: https://goteleport.com/docs/enroll-resources/database-access/enroll-azure-databases/azure-postgres-mysql/ `, err, sessionCtx.DatabaseUser) case defaults.ProtocolPostgres: return trace.AccessDenied(`Could not connect to database: @@ -329,7 +329,7 @@ agent's service principal. See: https://goteleport.com/docs/database-access/guid %v Make sure that Azure Active Directory auth is configured for Postgres user %q and the Teleport database -agent's service principal. See: https://goteleport.com/docs/database-access/guides/azure-postgres-mysql/ +agent's service principal. See: https://goteleport.com/docs/enroll-resources/database-access/enroll-azure-databases/azure-postgres-mysql/ `, err, sessionCtx.DatabaseUser) default: return trace.Wrap(err) diff --git a/lib/tbot/config/config.go b/lib/tbot/config/config.go index a35c128d2c42f..be6e274ba0b74 100644 --- a/lib/tbot/config/config.go +++ b/lib/tbot/config/config.go @@ -564,7 +564,7 @@ func ReadConfig(reader io.ReadSeeker, manualMigration bool) (*BotConfig, error) case V1, "": if !manualMigration { log.WarnContext( - context.TODO(), "Deprecated config version (V1) detected. Attempting to perform an on-the-fly in-memory migration to latest version. Please persist the config migration by following the guidance at https://goteleport.com/docs/machine-id/reference/v14-upgrade-guide/") + context.TODO(), "Deprecated config version (V1) detected. Attempting to perform an on-the-fly in-memory migration to latest version. Please persist the config migration by following the guidance at https://goteleport.com/docs/reference/machine-id/v14-upgrade-guide/") } config := &configV1{} if err := decoder.Decode(config); err != nil { @@ -574,7 +574,7 @@ func ReadConfig(reader io.ReadSeeker, manualMigration bool) (*BotConfig, error) if err != nil { return nil, trace.WithUserMessage( trace.Wrap(err, "migrating v1 config"), - "Failed to migrate. See https://goteleport.com/docs/machine-id/reference/v14-upgrade-guide/", + "Failed to migrate. See https://goteleport.com/docs/reference/machine-id/v14-upgrade-guide/", ) } return latestConfig, nil diff --git a/lib/tbot/service_diagnostics.go b/lib/tbot/service_diagnostics.go index 56d47e8fb5bec..2a78e684bbd0a 100644 --- a/lib/tbot/service_diagnostics.go +++ b/lib/tbot/service_diagnostics.go @@ -62,7 +62,7 @@ func (s *diagnosticsService) Run(ctx context.Context) error { } mux.Handle("/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusNotFound) - msg := "404 - Not Found\n\nI'm a little tbot,\nshort and stout,\nthe page you seek,\nis not about.\n\nYou can find out more information about the diagnostics service at https://goteleport.com/docs/machine-id/reference/diagnostics-service/" + msg := "404 - Not Found\n\nI'm a little tbot,\nshort and stout,\nthe page you seek,\nis not about.\n\nYou can find out more information about the diagnostics service at https://goteleport.com/docs/reference/machine-id/diagnostics-service/" _, _ = w.Write([]byte(msg)) })) mux.Handle("/livez", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { diff --git a/lib/utils/cli.go b/lib/utils/cli.go index 648cf7095352f..b79c90873db27 100644 --- a/lib/utils/cli.go +++ b/lib/utils/cli.go @@ -499,7 +499,7 @@ type PredicateError struct { } func (p PredicateError) Error() string { - return fmt.Sprintf("%s\nCheck syntax at https://goteleport.com/docs/setup/reference/predicate-language/#resource-filtering", p.Err.Error()) + return fmt.Sprintf("%s\nCheck syntax at https://goteleport.com/docs/reference/predicate-language/#resource-filtering", p.Err.Error()) } // FormatAlert formats and colors the alert message if possible. diff --git a/lib/utils/errors.go b/lib/utils/errors.go index 14e56b188c418..4efc5cd397135 100644 --- a/lib/utils/errors.go +++ b/lib/utils/errors.go @@ -155,5 +155,5 @@ Use "dig +short HOST" to help debug this issue.`, true const ( // SelfSignedCertsMsg is a helper message to point users towards helpful documentation. SelfSignedCertsMsg = "Your proxy certificate is not trusted or expired. " + - "Please update the certificate or follow this guide for self-signed certs: https://goteleport.com/docs/management/admin/self-signed-certs/" + "Please update the certificate or follow this guide for self-signed certs: https://goteleport.com/docs/admin-guides/management/admin/self-signed-certs/" ) diff --git a/lib/web/apiserver_test.go b/lib/web/apiserver_test.go index 71b51568c5610..7dacf0ecbd66b 100644 --- a/lib/web/apiserver_test.go +++ b/lib/web/apiserver_test.go @@ -2796,7 +2796,8 @@ func TestInstallerRepoChannel(t *testing.T) { wc := s.client(t) t.Run("documented variables are injected", func(t *testing.T) { - // Variables documented here: https://goteleport.com/docs/server-access/guides/ec2-discovery/#step-67-optional-customize-the-default-installer-script + // Variables documented here: + // https://goteleport.com/docs/enroll-resources/auto-discovery/servers/ec2-discovery/#step-67-optional-customize-the-default-installer-script err := s.server.Auth().SetInstaller(s.ctx, types.MustNewInstallerV1("custom", `#!/usr/bin/env bash echo {{ .PublicProxyAddr }} echo Teleport-{{ .MajorVersion }} @@ -2870,7 +2871,7 @@ echo AutomaticUpgrades: {{ .AutomaticUpgrades }} wc := s.client(t) t.Run("documented variables are injected", func(t *testing.T) { - // Variables documented here: https://goteleport.com/docs/server-access/guides/ec2-discovery/#step-67-optional-customize-the-default-installer-script + // Variables documented here: https://goteleport.com/docs/enroll-resources/auto-discovery/servers/ec2-discovery/#step-67-optional-customize-the-default-installer-script err := s.server.Auth().SetInstaller(s.ctx, types.MustNewInstallerV1("custom", `#!/usr/bin/env bash echo {{ .PublicProxyAddr }} echo Teleport-{{ .MajorVersion }} @@ -2927,7 +2928,7 @@ echo AutomaticUpgrades: {{ .AutomaticUpgrades }} wc := s.client(t) t.Run("documented variables are injected", func(t *testing.T) { - // Variables documented here: https://goteleport.com/docs/server-access/guides/ec2-discovery/#step-67-optional-customize-the-default-installer-script + // Variables documented here: https://goteleport.com/docs/enroll-resources/auto-discovery/servers/ec2-discovery/#step-67-optional-customize-the-default-installer-script err := s.server.Auth().SetInstaller(s.ctx, types.MustNewInstallerV1("custom", `#!/usr/bin/env bash echo {{ .PublicProxyAddr }} echo Teleport-{{ .MajorVersion }} diff --git a/lib/web/app/middleware.go b/lib/web/app/middleware.go index 7b50d5c0c1c87..a08c9cd8cf9f3 100644 --- a/lib/web/app/middleware.go +++ b/lib/web/app/middleware.go @@ -77,7 +77,7 @@ func (h *Handler) redirectToLauncher(w http.ResponseWriter, r *http.Request, p l // admins as well. const msg = "Application Service requires public_addr to be set in the Teleport Proxy Service configuration. " + "Please contact your Teleport cluster administrator or refer to " + - "https://goteleport.com/docs/application-access/guides/connecting-apps/#start-authproxy-service." + "https://goteleport.com/docs/enroll-resources/application-access/guides/connecting-apps/." h.logger.ErrorContext(r.Context(), msg) return trace.BadParameter("public address of the proxy is not set") } diff --git a/lib/web/join_tokens.go b/lib/web/join_tokens.go index d54269df7c381..76271eec1f0ee 100644 --- a/lib/web/join_tokens.go +++ b/lib/web/join_tokens.go @@ -636,7 +636,7 @@ func getJoinScript(ctx context.Context, settings scriptSettings, m nodeAPIGetter // we need to return an error. if settings.appInstallMode { if errs := validation.IsDNS1035Label(settings.appName); len(errs) > 0 { - return "", trace.BadParameter("appName %q must be a valid DNS subdomain: https://goteleport.com/docs/application-access/guides/connecting-apps/#application-name", settings.appName) + return "", trace.BadParameter("appName %q must be a valid DNS subdomain: https://goteleport.com/docs/enroll-resources/application-access/guides/connecting-apps/#application-name", settings.appName) } if !appURIPattern.MatchString(settings.appURI) { return "", trace.BadParameter("appURI %q contains invalid characters", settings.appURI) diff --git a/lib/web/scripts/database/sqlserver/configure-ad.ps1 b/lib/web/scripts/database/sqlserver/configure-ad.ps1 index 451061cc302e3..9708aa6699acc 100644 --- a/lib/web/scripts/database/sqlserver/configure-ad.ps1 +++ b/lib/web/scripts/database/sqlserver/configure-ad.ps1 @@ -115,7 +115,7 @@ $OUTPUT=@' Use the following teleport.yaml to start a Database Access Service. For a detailed configuration reference, see -https://goteleport.com/docs/database-access/reference/configuration/ +https://goteleport.com/docs/reference/agent-services/database-access-reference/configuration/ {0} diff --git a/lib/web/scripts/node-join/install.sh b/lib/web/scripts/node-join/install.sh index 64c7cc6b6aab2..735573048ca0c 100755 --- a/lib/web/scripts/node-join/install.sh +++ b/lib/web/scripts/node-join/install.sh @@ -597,7 +597,7 @@ print_welcome_message() { fi log_only "" log_only "You can see this node connected in the Teleport web UI or 'tsh ls' with the name '${NODENAME}'" - log_only "Find more details on how to use Teleport here: https://goteleport.com/docs/user-manual/" + log_only "Find more details on how to use Teleport here: https://goteleport.com/docs/" else log_important "The Teleport service was installed, but it does not appear to have started successfully." if is_using_systemd; then diff --git a/web/packages/teleport/src/Apps/AddApp/Manually.tsx b/web/packages/teleport/src/Apps/AddApp/Manually.tsx index d39a773ac865a..bbc855dd127bc 100644 --- a/web/packages/teleport/src/Apps/AddApp/Manually.tsx +++ b/web/packages/teleport/src/Apps/AddApp/Manually.tsx @@ -132,7 +132,7 @@ const StepsWithoutToken = ({ tshLoginCmd, host }: StepsWithoutTokenProps) => ( {`* Note: For a self-hosted Teleport version, you may need to update DNS and obtain a TLS certificate for this application. Learn more about application access `} here diff --git a/web/packages/teleport/src/AuthConnectors/AuthConnectors.tsx b/web/packages/teleport/src/AuthConnectors/AuthConnectors.tsx index 6e7dace0550dc..2a1e7b9031a3a 100644 --- a/web/packages/teleport/src/AuthConnectors/AuthConnectors.tsx +++ b/web/packages/teleport/src/AuthConnectors/AuthConnectors.tsx @@ -102,7 +102,7 @@ export function AuthConnectors(props: State) { view our documentation diff --git a/web/packages/teleport/src/Bots/Add/AddBotsPicker.tsx b/web/packages/teleport/src/Bots/Add/AddBotsPicker.tsx index 1c699409f5f3c..923038728b3e5 100644 --- a/web/packages/teleport/src/Bots/Add/AddBotsPicker.tsx +++ b/web/packages/teleport/src/Bots/Add/AddBotsPicker.tsx @@ -61,70 +61,70 @@ const integrations: BotIntegration[] = [ }, { title: 'CircleCI', - link: 'https://goteleport.com/docs/machine-id/deployment/circleci/', + link: 'https://goteleport.com/docs/enroll-resources/machine-id/deployment/circleci/', icon: , kind: IntegrationEnrollKind.MachineIDCircleCI, guided: false, }, { title: 'GitLab CI/CD', - link: 'https://goteleport.com/docs/machine-id/deployment/gitlab/', + link: 'https://goteleport.com/docs/enroll-resources/machine-id/deployment/gitlab/', icon: , kind: IntegrationEnrollKind.MachineIDGitLab, guided: false, }, { title: 'Jenkins', - link: 'https://goteleport.com/docs/machine-id/deployment/jenkins/', + link: 'https://goteleport.com/docs/enroll-resources/machine-id/deployment/jenkins/', icon: , kind: IntegrationEnrollKind.MachineIDJenkins, guided: false, }, { title: 'Ansible', - link: 'https://goteleport.com/docs/machine-id/access-guides/ansible/', + link: 'https://goteleport.com/docs/enroll-resources/machine-id/access-guides/ansible/', icon: , kind: IntegrationEnrollKind.MachineIDAnsible, guided: false, }, { title: 'Spacelift', - link: 'https://goteleport.com/docs/machine-id/deployment/spacelift/', + link: 'https://goteleport.com/docs/admin-guides/infrastructure-as-code/terraform-provider/spacelift/', icon: , kind: IntegrationEnrollKind.MachineIDSpacelift, guided: false, }, { title: 'AWS', - link: 'https://goteleport.com/docs/machine-id/deployment/aws/', + link: 'https://goteleport.com/docs/enroll-resources/machine-id/deployment/aws/', icon: , kind: IntegrationEnrollKind.MachineIDAWS, guided: false, }, { title: 'GCP', - link: 'https://goteleport.com/docs/machine-id/deployment/gcp/', + link: 'https://goteleport.com/docs/enroll-resources/machine-id/deployment/gcp/', icon: , kind: IntegrationEnrollKind.MachineIDGCP, guided: false, }, { title: 'Azure', - link: 'https://goteleport.com/docs/machine-id/deployment/azure/', + link: 'https://goteleport.com/docs/enroll-resources/machine-id/deployment/azure/', icon: , kind: IntegrationEnrollKind.MachineIDAzure, guided: false, }, { title: 'Kubernetes', - link: 'https://goteleport.com/docs/machine-id/deployment/kubernetes/', + link: 'https://goteleport.com/docs/enroll-resources/machine-id/deployment/kubernetes/', icon: , kind: IntegrationEnrollKind.MachineIDKubernetes, guided: false, }, { title: 'Generic', - link: 'https://goteleport.com/docs/machine-id/getting-started/', + link: 'https://goteleport.com/docs/enroll-resources/machine-id/getting-started/', icon: , kind: IntegrationEnrollKind.MachineID, guided: false, diff --git a/web/packages/teleport/src/Databases/ConnectDialog/ConnectDialog.tsx b/web/packages/teleport/src/Databases/ConnectDialog/ConnectDialog.tsx index ea6b2368591b5..4eacb40d31889 100644 --- a/web/packages/teleport/src/Databases/ConnectDialog/ConnectDialog.tsx +++ b/web/packages/teleport/src/Databases/ConnectDialog/ConnectDialog.tsx @@ -143,7 +143,7 @@ export default function ConnectDialog({ {`* Note: To connect with a GUI database client, see our `} diff --git a/web/packages/teleport/src/Discover/Kubernetes/SelfHosted/HelmChart/HelmChart.tsx b/web/packages/teleport/src/Discover/Kubernetes/SelfHosted/HelmChart/HelmChart.tsx index 454e7bd8f57a4..031b048a836bb 100644 --- a/web/packages/teleport/src/Discover/Kubernetes/SelfHosted/HelmChart/HelmChart.tsx +++ b/web/packages/teleport/src/Discover/Kubernetes/SelfHosted/HelmChart/HelmChart.tsx @@ -231,7 +231,7 @@ const Heading = () => {
For all the available values of the helm chart see the{' '} the documentation diff --git a/web/packages/teleport/src/Discover/SelectResource/resources.tsx b/web/packages/teleport/src/Discover/SelectResource/resources.tsx index e8d26e83a0e84..26d776dcec133 100644 --- a/web/packages/teleport/src/Discover/SelectResource/resources.tsx +++ b/web/packages/teleport/src/Discover/SelectResource/resources.tsx @@ -154,7 +154,7 @@ export const WINDOWS_DESKTOPS: ResourceSpec[] = [ icon: 'windows', event: DiscoverEventResource.WindowsDesktop, unguidedLink: - 'https://goteleport.com/docs/desktop-access/active-directory/', + 'https://goteleport.com/docs/enroll-resources/desktop-access/active-directory/', }, { name: 'Local Users', @@ -162,7 +162,7 @@ export const WINDOWS_DESKTOPS: ResourceSpec[] = [ keywords: ['windows', 'desktop', 'non-ad', 'local'], icon: 'windows', event: DiscoverEventResource.WindowsDesktopNonAD, - unguidedLink: 'https://goteleport.com/docs/desktop-access/getting-started/', + unguidedLink: 'https://goteleport.com/docs/enroll-resources/desktop-access/getting-started/', }, ]; diff --git a/web/packages/teleport/src/Roles/Roles.tsx b/web/packages/teleport/src/Roles/Roles.tsx index fd138d323d91f..2a86555c44070 100644 --- a/web/packages/teleport/src/Roles/Roles.tsx +++ b/web/packages/teleport/src/Roles/Roles.tsx @@ -239,7 +239,7 @@ export function Roles(props: State) { the cluster management (RBAC) {' '} @@ -252,7 +252,7 @@ export function Roles(props: State) { {!useNewRoleEditor && (resources.status === 'creating' || resources.status === 'editing') && ( { return { getStarted: withUTM(`https://goteleport.com/docs/get-started/`), tshGuide: withUTM(`https://goteleport.com/docs/connect-your-client/tsh/`), - adminGuide: withUTM(`https://goteleport.com/docs/management/admin/`), + adminGuide: withUTM(`https://goteleport.com/docs/admin-guides/management/admin/`), faq: withUTM(`https://goteleport.com/docs/faq`), troubleshooting: withUTM( - `https://goteleport.com/docs/management/admin/troubleshooting/` + `https://goteleport.com/docs/admin-guides/management/admin/troubleshooting/` ), // there isn't a version-specific changelog page @@ -332,8 +332,8 @@ const DownloadLink = ({ if (isEnterprise) { return ( ); } diff --git a/web/packages/teleport/src/TrustedClusters/TrustedClusters.tsx b/web/packages/teleport/src/TrustedClusters/TrustedClusters.tsx index 006f3018026b0..c8f4c405c330f 100644 --- a/web/packages/teleport/src/TrustedClusters/TrustedClusters.tsx +++ b/web/packages/teleport/src/TrustedClusters/TrustedClusters.tsx @@ -137,7 +137,7 @@ const Info = props => ( Please{' '} view our documentation diff --git a/web/packages/teleport/src/TrustedClusters/templates/trusted_cluster_enterprise.yaml b/web/packages/teleport/src/TrustedClusters/templates/trusted_cluster_enterprise.yaml index 71bd422999111..d66586ec86167 100644 --- a/web/packages/teleport/src/TrustedClusters/templates/trusted_cluster_enterprise.yaml +++ b/web/packages/teleport/src/TrustedClusters/templates/trusted_cluster_enterprise.yaml @@ -13,7 +13,7 @@ spec: # this is the only field that can be changed later. enabled: true # the token expected by the "root" cluster: - # https://goteleport.com/docs/management/admin/trustedclusters/#step-36-establish-trust-between-clusters + # https://goteleport.com/docs/admin-guides/management/admin/trustedclusters/#step-36-establish-trust-between-clusters token: secret-token-from-root-cluster # the address in 'host:port' form of the reverse tunnel listening port on the # "root" proxy server: diff --git a/web/packages/teleport/src/components/AgentErrorMessage/AgentErrorMessage.tsx b/web/packages/teleport/src/components/AgentErrorMessage/AgentErrorMessage.tsx index 66d1808a4682f..829f919baca0f 100644 --- a/web/packages/teleport/src/components/AgentErrorMessage/AgentErrorMessage.tsx +++ b/web/packages/teleport/src/components/AgentErrorMessage/AgentErrorMessage.tsx @@ -20,7 +20,7 @@ import { Link } from 'design'; import { Danger } from 'design/Alert'; const PREDICATE_DOC = - 'https://goteleport.com/docs/setup/reference/predicate-language/#resource-filtering'; + 'https://goteleport.com/docs/reference/predicate-language/#resource-filtering'; export default function AgentErrorMessage({ message = '' }) { const showDocLink = message.includes('predicate expression'); diff --git a/web/packages/teleport/src/components/Empty/Empty.test.tsx b/web/packages/teleport/src/components/Empty/Empty.test.tsx index 5c164f958535e..850d0223cc2dd 100644 --- a/web/packages/teleport/src/components/Empty/Empty.test.tsx +++ b/web/packages/teleport/src/components/Empty/Empty.test.tsx @@ -53,7 +53,7 @@ const props: Props = { title: 'Add your first Linux server to Teleport', byline: 'Teleport Server Access consolidates SSH access across all environments.', - docsURL: 'https://goteleport.com/docs/server-access/getting-started/', + docsURL: 'https://goteleport.com/docs/enroll-resources/server-access/getting-started/', readOnly: { title: 'No Servers Found', resource: 'servers', diff --git a/web/packages/teleport/src/components/LabelSelector/LabelSelector.tsx b/web/packages/teleport/src/components/LabelSelector/LabelSelector.tsx index 7c093bc709e78..94327360fa23a 100644 --- a/web/packages/teleport/src/components/LabelSelector/LabelSelector.tsx +++ b/web/packages/teleport/src/components/LabelSelector/LabelSelector.tsx @@ -107,14 +107,14 @@ function LabelSelector({ onChange }: LabelSelectorProps) { “env: prod”. For more information, check out our documentation on{' '} RBAC {' '} and{' '} @@ -126,7 +126,7 @@ function LabelSelector({ onChange }: LabelSelectorProps) { View Documentation diff --git a/web/packages/teleport/src/ironrdp/src/lib.rs b/web/packages/teleport/src/ironrdp/src/lib.rs index 9eb001862d7b0..13f7665cdd45a 100644 --- a/web/packages/teleport/src/ironrdp/src/lib.rs +++ b/web/packages/teleport/src/ironrdp/src/lib.rs @@ -272,7 +272,7 @@ impl FastPathProcessor { Bitmap => Err(JsValue::from_str(concat!( "Teleport requires the RemoteFX codec for Windows desktop sessions, ", "but it is not currently enabled. For detailed instructions, see:\n", - "https://goteleport.com/docs/desktop-access/active-directory/#enable-remotefx" + "https://goteleport.com/docs/enroll-resources/desktop-access/active-directory/#enable-remotefx" ))), _ => Ok(()), } diff --git a/web/packages/teleterm/src/mainProcess/mainProcess.ts b/web/packages/teleterm/src/mainProcess/mainProcess.ts index e006ab0004a2f..fcbcb83fb7f74 100644 --- a/web/packages/teleterm/src/mainProcess/mainProcess.ts +++ b/web/packages/teleterm/src/mainProcess/mainProcess.ts @@ -637,7 +637,7 @@ export default class MainProcess { const TSHD_LOGGER_NAME = 'tshd'; const SHARED_PROCESS_LOGGER_NAME = 'shared'; -const DOCS_URL = 'https://goteleport.com/docs/use-teleport/teleport-connect/'; +const DOCS_URL = 'https://goteleport.com/docs/connect-your-client/teleport-connect/'; function openDocsUrl() { shell.openExternal(DOCS_URL); diff --git a/web/packages/teleterm/src/ui/DocumentGateway/OnlineDocumentGateway.tsx b/web/packages/teleterm/src/ui/DocumentGateway/OnlineDocumentGateway.tsx index df80c599cea92..154b2c1b27ed8 100644 --- a/web/packages/teleterm/src/ui/DocumentGateway/OnlineDocumentGateway.tsx +++ b/web/packages/teleterm/src/ui/DocumentGateway/OnlineDocumentGateway.tsx @@ -135,7 +135,7 @@ export function OnlineDocumentGateway(props: { The connection is made through an authenticated proxy so no extra credentials are necessary. See{' '} the documentation