aboutsummaryrefslogtreecommitdiffstats
path: root/client/go/cmd/login.go
diff options
context:
space:
mode:
Diffstat (limited to 'client/go/cmd/login.go')
-rw-r--r--client/go/cmd/login.go34
1 files changed, 34 insertions, 0 deletions
diff --git a/client/go/cmd/login.go b/client/go/cmd/login.go
new file mode 100644
index 00000000000..767d462b0be
--- /dev/null
+++ b/client/go/cmd/login.go
@@ -0,0 +1,34 @@
+package cmd
+
+import (
+ "github.com/spf13/cobra"
+ "github.com/vespa-engine/vespa/client/go/cli"
+ "github.com/vespa-engine/vespa/client/go/vespa"
+)
+
+func init() {
+ if vespa.Auth0AccessTokenEnabled() {
+ rootCmd.AddCommand(loginCmd)
+ }
+}
+
+var loginCmd = &cobra.Command{
+ Use: "login",
+ Args: cobra.NoArgs,
+ Short: "Authenticate the Vespa CLI",
+ Example: "$ vespa login",
+ DisableAutoGenTag: true,
+ RunE: func(cmd *cobra.Command, args []string) error {
+ ctx := cmd.Context()
+ cfg, err := LoadConfig()
+ if err != nil {
+ return err
+ }
+ c, err := cli.GetCli(cfg.AuthConfigPath())
+ if err != nil {
+ return err
+ }
+ _, err = cli.RunLogin(ctx, c, false)
+ return err
+ },
+}