diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-10 00:12:23 -0700 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-05-10 00:12:23 -0700 | 
| commit | 6235211860b5b3794dfe9e64bc33856dfad21897 (patch) | |
| tree | 6fd7f6e79bf2baac4395c88e9a4f17ec3c72b106 /golang/cmd/fatcatd | |
| parent | c4a7f51bbf6e157fbf32ef93886b935ea11fa0e2 (diff) | |
| download | fatcat-6235211860b5b3794dfe9e64bc33856dfad21897.tar.gz fatcat-6235211860b5b3794dfe9e64bc33856dfad21897.zip | |
cleanups
Diffstat (limited to 'golang/cmd/fatcatd')
| -rw-r--r-- | golang/cmd/fatcatd/root.go | 14 | ||||
| -rw-r--r-- | golang/cmd/fatcatd/serve.go | 50 | 
2 files changed, 21 insertions, 43 deletions
| diff --git a/golang/cmd/fatcatd/root.go b/golang/cmd/fatcatd/root.go index d4c7f161..b5263b06 100644 --- a/golang/cmd/fatcatd/root.go +++ b/golang/cmd/fatcatd/root.go @@ -6,7 +6,6 @@ import (  	"fmt"      log "github.com/sirupsen/logrus" -	//middleware "github.com/go-openapi/runtime/middleware"      "github.com/spf13/viper"      "github.com/spf13/cobra"      "github.com/getsentry/raven-go" @@ -25,18 +24,20 @@ func init() {      cobra.OnInitialize(initConfig)      rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is ./fatcatd.toml)")      rootCmd.PersistentFlags().BoolP("verbose", "v", false, "increase logging volume") +    viper.BindPFlag("verbose", rootCmd.PersistentFlags().Lookup("verbose")) + +    serveCmd.Flags().String("db-url", "postgres://", "database connecion string")      rootCmd.AddCommand(serveCmd)  }  func initConfig() { -    viper.SetDefault("port", 9411) -    viper.SetDefault("verbose", true) +    viper.SetDefault("port", 9411) +    viper.SetDefault("db_url", "postgres://bnewbold@localhost/fatcat")      viper.SetEnvPrefix("FATCAT")      viper.AutomaticEnv() -      if cfgFile != "" {          // Use config file from the flag.          viper.SetConfigFile(cfgFile) @@ -54,6 +55,11 @@ func initConfig() {      // not default of stderr      log.SetOutput(os.Stdout); +    if viper.GetBool("verbose") == true { +        log.SetLevel(log.DebugLevel) +    } +    log.Debug("It's verbose!") +      raven.SetDSN(viper.GetString("sentry_dsn"));  } diff --git a/golang/cmd/fatcatd/serve.go b/golang/cmd/fatcatd/serve.go index dcee4f4f..f1eeb995 100644 --- a/golang/cmd/fatcatd/serve.go +++ b/golang/cmd/fatcatd/serve.go @@ -2,17 +2,15 @@  package main  import ( -	//"os"  	"net/http"      "github.com/spf13/viper"      log "github.com/sirupsen/logrus"  	loads "github.com/go-openapi/loads" -	//flags "github.com/jessevdk/go-flags" -    //"github.com/getsentry/raven-go"      "github.com/carbocation/interpose"      "github.com/carbocation/interpose/adaptors"      "github.com/meatballhat/negroni-logrus" +    "github.com/bradleyg/go-sentroni"      "github.com/go-pg/pg"      "github.com/spf13/cobra" @@ -31,8 +29,6 @@ var serveCmd = &cobra.Command{  func main_serve() { -    log.Warn("Starting up..."); -      // load embedded swagger file      swaggerSpec, err := loads.Analyzed(restapi.SwaggerJSON, "")      if err != nil { @@ -49,36 +45,13 @@ func main_serve() {  	server := restapi.NewServer(api)  	defer server.Shutdown() -/* -	parser := flags.NewParser(server, flags.Default) -	parser.ShortDescription = "fatcat" -	parser.LongDescription = "A scalable, versioned, API-oriented catalog of bibliographic entities and file metadata" - -	server.ConfigureFlags() -	for _, optsGroup := range api.CommandLineOptionsGroups { -		_, err := parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options) -		if err != nil { -			log.Fatalln(err) -		} -	} - -	if _, err := parser.Parse(); err != nil { -		code := 1 -		if fe, ok := err.(*flags.Error); ok { -			if fe.Type == flags.ErrHelp { -				code = 0 -			} -		} -		os.Exit(code) -	} -*/ -      server.Port = viper.GetInt("port") -    db := pg.Connect(&pg.Options{ -        User: "bnewbold", // XXX: -        Database: "fatcat", -    }) +    db_options, err := pg.ParseURL(viper.GetString("db_url")) +    if err != nil { +        log.Panicf("parsing DB string: {}", err) +    } +    db := pg.Connect(db_options)      defer db.Close()      // register all the many handlers here @@ -87,20 +60,19 @@ func main_serve() {      middle := interpose.New() -    // sentry and upstream -    // XXX: middle.UseHandler(sentry.Recovery(raven.DefaultClient, false)) +    // sentry +    middle.Use(adaptors.FromNegroni(sentroni.NewRecovery(viper.GetString("sentry_dsn"))))      // logging -    negroniMiddleware := negronilogrus.NewMiddleware() -    middle.Use(adaptors.FromNegroni(negroniMiddleware)) +    middle.Use(adaptors.FromNegroni(negronilogrus.NewMiddleware())) -    // add clacks (TODO: only production) +    // add clacks      middle.UseHandler(http.HandlerFunc(func(rw http.ResponseWriter, req *http.Request) {          rw.Header().Set("X-Clacks-Overhead:", "GNU Aaron Swartz, John Perry Barlow")      })) +    // actual handler      middle.UseHandler(api.Serve(nil)) -      server.SetHandler(middle)  	if err := server.Serve(); err != nil { | 
