forked from Elara6331/itd
		
	Update itctl to use api
This commit is contained in:
		| @@ -20,8 +20,10 @@ package root | ||||
|  | ||||
| import ( | ||||
| 	"github.com/abiosoft/ishell" | ||||
| 	"github.com/rs/zerolog/log" | ||||
| 	"github.com/spf13/cobra" | ||||
| 	"github.com/spf13/viper" | ||||
| 	"go.arsenm.dev/itd/api" | ||||
| ) | ||||
|  | ||||
| // RootCmd represents the base command when called without any subcommands | ||||
| @@ -61,18 +63,25 @@ var RootCmd = &cobra.Command{ | ||||
| // Execute adds all child commands to the root command and sets flags appropriately. | ||||
| // This is called by main.main(). It only needs to happen once to the rootCmd. | ||||
| func Execute() { | ||||
| 	client, err := api.New(viper.GetString("sockPath")) | ||||
| 	if err != nil { | ||||
| 		log.Fatal().Err(err).Msg("Error connecting to socket. Is itd running?") | ||||
| 	} | ||||
| 	defer client.Close() | ||||
| 	viper.Set("client", client) | ||||
| 	RootCmd.CompletionOptions.DisableDefaultCmd = true | ||||
| 	cobra.CheckErr(RootCmd.Execute()) | ||||
|  | ||||
| } | ||||
|  | ||||
| func init() { | ||||
| 	// Register flag for socket path | ||||
| 	RootCmd.Flags().StringP("socket-path", "s", "", "Path to itd socket") | ||||
| 	RootCmd.Flags().StringP("socket-path", "s", api.DefaultAddr, "Path to itd socket") | ||||
|  | ||||
| 	// Bind flag and environment variable to viper key | ||||
| 	viper.BindPFlag("sockPath", RootCmd.Flags().Lookup("socket-path")) | ||||
| 	viper.BindEnv("sockPath", "ITCTL_SOCKET_PATH") | ||||
|  | ||||
| 	// Set default value for socket path | ||||
| 	viper.SetDefault("sockPath", "/tmp/itd/socket") | ||||
| 	viper.SetDefault("sockPath", api.DefaultAddr) | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user