diff --git a/api/go.mod b/api/go.mod index eb0deb0a084ce..39a3108a635f0 100644 --- a/api/go.mod +++ b/api/go.mod @@ -24,6 +24,7 @@ require ( golang.org/x/crypto v0.13.0 golang.org/x/exp v0.0.0-20230811145659-89c5cff77bcb golang.org/x/net v0.15.0 + golang.org/x/term v0.12.0 google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 google.golang.org/grpc v1.58.2 google.golang.org/protobuf v1.31.0 @@ -45,7 +46,6 @@ require ( github.com/russellhaering/goxmldsig v1.4.0 // indirect go.opentelemetry.io/otel/metric v1.18.0 // indirect golang.org/x/sys v0.12.0 // indirect - golang.org/x/term v0.12.0 // indirect golang.org/x/text v0.13.0 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/lib/utils/prompt/confirmation.go b/api/utils/prompt/confirmation.go similarity index 100% rename from lib/utils/prompt/confirmation.go rename to api/utils/prompt/confirmation.go diff --git a/lib/utils/prompt/confirmation_test.go b/api/utils/prompt/confirmation_test.go similarity index 100% rename from lib/utils/prompt/confirmation_test.go rename to api/utils/prompt/confirmation_test.go diff --git a/lib/utils/prompt/context_reader.go b/api/utils/prompt/context_reader.go similarity index 100% rename from lib/utils/prompt/context_reader.go rename to api/utils/prompt/context_reader.go diff --git a/lib/utils/prompt/context_reader_test.go b/api/utils/prompt/context_reader_test.go similarity index 100% rename from lib/utils/prompt/context_reader_test.go rename to api/utils/prompt/context_reader_test.go diff --git a/lib/utils/prompt/mock.go b/api/utils/prompt/mock.go similarity index 100% rename from lib/utils/prompt/mock.go rename to api/utils/prompt/mock.go diff --git a/lib/utils/prompt/stdin.go b/api/utils/prompt/stdin.go similarity index 100% rename from lib/utils/prompt/stdin.go rename to api/utils/prompt/stdin.go diff --git a/examples/dynamoathenamigration/migration.go b/examples/dynamoathenamigration/migration.go index 4a007441ff237..8450798bd82af 100644 --- a/examples/dynamoathenamigration/migration.go +++ b/examples/dynamoathenamigration/migration.go @@ -48,9 +48,9 @@ import ( "golang.org/x/sync/errgroup" apievents "github.com/gravitational/teleport/api/types/events" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/lib/events" "github.com/gravitational/teleport/lib/events/athena" - "github.com/gravitational/teleport/lib/utils/prompt" ) type Config struct { diff --git a/examples/dynamoathenamigration/migration_test.go b/examples/dynamoathenamigration/migration_test.go index 408ff669d06c2..b4bf9538af087 100644 --- a/examples/dynamoathenamigration/migration_test.go +++ b/examples/dynamoathenamigration/migration_test.go @@ -38,8 +38,8 @@ import ( "github.com/stretchr/testify/require" apievents "github.com/gravitational/teleport/api/types/events" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/lib/utils" - "github.com/gravitational/teleport/lib/utils/prompt" ) func TestMigrateProcessDataObjects(t *testing.T) { diff --git a/integration/integration_test.go b/integration/integration_test.go index be8449195d0a8..f33742a1ebdcc 100644 --- a/integration/integration_test.go +++ b/integration/integration_test.go @@ -71,6 +71,7 @@ import ( apievents "github.com/gravitational/teleport/api/types/events" apiutils "github.com/gravitational/teleport/api/utils" "github.com/gravitational/teleport/api/utils/keypaths" + "github.com/gravitational/teleport/api/utils/prompt" apisshutils "github.com/gravitational/teleport/api/utils/sshutils" "github.com/gravitational/teleport/integration/helpers" "github.com/gravitational/teleport/lib" @@ -98,7 +99,6 @@ import ( "github.com/gravitational/teleport/lib/sshutils" "github.com/gravitational/teleport/lib/tlsca" "github.com/gravitational/teleport/lib/utils" - "github.com/gravitational/teleport/lib/utils/prompt" "github.com/gravitational/teleport/lib/web" ) diff --git a/lib/auth/webauthncli/prompt.go b/lib/auth/webauthncli/prompt.go index 32b7e0948376f..943df0efaa46f 100644 --- a/lib/auth/webauthncli/prompt.go +++ b/lib/auth/webauthncli/prompt.go @@ -24,8 +24,8 @@ import ( "github.com/gravitational/trace" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/lib/auth/touchid" - "github.com/gravitational/teleport/lib/utils/prompt" ) // DefaultPrompt is a default implementation for LoginPrompt and diff --git a/lib/auth/webauthncli/prompt_test.go b/lib/auth/webauthncli/prompt_test.go index bfd25efa4bc2b..da392e7097bd5 100644 --- a/lib/auth/webauthncli/prompt_test.go +++ b/lib/auth/webauthncli/prompt_test.go @@ -23,9 +23,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/lib/auth/touchid" wancli "github.com/gravitational/teleport/lib/auth/webauthncli" - "github.com/gravitational/teleport/lib/utils/prompt" ) func TestDefaultPrompt_PromptCredential(t *testing.T) { diff --git a/lib/client/api.go b/lib/client/api.go index f21168985902d..58405eea6765a 100644 --- a/lib/client/api.go +++ b/lib/client/api.go @@ -63,6 +63,7 @@ import ( apiutils "github.com/gravitational/teleport/api/utils" "github.com/gravitational/teleport/api/utils/grpc/interceptors" "github.com/gravitational/teleport/api/utils/keys" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/lib/auth" "github.com/gravitational/teleport/lib/auth/native" "github.com/gravitational/teleport/lib/auth/touchid" @@ -87,7 +88,6 @@ import ( "github.com/gravitational/teleport/lib/tlsca" "github.com/gravitational/teleport/lib/utils" "github.com/gravitational/teleport/lib/utils/agentconn" - "github.com/gravitational/teleport/lib/utils/prompt" "github.com/gravitational/teleport/lib/utils/proxy" ) diff --git a/lib/client/api_login_test.go b/lib/client/api_login_test.go index 93ebae71ee083..a420d3c9ed478 100644 --- a/lib/client/api_login_test.go +++ b/lib/client/api_login_test.go @@ -39,6 +39,7 @@ import ( "github.com/gravitational/teleport/api/constants" devicepb "github.com/gravitational/teleport/api/gen/proto/go/teleport/devicetrust/v1" "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/lib/auth" "github.com/gravitational/teleport/lib/auth/mocku2f" wancli "github.com/gravitational/teleport/lib/auth/webauthncli" @@ -51,7 +52,6 @@ import ( "github.com/gravitational/teleport/lib/service/servicecfg" "github.com/gravitational/teleport/lib/services" "github.com/gravitational/teleport/lib/utils" - "github.com/gravitational/teleport/lib/utils/prompt" ) func TestTeleportClient_Login_local(t *testing.T) { diff --git a/lib/client/identityfile/identity.go b/lib/client/identityfile/identity.go index bf70211306636..c54fdbee9f520 100644 --- a/lib/client/identityfile/identity.go +++ b/lib/client/identityfile/identity.go @@ -39,12 +39,12 @@ import ( "github.com/gravitational/teleport/api/profile" "github.com/gravitational/teleport/api/utils/keypaths" "github.com/gravitational/teleport/api/utils/keys" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/lib/client" "github.com/gravitational/teleport/lib/kube/kubeconfig" "github.com/gravitational/teleport/lib/sshutils" "github.com/gravitational/teleport/lib/tlsca" "github.com/gravitational/teleport/lib/utils" - "github.com/gravitational/teleport/lib/utils/prompt" ) // Format describes possible file formats how a user identity can be stored. diff --git a/lib/client/keyagent.go b/lib/client/keyagent.go index 39892df9d05a9..678cdf4677de2 100644 --- a/lib/client/keyagent.go +++ b/lib/client/keyagent.go @@ -34,10 +34,10 @@ import ( "github.com/gravitational/teleport" "github.com/gravitational/teleport/api/constants" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/api/utils/sshutils" "github.com/gravitational/teleport/lib/auth" "github.com/gravitational/teleport/lib/tlsca" - "github.com/gravitational/teleport/lib/utils/prompt" ) // LocalKeyAgent holds Teleport certificates for a user connected to a cluster. diff --git a/lib/client/mfa/prompt.go b/lib/client/mfa/prompt.go index 3e3cf180a39c9..d270f296b7a8a 100644 --- a/lib/client/mfa/prompt.go +++ b/lib/client/mfa/prompt.go @@ -31,10 +31,10 @@ import ( "github.com/gravitational/teleport" "github.com/gravitational/teleport/api/client/proto" "github.com/gravitational/teleport/api/observability/tracing" + "github.com/gravitational/teleport/api/utils/prompt" wancli "github.com/gravitational/teleport/lib/auth/webauthncli" wantypes "github.com/gravitational/teleport/lib/auth/webauthntypes" "github.com/gravitational/teleport/lib/auth/webauthnwin" - "github.com/gravitational/teleport/lib/utils/prompt" ) // AdminMFAHintBeforePrompt is a hint used for MFA prompts for admin-level API requests. diff --git a/lib/client/mfa_test.go b/lib/client/mfa_test.go index a47812cd9e9b8..97819109ed04d 100644 --- a/lib/client/mfa_test.go +++ b/lib/client/mfa_test.go @@ -24,10 +24,10 @@ import ( "github.com/gravitational/teleport/api/client/proto" wanpb "github.com/gravitational/teleport/api/types/webauthn" + "github.com/gravitational/teleport/api/utils/prompt" wancli "github.com/gravitational/teleport/lib/auth/webauthncli" wantypes "github.com/gravitational/teleport/lib/auth/webauthntypes" "github.com/gravitational/teleport/lib/client/mfa" - "github.com/gravitational/teleport/lib/utils/prompt" ) // TestPromptMFAChallenge_usingNonRegisteredDevice tests a specific MFA scenario diff --git a/tool/teleport/common/configurator.go b/tool/teleport/common/configurator.go index bb80e021def7e..1cff4cf4ac830 100644 --- a/tool/teleport/common/configurator.go +++ b/tool/teleport/common/configurator.go @@ -25,12 +25,12 @@ import ( "golang.org/x/exp/slices" "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/lib/config" "github.com/gravitational/teleport/lib/configurators" awsconfigurators "github.com/gravitational/teleport/lib/configurators/aws" "github.com/gravitational/teleport/lib/configurators/configuratorbuilder" "github.com/gravitational/teleport/lib/service/servicecfg" - "github.com/gravitational/teleport/lib/utils/prompt" ) // awsDatabaseTypes list of databases supported on the configurator. diff --git a/tool/tsh/common/mfa.go b/tool/tsh/common/mfa.go index a7b85759a8177..5169c1d6ed5bd 100644 --- a/tool/tsh/common/mfa.go +++ b/tool/tsh/common/mfa.go @@ -35,6 +35,7 @@ import ( "github.com/gravitational/teleport/api/client/proto" "github.com/gravitational/teleport/api/constants" "github.com/gravitational/teleport/api/types" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/lib/asciitable" "github.com/gravitational/teleport/lib/auth/touchid" wancli "github.com/gravitational/teleport/lib/auth/webauthncli" @@ -44,7 +45,6 @@ import ( "github.com/gravitational/teleport/lib/client/mfa" "github.com/gravitational/teleport/lib/defaults" "github.com/gravitational/teleport/lib/utils" - "github.com/gravitational/teleport/lib/utils/prompt" "github.com/alecthomas/kingpin/v2" "github.com/ghodss/yaml" diff --git a/tool/tsh/common/tsh.go b/tool/tsh/common/tsh.go index f7bf8dbb3c87f..480e8b21ac611 100644 --- a/tool/tsh/common/tsh.go +++ b/tool/tsh/common/tsh.go @@ -61,6 +61,7 @@ import ( apievents "github.com/gravitational/teleport/api/types/events" "github.com/gravitational/teleport/api/types/wrappers" "github.com/gravitational/teleport/api/utils/keys" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/lib/asciitable" "github.com/gravitational/teleport/lib/auth" wancli "github.com/gravitational/teleport/lib/auth/webauthncli" @@ -81,7 +82,6 @@ import ( "github.com/gravitational/teleport/lib/tlsca" "github.com/gravitational/teleport/lib/utils" "github.com/gravitational/teleport/lib/utils/mlock" - "github.com/gravitational/teleport/lib/utils/prompt" "github.com/gravitational/teleport/tool/common" ) diff --git a/tool/tsh/common/tsh_test.go b/tool/tsh/common/tsh_test.go index 45127074534d1..321518ad19402 100644 --- a/tool/tsh/common/tsh_test.go +++ b/tool/tsh/common/tsh_test.go @@ -63,6 +63,7 @@ import ( apiutils "github.com/gravitational/teleport/api/utils" "github.com/gravitational/teleport/api/utils/keypaths" "github.com/gravitational/teleport/api/utils/keys" + "github.com/gravitational/teleport/api/utils/prompt" "github.com/gravitational/teleport/integration/kube" "github.com/gravitational/teleport/lib" "github.com/gravitational/teleport/lib/auth" @@ -84,7 +85,6 @@ import ( "github.com/gravitational/teleport/lib/sshutils/x11" "github.com/gravitational/teleport/lib/tlsca" "github.com/gravitational/teleport/lib/utils" - "github.com/gravitational/teleport/lib/utils/prompt" "github.com/gravitational/teleport/tool/common" )