fleet/cmd/fleetctl/logout.go

41 lines
832 B
Go

package main
import (
"fmt"
"github.com/urfave/cli/v2"
)
func logoutCommand() *cli.Command {
return &cli.Command{
Name: "logout",
Usage: "Log out of Fleet",
UsageText: `fleetctl logout [options]`,
Flags: []cli.Flag{
configFlag(),
contextFlag(),
debugFlag(),
},
Action: func(c *cli.Context) error {
fleet, err := clientFromCLI(c)
if err != nil {
return err
}
if err := fleet.Logout(); err != nil {
return fmt.Errorf("error logging out: %w", err)
}
configPath, context := c.String("config"), c.String("context")
if err := setConfigValue(configPath, context, "token", ""); err != nil {
return fmt.Errorf("error setting token for the current context: %w", err)
}
fmt.Printf("[+] Fleet logout successful and local token cleared!\n")
return nil
},
}
}