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