package cmd import ( "github.com/rs/zerolog/log" "github.com/spf13/cobra" "n.eko.moe/neko" "n.eko.moe/neko/internal/types/config" ) func init() { command := &cobra.Command{ Use: "serve", Short: "serve neko streaming server", Long: `serve neko streaming server`, Run: neko.Service.ServeCommand, } configs := []config.Config{ neko.Service.Server, neko.Service.WebRTC, neko.Service.Remote, neko.Service.Broadcast, neko.Service.WebSocket, } cobra.OnInitialize(func() { for _, cfg := range configs { cfg.Set() } neko.Service.Preflight() }) for _, cfg := range configs { if err := cfg.Init(command); err != nil { log.Panic().Err(err).Msg("unable to run serve command") } } root.AddCommand(command) }