buildr/internal/cmd/server.go

34 lines
631 B
Go
Raw Permalink Normal View History

2023-04-11 20:30:48 +00:00
package cmd
import (
"github.com/spf13/cobra"
2023-06-22 16:06:56 +00:00
"code.icb4dc0.de/buildr/buildr/internal/rpc"
2023-04-11 20:30:48 +00:00
)
func ServerCommand(cmder ServerCommander) *cobra.Command {
cfg := new(rpc.GrpcConfig)
serverCmd := &cobra.Command{
2023-04-11 20:30:48 +00:00
Use: "serve",
SilenceUsage: true,
SilenceErrors: true,
Hidden: true,
}
2023-06-22 16:06:56 +00:00
serveAPICmd := &cobra.Command{
2023-04-11 20:30:48 +00:00
Use: "api",
SilenceUsage: true,
SilenceErrors: true,
RunE: func(cmd *cobra.Command, args []string) error {
return cmder.ServeAPI(cmd.Context(), cfg)
},
}
2023-06-22 16:06:56 +00:00
serveAPICmd.Flags().AddGoFlagSet(cfg.Flags())
2023-06-22 16:06:56 +00:00
serverCmd.AddCommand(serveAPICmd)
return serverCmd
2023-04-11 20:30:48 +00:00
}