diff --git a/go.mod b/go.mod index c8d9958..bee60c0 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ go 1.17 require ( github.com/btcsuite/btcd v0.23.1 - github.com/getsentry/sentry-go v0.12.0 + github.com/getsentry/sentry-go v0.16.0 github.com/go-playground/validator/v10 v10.10.0 github.com/golang-jwt/jwt v3.2.2+incompatible github.com/joho/godotenv v1.4.0 diff --git a/go.sum b/go.sum index 6f9f712..d67c734 100644 --- a/go.sum +++ b/go.sum @@ -232,8 +232,8 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= github.com/getsentry/raven-go v0.2.0 h1:no+xWJRb5ZI7eE8TWgIq1jLulQiIoLG0IfYxv5JYMGs= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/getsentry/sentry-go v0.12.0 h1:era7g0re5iY13bHSdN/xMkyV+5zZppjRVQhZrXCaEIk= -github.com/getsentry/sentry-go v0.12.0/go.mod h1:NSap0JBYWzHND8oMbyi0+XZhUalc1TBdRL1M71JZW2c= +github.com/getsentry/sentry-go v0.16.0 h1:owk+S+5XcgJLlGR/3+3s6N4d+uKwqYvh/eS0AIMjPWo= +github.com/getsentry/sentry-go v0.16.0/go.mod h1:ZXCloQLj0pG7mja5NK6NPf2V4A88YJ4pNlc2mOHwh6Y= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.0.0-20190301062529-5545eab6dad3/go.mod h1:VJ0WA2NBN22VlZ2dKZQPAPnyWw5XTlK1KymzLKsr59s= github.com/gin-gonic/gin v1.4.0/go.mod h1:OW2EZn3DO8Ln9oIKOvM++LBO+5UPHJJDH72/q/3rZdM= diff --git a/lib/service/config.go b/lib/service/config.go index 68aacb8..2746f68 100644 --- a/lib/service/config.go +++ b/lib/service/config.go @@ -6,36 +6,37 @@ import ( ) type Config struct { - DatabaseUri string `envconfig:"DATABASE_URI" required:"true"` - SentryDSN string `envconfig:"SENTRY_DSN"` - LogFilePath string `envconfig:"LOG_FILE_PATH"` - JWTSecret []byte `envconfig:"JWT_SECRET" required:"true"` - AdminToken string `envconfig:"ADMIN_TOKEN"` - JWTRefreshTokenExpiry int `envconfig:"JWT_REFRESH_EXPIRY" default:"604800"` // in seconds, default 7 days - JWTAccessTokenExpiry int `envconfig:"JWT_ACCESS_EXPIRY" default:"172800"` // in seconds, default 2 days - LNDAddress string `envconfig:"LND_ADDRESS" required:"true"` - LNDMacaroonFile string `envconfig:"LND_MACAROON_FILE"` - LNDCertFile string `envconfig:"LND_CERT_FILE"` - LNDMacaroonHex string `envconfig:"LND_MACAROON_HEX"` - LNDCertHex string `envconfig:"LND_CERT_HEX"` - CustomName string `envconfig:"CUSTOM_NAME"` - Host string `envconfig:"HOST" default:"localhost:3000"` - Port int `envconfig:"PORT" default:"3000"` - EnableGRPC bool `envconfig:"ENABLE_GRPC" default:"false"` - GRPCPort int `envconfig:"GRPC_PORT" default:"10009"` - DefaultRateLimit int `envconfig:"DEFAULT_RATE_LIMIT" default:"10"` - StrictRateLimit int `envconfig:"STRICT_RATE_LIMIT" default:"10"` - BurstRateLimit int `envconfig:"BURST_RATE_LIMIT" default:"1"` - EnablePrometheus bool `envconfig:"ENABLE_PROMETHEUS" default:"false"` - PrometheusPort int `envconfig:"PROMETHEUS_PORT" default:"9092"` - WebhookUrl string `envconfig:"WEBHOOK_URL"` - FeeReserve bool `envconfig:"FEE_RESERVE" default:"false"` - AllowAccountCreation bool `envconfig:"ALLOW_ACCOUNT_CREATION" default:"true"` - MinPasswordEntropy int `envconfig:"MIN_PASSWORD_ENTROPY" default:"0"` - MaxReceiveAmount int64 `envconfig:"MAX_RECEIVE_AMOUNT" default:"0"` - MaxSendAmount int64 `envconfig:"MAX_SEND_AMOUNT" default:"0"` - MaxAccountBalance int64 `envconfig:"MAX_ACCOUNT_BALANCE" default:"0"` - Branding BrandingConfig + DatabaseUri string `envconfig:"DATABASE_URI" required:"true"` + SentryDSN string `envconfig:"SENTRY_DSN"` + SentryTracesSampleRate string `envconfig:"SENTRY_TRACES_SAMPLE_RATE"` + LogFilePath string `envconfig:"LOG_FILE_PATH"` + JWTSecret []byte `envconfig:"JWT_SECRET" required:"true"` + AdminToken string `envconfig:"ADMIN_TOKEN"` + JWTRefreshTokenExpiry int `envconfig:"JWT_REFRESH_EXPIRY" default:"604800"` // in seconds, default 7 days + JWTAccessTokenExpiry int `envconfig:"JWT_ACCESS_EXPIRY" default:"172800"` // in seconds, default 2 days + LNDAddress string `envconfig:"LND_ADDRESS" required:"true"` + LNDMacaroonFile string `envconfig:"LND_MACAROON_FILE"` + LNDCertFile string `envconfig:"LND_CERT_FILE"` + LNDMacaroonHex string `envconfig:"LND_MACAROON_HEX"` + LNDCertHex string `envconfig:"LND_CERT_HEX"` + CustomName string `envconfig:"CUSTOM_NAME"` + Host string `envconfig:"HOST" default:"localhost:3000"` + Port int `envconfig:"PORT" default:"3000"` + EnableGRPC bool `envconfig:"ENABLE_GRPC" default:"false"` + GRPCPort int `envconfig:"GRPC_PORT" default:"10009"` + DefaultRateLimit int `envconfig:"DEFAULT_RATE_LIMIT" default:"10"` + StrictRateLimit int `envconfig:"STRICT_RATE_LIMIT" default:"10"` + BurstRateLimit int `envconfig:"BURST_RATE_LIMIT" default:"1"` + EnablePrometheus bool `envconfig:"ENABLE_PROMETHEUS" default:"false"` + PrometheusPort int `envconfig:"PROMETHEUS_PORT" default:"9092"` + WebhookUrl string `envconfig:"WEBHOOK_URL"` + FeeReserve bool `envconfig:"FEE_RESERVE" default:"false"` + AllowAccountCreation bool `envconfig:"ALLOW_ACCOUNT_CREATION" default:"true"` + MinPasswordEntropy int `envconfig:"MIN_PASSWORD_ENTROPY" default:"0"` + MaxReceiveAmount int64 `envconfig:"MAX_RECEIVE_AMOUNT" default:"0"` + MaxSendAmount int64 `envconfig:"MAX_SEND_AMOUNT" default:"0"` + MaxAccountBalance int64 `envconfig:"MAX_ACCOUNT_BALANCE" default:"0"` + Branding BrandingConfig } type BrandingConfig struct { diff --git a/main.go b/main.go index 9a93d4a..ea249fd 100644 --- a/main.go +++ b/main.go @@ -114,7 +114,8 @@ func main() { if err = sentry.Init(sentry.ClientOptions{ Dsn: c.SentryDSN, IgnoreErrors: []string{"401"}, - EnableTracing: true, + // TODO: Add value from config + EnableTracing: true, TracesSampleRate: 0.01, }); err != nil { logger.Errorf("sentry init error: %v", err)