cli

package
v0.0.0-...-e83cbdc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2020 License: BSD-3-Clause Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var FuzzctlCmd = &cobra.Command{
	Use:   "fuzzctl",
	Short: "fuzzctl enables control of workflows for Fuzzball.",
	PersistentPreRunE: func(cmd *cobra.Command, args []string) error {

		if debug {
			logrus.SetLevel(logrus.DebugLevel)
		}

		cp, err := config.GetPath()
		if err != nil {
			return err
		}
		if err := os.MkdirAll(path.Dir(cp), 0700); err != nil {
			return err
		}
		f, err := os.Open(cp)
		if err == nil {

			defer f.Close()
			c, err := config.Read(f)
			if err != nil {
				return fmt.Errorf("failed to read config file: %w", err)
			}
			cfg = c
		} else {

			c, err := config.Default()
			if err != nil {
				return fmt.Errorf("failed to create default config: %w", err)
			}
			cfg = c
		}

		r, err := cfg.GetActiveRemote()
		if err != nil {
			return fmt.Errorf("failed to get active remote: %w", err)
		}

		switch t := r.GetAuthType(); t {
		case config.AuthConfigTypeAuthCodePKCE:
			tokenSrc = r.GetAuthCodePKCEConfig().TokenSource(cmd.Context(), r.GetToken())
		case config.AuthConfigTypeClientCredentials:
			tokenSrc = r.GetClientCredentialsConfig().TokenSource(cmd.Context())
		default:
			return fmt.Errorf("unknown auth configuration type: %v", t)
		}

		// allow command-line override of base URI, otherwise use default
		var baseURI string
		if httpAddr != "" {
			baseURI = httpAddr
		} else {
			baseURI = r.GetBaseURI()
		}

		c, err = client.NewClient(baseURI+"/graphql",
			client.OptHTTPClient(oauth2.NewClient(cmd.Context(), tokenSrc)),
			client.OptUserAgent(getUserAgent()))

		return err
	},
	PersistentPostRunE: func(cmd *cobra.Command, args []string) error {
		if cmd.Use == "login" {
			return writeConfig()
		}
		return nil
	},
}

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL