|
@@ -10,18 +10,21 @@ import (
|
|
|
|
|
|
"github.com/crowdsecurity/crowdsec/pkg/csconfig"
|
|
"github.com/crowdsecurity/crowdsec/pkg/csconfig"
|
|
"github.com/crowdsecurity/crowdsec/pkg/cwhub"
|
|
"github.com/crowdsecurity/crowdsec/pkg/cwhub"
|
|
|
|
+ "github.com/crowdsecurity/crowdsec/pkg/parser"
|
|
|
|
+ "github.com/crowdsecurity/crowdsec/pkg/types"
|
|
log "github.com/sirupsen/logrus"
|
|
log "github.com/sirupsen/logrus"
|
|
"gopkg.in/yaml.v2"
|
|
"gopkg.in/yaml.v2"
|
|
)
|
|
)
|
|
|
|
|
|
type HubTestItemConfig struct {
|
|
type HubTestItemConfig struct {
|
|
- Parsers []string `yaml:"parsers"`
|
|
|
|
- Scenarios []string `yaml:"scenarios"`
|
|
|
|
- PostOVerflows []string `yaml:"postoverflows"`
|
|
|
|
- LogFile string `yaml:"log_file"`
|
|
|
|
- LogType string `yaml:"log_type"`
|
|
|
|
- Labels map[string]string `yaml:"labels"`
|
|
|
|
- IgnoreParsers bool `yaml:"ignore_parsers"` // if we test a scenario, we don't want to assert on Parser
|
|
|
|
|
|
+ Parsers []string `yaml:"parsers"`
|
|
|
|
+ Scenarios []string `yaml:"scenarios"`
|
|
|
|
+ PostOVerflows []string `yaml:"postoverflows"`
|
|
|
|
+ LogFile string `yaml:"log_file"`
|
|
|
|
+ LogType string `yaml:"log_type"`
|
|
|
|
+ Labels map[string]string `yaml:"labels"`
|
|
|
|
+ IgnoreParsers bool `yaml:"ignore_parsers"` // if we test a scenario, we don't want to assert on Parser
|
|
|
|
+ OverrideStatics []types.ExtraField `yaml:"override_statics"` //Allow to override statics. Executed before s00
|
|
}
|
|
}
|
|
|
|
|
|
type HubIndex struct {
|
|
type HubIndex struct {
|
|
@@ -377,6 +380,22 @@ func (t *HubTestItem) InstallHub() error {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if len(t.Config.OverrideStatics) > 0 {
|
|
|
|
+ n := parser.Node{
|
|
|
|
+ Name: "overrides",
|
|
|
|
+ Filter: "1==1",
|
|
|
|
+ Statics: t.Config.OverrideStatics,
|
|
|
|
+ }
|
|
|
|
+ b, err := yaml.Marshal(n)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return fmt.Errorf("unable to marshal overrides: %s", err)
|
|
|
|
+ }
|
|
|
|
+ tgtFilename := fmt.Sprintf("%s/parsers/s00-raw/00_overrides.yaml", t.RuntimePath)
|
|
|
|
+ if err := os.WriteFile(tgtFilename, b, os.ModePerm); err != nil {
|
|
|
|
+ return fmt.Errorf("unable to write overrides to '%s': %s", tgtFilename, err)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
// load installed hub
|
|
// load installed hub
|
|
err := cwhub.GetHubIdx(t.RuntimeHubConfig)
|
|
err := cwhub.GetHubIdx(t.RuntimeHubConfig)
|
|
if err != nil {
|
|
if err != nil {
|