Skip to content

Commit c375e8a

Browse files
author
Aaron Schlesinger
committed
fix(boot.go,fetcher/fetcher.go,pkg/sshd/config.go): unify all configs and run the health server, fetcher and ssh server concurrently
1 parent 78ae20d commit c375e8a

2 files changed

Lines changed: 26 additions & 6 deletions

File tree

boot.go

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/deis/builder/pkg/conf"
1111
"github.com/deis/builder/pkg/gitreceive"
1212
"github.com/deis/builder/pkg/gitreceive/storage"
13+
"github.com/deis/builder/pkg/healthsrv"
1314
"github.com/deis/builder/pkg/sshd"
1415
pkglog "github.com/deis/pkg/log"
1516
)
@@ -43,15 +44,33 @@ func main() {
4344
pkglog.Err("getting config for %s [%s]", serverConfAppName, err)
4445
os.Exit(1)
4546
}
46-
s3Client, err := storage.GetClient
47+
s3Client, err := storage.GetClient(cnf.HealthSrvTestStorageRegion)
4748
if err != nil {
4849
pkglog.Err("getting s3 client [%s]", err)
4950
os.Exit(1)
5051
}
5152
pkglog.Info("starting health check server on port %d", cnf.HealthSrvPort)
52-
go healthsrv.Start(cnf.HealtHSrvPort, s3Client)
53+
healthSrvCh := make(chan error)
54+
go func() {
55+
if err := healthsrv.Start(cnf.HealthSrvPort, s3Client); err != nil {
56+
healthSrvCh <- err
57+
}
58+
}()
59+
5360
pkglog.Info("starting SSH server on %s:%d", cnf.SSHHostIP, cnf.SSHHostPort)
54-
os.Exit(pkg.Run(cnf.SSHHostIP, cnf.SSHHostPort, "boot"))
61+
sshCh := make(chan int)
62+
go func() {
63+
sshCh <- pkg.Run(cnf.SSHHostIP, cnf.SSHHostPort, "boot")
64+
}()
65+
66+
select {
67+
case err := <-healthSrvCh:
68+
pkglog.Err("Error running health server (%s)", err)
69+
os.Exit(1)
70+
case i := <-sshCh:
71+
pkglog.Err("Unexpected SSH server stop with code %d", i)
72+
os.Exit(i)
73+
}
5574
},
5675
},
5776
{

pkg/sshd/config.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@ package sshd
22

33
// Config represents the required SSH server configuration
44
type Config struct {
5-
SSHHostIP string `envconfig:"SSH_HOST_IP" default:"0.0.0.0" required:"true"`
6-
SSHHostPort int `envconfig:"SSH_HOST_PORT" default:"2223" required:"true"`
7-
HealthSrvPort int `envconfig:"HEALTH_SERVER_PORT" default:"8092"`
5+
SSHHostIP string `envconfig:"SSH_HOST_IP" default:"0.0.0.0" required:"true"`
6+
SSHHostPort int `envconfig:"SSH_HOST_PORT" default:"2223" required:"true"`
7+
HealthSrvPort int `envconfig:"HEALTH_SERVER_PORT" default:"8092"`
8+
HealthSrvTestStorageRegion string `envconfig:"HELATH_SERVER_TEST_STORAGE_REGION" default:"us-east-1"`
89
}

0 commit comments

Comments
 (0)