mirror of
https://github.com/cnrancher/kube-explorer.git
synced 2025-04-27 11:00:48 +00:00
51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/cnrancher/kube-explorer/internal/version"
|
|
"github.com/rancher/steve/pkg/debug"
|
|
stevecli "github.com/rancher/steve/pkg/server/cli"
|
|
"github.com/rancher/wrangler/v3/pkg/signals"
|
|
"github.com/sirupsen/logrus"
|
|
"github.com/urfave/cli"
|
|
|
|
keconfig "github.com/cnrancher/kube-explorer/internal/config"
|
|
"github.com/cnrancher/kube-explorer/internal/server"
|
|
)
|
|
|
|
func main() {
|
|
app := cli.NewApp()
|
|
app.Name = "kube-explorer"
|
|
app.Version = version.FriendlyVersion()
|
|
app.Usage = ""
|
|
app.Flags = joinFlags(
|
|
stevecli.Flags(&keconfig.Steve),
|
|
debug.Flags(&keconfig.Debug),
|
|
keconfig.Flags(),
|
|
)
|
|
app.Action = run
|
|
|
|
if err := app.Run(os.Args); err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
}
|
|
|
|
func run(_ *cli.Context) error {
|
|
ctx := signals.SetupSignalContext()
|
|
keconfig.Debug.MustSetupDebug()
|
|
s, err := server.ToServer(ctx, &keconfig.Steve, false)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return server.Serve(ctx, s)
|
|
}
|
|
|
|
func joinFlags(flags ...[]cli.Flag) []cli.Flag {
|
|
var rtn []cli.Flag
|
|
for _, flag := range flags {
|
|
rtn = append(rtn, flag...)
|
|
}
|
|
return rtn
|
|
}
|