45 lines
913 B
Go
45 lines
913 B
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
|
|
"go_oxspeak_server/app"
|
|
"go_oxspeak_server/config"
|
|
)
|
|
|
|
func main() {
|
|
// Flag to specify the config file path
|
|
configPath := flag.String("config", "", "Path to configuration file (default: automatic search)")
|
|
flag.Parse()
|
|
|
|
// Load configuration
|
|
var cfg *config.Config
|
|
var err error
|
|
|
|
if *configPath != "" {
|
|
cfg, err = config.Load(*configPath)
|
|
} else {
|
|
// Automatic search
|
|
path, findErr := config.FindConfigFile()
|
|
if findErr != nil {
|
|
log.Fatalf("Error: %v", findErr)
|
|
}
|
|
log.Printf("Configuration file found: %s", path)
|
|
cfg, err = config.Load(path)
|
|
}
|
|
|
|
if err != nil {
|
|
log.Fatalf("Failed to load configuration: %v", err)
|
|
}
|
|
|
|
log.Printf("Configuration loaded - Database: %s", cfg.Database.Type)
|
|
|
|
// Start application
|
|
process := app.NewApp(cfg)
|
|
if err = process.Run(); err != nil {
|
|
log.Fatalf("Failed to start application: %v", err)
|
|
return
|
|
}
|
|
}
|