@@ -4,10 +4,68 @@ import (
44 "os"
55 "runtime"
66
7+ cookoolog "github.com/Masterminds/cookoo/log"
8+ "github.com/codegangsta/cli"
9+ "github.com/deis/builder/fetcher"
710 "github.com/deis/builder/pkg"
11+ "github.com/deis/builder/pkg/conf"
12+ "github.com/deis/builder/pkg/gitreceive"
13+ pkglog "github.com/deis/builder/pkg/gitreceive/log"
14+ "github.com/deis/builder/pkg/sshd"
815)
916
10- func main () {
17+ const (
18+ serverConfAppName = "deis-builder-server"
19+ gitReceiveConfAppName = "deis-builder-git-receive"
20+ )
21+
22+ func init () {
1123 runtime .GOMAXPROCS (runtime .NumCPU ())
12- os .Exit (pkg .Run ("boot" ))
24+ }
25+
26+ func main () {
27+ if os .Getenv ("DEBUG" ) == "true" {
28+ pkglog .IsDebugging = true
29+ cookoolog .Level = cookoolog .LogDebug
30+ }
31+ pkglog .Debug ("Running in debug mode" )
32+
33+ app := cli .NewApp ()
34+
35+ app .Commands = []cli.Command {
36+ {
37+ Name : "server" ,
38+ Aliases : []string {"srv" },
39+ Usage : "Run the git server" ,
40+ Action : func (c * cli.Context ) {
41+ cnf := new (sshd.Config )
42+ if err := conf .EnvConfig (serverConfAppName , cnf ); err != nil {
43+ pkglog .Err ("getting config for %s [%s]" , serverConfAppName , err )
44+ os .Exit (1 )
45+ }
46+ pkglog .Info ("starting fetcher on port %d" , cnf .FetcherPort )
47+ go fetcher .Serve (cnf .FetcherPort )
48+ pkglog .Info ("starting SSH server on %s:%d" , cnf .SSHHostIP , cnf .SSHHostPort )
49+ os .Exit (pkg .Run (cnf .SSHHostIP , cnf .SSHHostPort , "boot" ))
50+ },
51+ },
52+ {
53+ Name : "git-receive" ,
54+ Aliases : []string {"gr" },
55+ Usage : "Run the git-receive hook" ,
56+ Action : func (c * cli.Context ) {
57+ cnf := new (gitreceive.Config )
58+ if err := conf .EnvConfig (gitReceiveConfAppName , cnf ); err != nil {
59+ pkglog .Err ("Error getting config for %s [%s]" , gitReceiveConfAppName , err )
60+ os .Exit (1 )
61+ }
62+ if err := gitreceive .Run (cnf ); err != nil {
63+ pkglog .Err ("running git receive hook [%s]" , err )
64+ os .Exit (1 )
65+ }
66+ },
67+ },
68+ }
69+
70+ app .Run (os .Args )
1371}
0 commit comments