fix: judge creator, daemon logic
All checks were successful
CI.yml / build (push) Successful in 1m45s

This commit is contained in:
d3m0k1d
2026-01-13 21:53:33 +03:00
parent 2d699af630
commit 761d6012a1
2 changed files with 15 additions and 6 deletions

View File

@@ -8,7 +8,7 @@ import (
_ "github.com/d3m0k1d/BanForge/internal/judge" _ "github.com/d3m0k1d/BanForge/internal/judge"
"github.com/d3m0k1d/BanForge/internal/logger" "github.com/d3m0k1d/BanForge/internal/logger"
"github.com/d3m0k1d/BanForge/internal/parser" "github.com/d3m0k1d/BanForge/internal/parser"
_ "github.com/d3m0k1d/BanForge/internal/storage" "github.com/d3m0k1d/BanForge/internal/storage"
"github.com/spf13/cobra" "github.com/spf13/cobra"
) )
@@ -54,10 +54,10 @@ var daemonCmd = &cobra.Command{
Run: func(cmd *cobra.Command, args []string) { Run: func(cmd *cobra.Command, args []string) {
log := logger.New(false) log := logger.New(false)
log.Info("Starting BanForge daemon") log.Info("Starting BanForge daemon")
//db, err := storage.NewDB() db, err := storage.NewDB()
//if err != nil { if err != nil {
//log.Error("Failed to create database", "error", err) log.Error("Failed to create database", "error", err)
//} }
cfg, err := config.LoadConfig() cfg, err := config.LoadConfig()
if err != nil { if err != nil {
log.Error("Failed to load config", "error", err) log.Error("Failed to load config", "error", err)
@@ -69,6 +69,13 @@ var daemonCmd = &cobra.Command{
log.Error("Failed to create parser", "error", err) log.Error("Failed to create parser", "error", err)
} }
go pars.Start() 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() { func Execute() {
rootCmd.AddCommand(daemonCmd)
rootCmd.AddCommand(initCmd) rootCmd.AddCommand(initCmd)
if err := rootCmd.Execute(); err != nil { if err := rootCmd.Execute(); err != nil {
fmt.Println(err) fmt.Println(err)

View File

@@ -16,11 +16,12 @@ type Judge struct {
rulesByService map[string][]config.Rule rulesByService map[string][]config.Rule
} }
func New(db *storage.DB) *Judge { func New(db *storage.DB, b blocker.BlockerEngine) *Judge {
return &Judge{ return &Judge{
db: db, db: db,
logger: logger.New(false), logger: logger.New(false),
rulesByService: make(map[string][]config.Rule), rulesByService: make(map[string][]config.Rule),
Blocker: b,
} }
} }