diff options
Diffstat (limited to 'golang')
| -rw-r--r-- | golang/Gopkg.lock | 20 | ||||
| -rw-r--r-- | golang/api/handlers/entities.go | 2 | ||||
| -rw-r--r-- | golang/cmd/fatcatd/root.go | 14 | ||||
| -rw-r--r-- | golang/cmd/fatcatd/serve.go | 50 | ||||
| -rw-r--r-- | golang/fatcatd.toml | 2 | ||||
| -rw-r--r-- | golang/gen/restapi/configure_fatcat.go | 25 | 
6 files changed, 43 insertions, 70 deletions
| diff --git a/golang/Gopkg.lock b/golang/Gopkg.lock index f5ff016e..624973cf 100644 --- a/golang/Gopkg.lock +++ b/golang/Gopkg.lock @@ -21,6 +21,12 @@  [[projects]]    branch = "master" +  name = "github.com/bradleyg/go-sentroni" +  packages = ["."] +  revision = "16e7bf48e1494134ac32000c9e22f3cd3e54c85f" + +[[projects]] +  branch = "master"    name = "github.com/carbocation/interpose"    packages = [      ".", @@ -170,6 +176,12 @@    revision = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168"  [[projects]] +  name = "github.com/inconshreveable/mousetrap" +  packages = ["."] +  revision = "76626ae9c91c4f2a10f34cad8ce83ea42c93bb75" +  version = "v1.0" + +[[projects]]    name = "github.com/jessevdk/go-flags"    packages = ["."]    revision = "c6ca198ec95c841fdb89fc0de7496fed11ab854e" @@ -249,6 +261,12 @@    version = "v1.2.0"  [[projects]] +  name = "github.com/spf13/cobra" +  packages = ["."] +  revision = "a1f051bc3eba734da4772d60e2d677f47cf93ef4" +  version = "v0.0.2" + +[[projects]]    branch = "master"    name = "github.com/spf13/jwalterweatherman"    packages = ["."] @@ -348,6 +366,6 @@  [solve-meta]    analyzer-name = "dep"    analyzer-version = 1 -  inputs-digest = "22b7db2e7bce9c3b5a5b85e98dfead56dce992a11035235a7d854916782a19dd" +  inputs-digest = "6f07904be5d2765e24cd25378e28c8c1c34f6e4205100dc6f8364d0be5eafbf9"    solver-name = "gps-cdcl"    solver-version = 1 diff --git a/golang/api/handlers/entities.go b/golang/api/handlers/entities.go index 75c8b72b..61104553 100644 --- a/golang/api/handlers/entities.go +++ b/golang/api/handlers/entities.go @@ -2,8 +2,6 @@  package handlers  import ( -    //"net/http" -      "github.com/go-pg/pg"      "github.com/go-openapi/runtime/middleware" 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 { diff --git a/golang/fatcatd.toml b/golang/fatcatd.toml index 72ddd2d9..bd839b19 100644 --- a/golang/fatcatd.toml +++ b/golang/fatcatd.toml @@ -1 +1 @@ -verbose = true +verbose = false diff --git a/golang/gen/restapi/configure_fatcat.go b/golang/gen/restapi/configure_fatcat.go index 2ec7e366..d4923b64 100644 --- a/golang/gen/restapi/configure_fatcat.go +++ b/golang/gen/restapi/configure_fatcat.go @@ -1,6 +1,6 @@  // This file is safe to edit. Once it exists it will not be overwritten -// XXX: this file isn't actually used +// NB: this file isn't actually used  package restapi @@ -13,10 +13,6 @@ import (  	runtime "github.com/go-openapi/runtime"  	middleware "github.com/go-openapi/runtime/middleware"  	graceful "github.com/tylerb/graceful" -    "github.com/carbocation/interpose" -    "github.com/carbocation/interpose/adaptors" -    //"github.com/getsentry/raven-go" -    "github.com/meatballhat/negroni-logrus"  	"git.archive.org/bnewbold/fatcat/golang/gen/restapi/operations"  ) @@ -77,22 +73,5 @@ func setupMiddlewares(handler http.Handler) http.Handler {  // The middleware configuration happens before anything, this middleware also applies to serving the swagger.json document.  // So this is a good place to plug in a panic handling middleware, logging and metrics  func setupGlobalMiddleware(handler http.Handler) http.Handler { - -    middle := interpose.New() - -    // sentry and upstream -    //middle.UseHandler(sentry.Recovery(raven.DefaultClient, false)) - -    // logging -    negroniMiddleware := negronilogrus.NewMiddleware() -    middle.Use(adaptors.FromNegroni(negroniMiddleware)) - -    // 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") -    })) - -    middle.UseHandler(handler) - -	return middle +	return handler  } | 
