feature: basic auth0 support (#78)

* feature: basic auth0 support

* refactor: improve auth flow

* refactor: extract HttpServer config

* feature: merge HTTP API layer with Let's Encrypt
This commit is contained in:
Mikhail Bragin
2021-08-07 12:26:07 +02:00
committed by GitHub
parent 11982d6dde
commit 1f29975737
16 changed files with 500 additions and 37 deletions

View File

@@ -1,11 +1,12 @@
package cmd
import (
"context"
"flag"
"fmt"
"github.com/wiretrustee/wiretrustee/management/http_server"
"github.com/wiretrustee/wiretrustee/management/server"
"github.com/wiretrustee/wiretrustee/util"
"net"
"os"
"time"
@@ -57,9 +58,15 @@ var (
var opts []grpc.ServerOption
var httpServer *http_server.Server
if config.LetsEncryptDomain != "" {
transportCredentials := credentials.NewTLS(encryption.EnableLetsEncrypt(config.Datadir, config.LetsEncryptDomain))
certManager := encryption.CreateCertManager(config.Datadir, config.LetsEncryptDomain)
transportCredentials := credentials.NewTLS(certManager.TLSConfig())
opts = append(opts, grpc.Creds(transportCredentials))
httpServer = http_server.NewHttpsServer(config.HttpConfig, certManager)
} else {
httpServer = http_server.NewHttpServer(config.HttpConfig)
}
opts = append(opts, grpc.KeepaliveEnforcementPolicy(kaep), grpc.KeepaliveParams(kasp))
@@ -83,9 +90,24 @@ var (
}
}()
go func() {
err = httpServer.Start()
if err != nil {
log.Fatalf("failed to serve http server: %v", err)
}
}()
SetupCloseHandler()
<-stopCh
log.Println("Receive signal to stop running Management server")
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
defer cancel()
err = httpServer.Stop(ctx)
if err != nil {
log.Fatalf("failed stopping the http server %v", err)
}
grpcServer.Stop()
},
}
)