initial commit
This commit is contained in:
66
cmd/manager/main.go
Normal file
66
cmd/manager/main.go
Normal file
@@ -0,0 +1,66 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"log"
|
||||
"net/http"
|
||||
"os"
|
||||
|
||||
"fuego/internal/api"
|
||||
"fuego/internal/auth"
|
||||
"fuego/internal/database"
|
||||
"fuego/internal/storage"
|
||||
)
|
||||
|
||||
func main() {
|
||||
var (
|
||||
port = flag.String("port", getEnv("PORT", "8080"), "Server port")
|
||||
dbPath = flag.String("db", getEnv("DB_PATH", "fuego.db"), "Database path")
|
||||
storagePath = flag.String("storage", getEnv("STORAGE_PATH", "./storage"), "Storage path")
|
||||
)
|
||||
flag.Parse()
|
||||
|
||||
// Initialize database
|
||||
db, err := database.NewDB(*dbPath)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to initialize database: %v", err)
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
// Initialize auth
|
||||
authHandler, err := auth.NewAuth(db.DB)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to initialize auth: %v", err)
|
||||
}
|
||||
|
||||
// Initialize storage
|
||||
storageHandler, err := storage.NewStorage(*storagePath)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to initialize storage: %v", err)
|
||||
}
|
||||
|
||||
// Create API server
|
||||
server, err := api.NewServer(db, authHandler, storageHandler)
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to create server: %v", err)
|
||||
}
|
||||
|
||||
// Start server
|
||||
addr := fmt.Sprintf(":%s", *port)
|
||||
log.Printf("Starting manager server on %s", addr)
|
||||
log.Printf("Database: %s", *dbPath)
|
||||
log.Printf("Storage: %s", *storagePath)
|
||||
|
||||
if err := http.ListenAndServe(addr, server); err != nil {
|
||||
log.Fatalf("Server failed: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func getEnv(key, defaultValue string) string {
|
||||
if value := os.Getenv(key); value != "" {
|
||||
return value
|
||||
}
|
||||
return defaultValue
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user