Refactor to server entry; update versions in Dockerfile

This commit is contained in:
Mitchell Simon 2019-08-26 01:51:46 -04:00
parent 3b20013d10
commit 2cbab516f9
2 changed files with 9 additions and 7 deletions

View File

@ -1,10 +1,10 @@
FROM golang:1.11.5 as build FROM golang:1.12 as build
WORKDIR /go/src/github.com/mitchell/selfpass/services WORKDIR /go/src/github.com/mitchell/selfpass/services
COPY . . COPY . .
ENV GO111MODULE on ENV GO111MODULE on
RUN make build RUN make build
FROM debian:stable-20190506-slim FROM debian:stable-20190812-slim
COPY --from=build /go/src/github.com/mitchell/selfpass/services/bin/server /usr/bin/server COPY --from=build /go/src/github.com/mitchell/selfpass/services/bin/server /usr/bin/server
RUN groupadd -r selfpass && useradd --no-log-init -r -g selfpass selfpass RUN groupadd -r selfpass && useradd --no-log-init -r -g selfpass selfpass
USER selfpass USER selfpass

View File

@ -28,18 +28,18 @@ var logger log.Logger
func main() { func main() {
var ( var (
stop = make(chan os.Signal, 1) verbose = flag.Bool("v", false, "be more verbose")
jsonLogs = flag.Bool("json-logs", false, "enables json logging") jsonLogs = flag.Bool("json-logs", false, "enables json logging")
port = flag.String("port", "8080", "specify the port to listen on") port = flag.String("port", "8080", "specify the port to listen on")
verbose = flag.Bool("v", false, "be more verbose")
caFile = flag.String("ca", "/run/secrets/ca", "specify an alternate ca file") caFile = flag.String("ca", "/run/secrets/ca", "specify an alternate ca file")
certFile = flag.String("cert", "/run/secrets/cert", "specify an alternate cert file") certFile = flag.String("cert", "/run/secrets/cert", "specify an alternate cert file")
keyFile = flag.String("key", "/run/secrets/key", "specify an alternate key file") keyFile = flag.String("key", "/run/secrets/key", "specify an alternate key file")
boltFile = flag.String("bolt-file", "/home/selfpass/data/bolt.db", "specify an alternate bolt db file")
) )
flag.Parse() flag.Parse()
stop := make(chan os.Signal, 1)
signal.Notify(stop, syscall.SIGINT) signal.Notify(stop, syscall.SIGINT)
signal.Notify(stop, syscall.SIGKILL)
signal.Notify(stop, syscall.SIGTERM) signal.Notify(stop, syscall.SIGTERM)
logger = newLogger(os.Stdout, *jsonLogs) logger = newLogger(os.Stdout, *jsonLogs)
@ -68,7 +68,9 @@ func main() {
}, },
}) })
db, err := repositories.OpenBoltDB("/home/selfpass/data/bolt.db", 0600, nil) srv := grpc.NewServer(grpc.Creds(creds))
db, err := repositories.OpenBoltDB(*boltFile, 0600, nil)
check(err) check(err)
var svc types.Service var svc types.Service
@ -78,7 +80,6 @@ func main() {
} }
gsrv := transport.NewGRPCServer(svc, logger) gsrv := transport.NewGRPCServer(svc, logger)
srv := grpc.NewServer(grpc.Creds(creds))
protobuf.RegisterCredentialsServer(srv, gsrv) protobuf.RegisterCredentialsServer(srv, gsrv)
addr := ":" + *port addr := ":" + *port
@ -93,6 +94,7 @@ func main() {
go func() { check(srv.Serve(lis)) }() go func() { check(srv.Serve(lis)) }()
<-stop <-stop
_ = logger.Log("message", "gracefully stopping") _ = logger.Log("message", "gracefully stopping")
srv.GracefulStop() srv.GracefulStop()
} }