INNER CODE UNIT · Go
Exec
simagix/keyhole · exec.go:42
func Exec(filename string, signature string) error {
var err error
var cfg *Config
var data []byte
if data, err = os.ReadFile(filename); err != nil {
return err
} else if err = bson.UnmarshalExtJSON(data, false, &cfg); err != nil {
return err
} else if cfg.Action == "" {
return fmt.Errorf(`action is required`)
}
if cfg.Signature == "" {
cfg.Signature = signature
}
gox.GetLogger(cfg.Signature).Infof("executing %v", cfg.Action)
if cfg.Action == compareClusters {
return CompareClusters(cfg)
} else if cfg.Action == printConnections {