pkg/kt/command/config/reset.go
package config
import (
"fmt"
"github.com/spf13/cobra"
)
var unsetAll bool
func Unset(args []string) error {
if unsetAll {
return saveConfig(make(map[string]map[string]string))
}
if len(args) < 1 {
return fmt.Errorf("must specifiy a config item")
}
config, err := loadConfig()
if err != nil {
return fmt.Errorf("config file is damaged, please try repair it or use 'ktctl config unset --all'")
}
for _, item := range args {
err = unsetConfigValue(config, item)
if err != nil {
return fmt.Errorf("%s, please check available config items with 'ktctl config show --all'", err)
}
}
return saveConfig(config)
}
func UnsetHandle(cmd *cobra.Command) {
cmd.Flags().BoolVarP(&unsetAll, "all", "a", false, "Unset all config options")
cmd.ValidArgsFunction = configValidator
}
func unsetConfigValue(config map[string]map[string]string, key string) error {
group, item, err := parseConfigItem(key)
if err != nil {
return err
}
if _, exist := config[group]; exist {
delete(config[group], item)
}
return nil
}