blob: 46bcd62746de85a20efc9109fd6fd47e3e03d98e [file] [log] [blame]
package main
import (
"fmt"
"os"
"github.com/urfave/cli/v2"
"go.skia.org/infra/go/sklog/sklogimpl"
"go.skia.org/infra/go/sklog/stdlogging"
"go.skia.org/infra/go/urfavecli"
"go.skia.org/infra/rag/go/tracing"
)
func main() {
var flags ApiServerFlags
cli.MarkdownDocTemplate = urfavecli.MarkdownDocTemplate
cliApp := &cli.App{
Name: "rag",
Usage: "Command line tool that runs the RAG api service.",
Before: func(c *cli.Context) error {
// Log to stdout.
sklogimpl.SetLogger(stdlogging.New(os.Stdout))
return nil
},
Commands: []*cli.Command{
{
Name: "api",
Usage: "The rag api service",
Description: "Runs the process that hosts the RAG api service.",
Flags: (&flags).AsCliFlags(),
Action: func(c *cli.Context) error {
urfavecli.LogFlags(c)
err := tracing.Init(flags.Local, "historyrag-api", 0.5)
if err != nil {
return err
}
server, err := NewApiServer(&flags)
if err != nil {
return err
}
err = server.serve()
return err
},
},
},
}
err := cliApp.Run(os.Args)
if err != nil {
fmt.Printf("\nError: %s\n", err.Error())
os.Exit(2)
}
}