diff --git a/commitserver/apiclient/clientset.go b/commitserver/apiclient/clientset.go index 7148ef88c917a..38c4e53ec5f49 100644 --- a/commitserver/apiclient/clientset.go +++ b/commitserver/apiclient/clientset.go @@ -2,6 +2,10 @@ package apiclient import ( "fmt" + "math" + + "github.com/argoproj/argo-cd/v3/common" + "github.com/argoproj/argo-cd/v3/util/env" log "github.com/sirupsen/logrus" "google.golang.org/grpc" @@ -10,6 +14,9 @@ import ( "github.com/argoproj/argo-cd/v3/util/io" ) +// MaxGRPCMessageSize contains max grpc message size +var MaxGRPCMessageSize = env.ParseNumFromEnv(common.EnvGRPCMaxSizeMB, 100, 0, math.MaxInt32) * 1024 * 1024 + // Clientset represents commit server api clients type Clientset interface { NewCommitServerClient() (io.Closer, CommitServiceClient, error) diff --git a/commitserver/server.go b/commitserver/server.go index 3404267cae1ae..28607f263f191 100644 --- a/commitserver/server.go +++ b/commitserver/server.go @@ -25,7 +25,7 @@ func NewServer(gitCredsStore git.CredsStore, metricsServer *metrics.Server) *Arg // CreateGRPC creates a new gRPC server. func (a *ArgoCDCommitServer) CreateGRPC() *grpc.Server { - server := grpc.NewServer() + server := grpc.NewServer(grpc.MaxRecvMsgSize(apiclient.MaxGRPCMessageSize)) versionpkg.RegisterVersionServiceServer(server, version.NewServer(nil, func() (bool, error) { return true, nil }))