Add comment on why grpc is on its own port, replace deprecated

This commit is contained in:
Kristoffer Dalby 2022-02-12 19:48:05 +00:00
parent ead8b68a03
commit d79ccfc05a

10
app.go
View File

@ -35,6 +35,7 @@ import (
"google.golang.org/grpc" "google.golang.org/grpc"
"google.golang.org/grpc/codes" "google.golang.org/grpc/codes"
"google.golang.org/grpc/credentials" "google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/metadata" "google.golang.org/grpc/metadata"
"google.golang.org/grpc/peer" "google.golang.org/grpc/peer"
"google.golang.org/grpc/reflection" "google.golang.org/grpc/reflection"
@ -518,7 +519,7 @@ func (h *Headscale) Serve() error {
grpcGatewayConn, err := grpc.Dial( grpcGatewayConn, err := grpc.Dial(
h.cfg.UnixSocket, h.cfg.UnixSocket,
[]grpc.DialOption{ []grpc.DialOption{
grpc.WithInsecure(), grpc.WithTransportCredentials(insecure.NewCredentials()),
grpc.WithContextDialer(GrpcSocketDialer), grpc.WithContextDialer(GrpcSocketDialer),
}..., }...,
) )
@ -558,6 +559,13 @@ func (h *Headscale) Serve() error {
// gRPC setup // gRPC setup
// //
// We are sadly not able to run gRPC and HTTPS (2.0) on the same
// port because the connection mux does not support matching them
// since they are so similar. There is multiple issues open and we
// can revisit this if changes:
// https://github.com/soheilhy/cmux/issues/68
// https://github.com/soheilhy/cmux/issues/91
// If TLS has been enabled, set up the remote gRPC server // If TLS has been enabled, set up the remote gRPC server
if tlsConfig != nil { if tlsConfig != nil {
log.Info().Msgf("Enabling remote gRPC at %s", h.cfg.GRPCAddr) log.Info().Msgf("Enabling remote gRPC at %s", h.cfg.GRPCAddr)