56 lines
1018 B
Go
56 lines
1018 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
"github.com/urfave/cli/v2"
|
|
"github.com/urfave/cli/v2/altsrc"
|
|
)
|
|
|
|
func init() {
|
|
logrus.SetReportCaller(true)
|
|
}
|
|
|
|
func main() {
|
|
flags := []cli.Flag{
|
|
&cli.StringFlag{
|
|
Name: "config",
|
|
Usage: "config yaml file",
|
|
Aliases: []string{"c"},
|
|
Value: "config.yaml",
|
|
EnvVars: []string{"RECORED_CONFIG_FILE"},
|
|
},
|
|
altsrc.NewStringSliceFlag(&cli.StringSliceFlag{}),
|
|
&cli.StringFlag{
|
|
Name: "mysql-dsn",
|
|
Usage: "mysql dsn",
|
|
Required: true,
|
|
},
|
|
&cli.BoolFlag{
|
|
Name: "debug",
|
|
Usage: "enable debug mode",
|
|
Value: false,
|
|
Action: func(ctx *cli.Context, b bool) error {
|
|
if b {
|
|
logrus.SetLevel(logrus.DebugLevel)
|
|
}
|
|
return nil
|
|
},
|
|
},
|
|
}
|
|
|
|
app := &cli.App{
|
|
Name: "reCoreD-UI",
|
|
Usage: "Web UI for CoreDNS",
|
|
Before: altsrc.InitInputSourceWithContext(
|
|
flags, altsrc.NewYamlSourceFromFlagFunc("config"),
|
|
),
|
|
Flags: flags,
|
|
}
|
|
|
|
if err := app.Run(os.Args); err != nil {
|
|
logrus.Fatal(err)
|
|
}
|
|
}
|