diff --git a/cmd/banforge/main.go b/cmd/banforge/main.go index 4b56402..0eb5345 100644 --- a/cmd/banforge/main.go +++ b/cmd/banforge/main.go @@ -8,7 +8,7 @@ import ( _ "github.com/d3m0k1d/BanForge/internal/judge" "github.com/d3m0k1d/BanForge/internal/logger" "github.com/d3m0k1d/BanForge/internal/parser" - _ "github.com/d3m0k1d/BanForge/internal/storage" + "github.com/d3m0k1d/BanForge/internal/storage" "github.com/spf13/cobra" ) @@ -54,10 +54,10 @@ var daemonCmd = &cobra.Command{ Run: func(cmd *cobra.Command, args []string) { log := logger.New(false) log.Info("Starting BanForge daemon") - //db, err := storage.NewDB() - //if err != nil { - //log.Error("Failed to create database", "error", err) - //} + db, err := storage.NewDB() + if err != nil { + log.Error("Failed to create database", "error", err) + } cfg, err := config.LoadConfig() if err != nil { log.Error("Failed to load config", "error", err) @@ -69,6 +69,13 @@ var daemonCmd = &cobra.Command{ log.Error("Failed to create parser", "error", err) } go pars.Start() + go func() { + ng := parser.NewNginxParser() + resultCh := make(chan *storage.LogEntry) + ng.Parse(pars.Events(), resultCh) + go storage.Write(db, resultCh) + + }() } } }, @@ -79,6 +86,7 @@ func Init() { } func Execute() { + rootCmd.AddCommand(daemonCmd) rootCmd.AddCommand(initCmd) if err := rootCmd.Execute(); err != nil { fmt.Println(err) diff --git a/internal/judge/judge.go b/internal/judge/judge.go index 7a985b1..1f9b9d0 100644 --- a/internal/judge/judge.go +++ b/internal/judge/judge.go @@ -16,11 +16,12 @@ type Judge struct { rulesByService map[string][]config.Rule } -func New(db *storage.DB) *Judge { +func New(db *storage.DB, b blocker.BlockerEngine) *Judge { return &Judge{ db: db, logger: logger.New(false), rulesByService: make(map[string][]config.Rule), + Blocker: b, } }