github.com/webonyx/up@v0.7.4-0.20180808230834-91b94e551323/cmd/up/main.go (about) 1 package main 2 3 import ( 4 "errors" 5 "os" 6 "runtime" 7 8 "github.com/stripe/stripe-go" 9 "github.com/tj/go/env" 10 "github.com/tj/go/term" 11 12 // commands 13 _ "github.com/apex/up/internal/cli/build" 14 _ "github.com/apex/up/internal/cli/config" 15 _ "github.com/apex/up/internal/cli/deploy" 16 _ "github.com/apex/up/internal/cli/deploys" 17 _ "github.com/apex/up/internal/cli/disable-stats" 18 _ "github.com/apex/up/internal/cli/docs" 19 _ "github.com/apex/up/internal/cli/domains" 20 _ "github.com/apex/up/internal/cli/env" 21 _ "github.com/apex/up/internal/cli/logs" 22 _ "github.com/apex/up/internal/cli/metrics" 23 _ "github.com/apex/up/internal/cli/prune" 24 _ "github.com/apex/up/internal/cli/rollback" 25 _ "github.com/apex/up/internal/cli/run" 26 _ "github.com/apex/up/internal/cli/stack" 27 _ "github.com/apex/up/internal/cli/start" 28 _ "github.com/apex/up/internal/cli/team" 29 _ "github.com/apex/up/internal/cli/upgrade" 30 _ "github.com/apex/up/internal/cli/url" 31 _ "github.com/apex/up/internal/cli/version" 32 33 "github.com/apex/up/internal/cli/app" 34 "github.com/apex/up/internal/signal" 35 "github.com/apex/up/internal/stats" 36 "github.com/apex/up/internal/util" 37 ) 38 39 var version = "master" 40 41 func main() { 42 signal.Add(reset) 43 stripe.Key = env.GetDefault("STRIPE_KEY", "pk_live_23pGrHcZ2QpfX525XYmiyzmx") 44 stripe.LogLevel = 0 45 46 err := run() 47 48 if err == nil { 49 return 50 } 51 52 term.ShowCursor() 53 54 switch { 55 case util.IsNoCredentials(err): 56 util.Fatal(errors.New("Cannot find credentials, visit https://up.docs.apex.sh/#aws_credentials for help.")) 57 default: 58 util.Fatal(err) 59 } 60 } 61 62 // run the cli. 63 func run() error { 64 stats.SetProperties(map[string]interface{}{ 65 "os": runtime.GOOS, 66 "arch": runtime.GOARCH, 67 "version": version, 68 "ci": os.Getenv("CI") == "true" || os.Getenv("CI") == "1", 69 "plan": "pro", 70 }) 71 72 return app.Run(version) 73 } 74 75 // reset cursor. 76 func reset() error { 77 term.ShowCursor() 78 println() 79 return nil 80 }