mirror of
https://github.com/labring/sealos.git
synced 2026-09-01 04:58:47 +08:00
d19bd067c7
* fix(lint): resolve controller and service issues * fix(lifecycle): add missing test licenses * fix(account): format debt sync code * fix(lifecycle): resolve staging lint issues * ci: update golangci-lint to v2.12.2 * ci: update golangci-lint config * ci: adjust golangci-lint config * fix(webhook): resolve admission lint issues * fix(lint): resolve remaining module issues * fix(scan): resolve semgrep findings * fix(ci): remove deleted pay service from matrix
69 lines
1.3 KiB
Go
69 lines
1.3 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"flag"
|
|
"fmt"
|
|
"log"
|
|
"net"
|
|
"net/http"
|
|
"os"
|
|
"time"
|
|
|
|
launchpadServer "github.com/labring/sealos/service/launchpad/server"
|
|
)
|
|
|
|
type RestartableServer struct {
|
|
configFile string
|
|
}
|
|
|
|
func (rs *RestartableServer) Serve(c *launchpadServer.Config) {
|
|
vs, err := launchpadServer.NewVMServer(c)
|
|
if err != nil {
|
|
fmt.Printf("Failed to create auth server: %s\n", err)
|
|
return
|
|
}
|
|
|
|
hs := &http.Server{
|
|
Addr: c.Server.ListenAddress,
|
|
Handler: vs,
|
|
ReadHeaderTimeout: 10 * time.Second,
|
|
}
|
|
|
|
var listener net.Listener
|
|
listenerConfig := net.ListenConfig{}
|
|
listener, err = listenerConfig.Listen(context.Background(), "tcp", c.Server.ListenAddress)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
fmt.Printf("Serve on %s\n", c.Server.ListenAddress)
|
|
|
|
if err := hs.Serve(listener); err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
log.SetOutput(os.Stdout) // 将日志输出定向到标准输出(stdout)
|
|
log.SetFlags(log.LstdFlags | log.Lshortfile)
|
|
flag.Parse()
|
|
|
|
cf := flag.Arg(0)
|
|
if cf == "" {
|
|
fmt.Println("Config file not sepcified")
|
|
return
|
|
}
|
|
|
|
config, err := launchpadServer.InitConfig(cf)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
return
|
|
}
|
|
rs := RestartableServer{
|
|
configFile: cf,
|
|
}
|
|
rs.Serve(config)
|
|
}
|