Files
kubeshark/config/configStructs/scriptingConfig.go
M. Mert Yildiran 41ba509428 Add scripts command
2023-02-14 20:23:25 +03:00

46 lines
814 B
Go

package configStructs
import (
"io/fs"
"io/ioutil"
"path/filepath"
"github.com/kubeshark/kubeshark/misc"
"github.com/rs/zerolog/log"
)
type ScriptingConfig struct {
Consts map[string]interface{} `yaml:"consts"`
Source string `yaml:"source" default:""`
}
func (config *ScriptingConfig) GetScripts() (scripts []*misc.Script, err error) {
if config.Source == "" {
return
}
var files []fs.FileInfo
files, err = ioutil.ReadDir(config.Source)
if err != nil {
return
}
for _, f := range files {
if f.IsDir() {
continue
}
var script *misc.Script
path := filepath.Join(config.Source, f.Name())
script, err = misc.ReadScriptFile(path)
if err != nil {
return
}
scripts = append(scripts, script)
log.Info().Str("path", path).Msg("Found script:")
}
return
}