feat: Add CD, first release version
All checks were successful
CI.yml / build (push) Successful in 1m51s

This commit is contained in:
d3m0k1d
2026-01-14 00:32:40 +03:00
parent aaad8f37cb
commit 8d967cfa2e
4 changed files with 143 additions and 16 deletions

View File

@@ -86,7 +86,11 @@ var initCmd = &cobra.Command{
fmt.Println(err)
os.Exit(1)
}
db.CreateTable()
err = db.CreateTable()
if err != nil {
fmt.Println(err)
os.Exit(1)
}
defer func() {
err = db.Close()
if err != nil {
@@ -153,20 +157,36 @@ var daemonCmd = &cobra.Command{
}
}
}()
for service := range cfg.Service {
if cfg.Service[service].Enabled && cfg.Service[service].Name != "nginx" {
pars, err := parser.NewScanner(cfg.Service[service].LogPath)
if err != nil {
log.Error("Failed to create scanner", "error", err)
}
go pars.Start()
go func(p *parser.Scanner) {
ng := parser.NewNginxParser()
resultCh := make(chan *storage.LogEntry, 100)
ng.Parse(p.Events(), resultCh)
go storage.Write(db, resultCh)
}(pars)
for _, svc := range cfg.Service {
log.Info("Processing service", "name", svc.Name, "enabled", svc.Enabled, "path", svc.LogPath)
if !svc.Enabled {
log.Info("Service disabled, skipping", "name", svc.Name)
continue
}
if svc.Name != "nginx" {
log.Info("Only nginx supported, skipping", "name", svc.Name)
continue
}
log.Info("Starting parser for service", "name", svc.Name, "path", svc.LogPath)
pars, err := parser.NewScanner(svc.LogPath)
if err != nil {
log.Error("Failed to create scanner", "service", svc.Name, "error", err)
continue
}
go pars.Start()
go func(p *parser.Scanner, serviceName string) {
log.Info("Starting nginx parser", "service", serviceName)
ng := parser.NewNginxParser()
resultCh := make(chan *storage.LogEntry, 100)
ng.Parse(p.Events(), resultCh)
go storage.Write(db, resultCh)
}(pars, svc.Name)
}
select {}