52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"log"
|
|
"time"
|
|
|
|
"github.com/gin-contrib/cors"
|
|
"github.com/gin-gonic/gin"
|
|
|
|
"clickploy/internal/api"
|
|
"clickploy/internal/builder"
|
|
"clickploy/internal/db"
|
|
"clickploy/internal/deployer"
|
|
"clickploy/internal/ports"
|
|
)
|
|
|
|
func main() {
|
|
db.Init(".")
|
|
pm := ports.NewManager(4000, 5000)
|
|
buildr := builder.NewBuilder()
|
|
dply, err := deployer.NewDeployer()
|
|
if err != nil {
|
|
log.Fatalf("Failed to create deployer: %v", err)
|
|
}
|
|
|
|
handler := api.NewHandler(buildr, dply, pm)
|
|
|
|
r := gin.Default()
|
|
|
|
r.Use(cors.New(cors.Config{
|
|
AllowOrigins: []string{"*"},
|
|
AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
|
|
AllowHeaders: []string{"Origin", "Content-Type", "Authorization"},
|
|
ExposeHeaders: []string{"Content-Length"},
|
|
AllowCredentials: true,
|
|
MaxAge: 12 * time.Hour,
|
|
}))
|
|
|
|
handler.RegisterRoutes(r)
|
|
handler.RegisterAuthRoutes(r)
|
|
handler.RegisterUserRoutes(r)
|
|
handler.RegisterProjectRoutes(r)
|
|
handler.RegisterWebhookRoutes(r)
|
|
handler.RegisterSystemRoutes(r)
|
|
handler.RegisterStorageRoutes(r)
|
|
|
|
log.Println("Starting Clickploy Backend on :8080")
|
|
if err := r.Run(":8080"); err != nil {
|
|
log.Fatalf("Server failed: %v", err)
|
|
}
|
|
}
|