github.com/argoproj/argo-cd/v3@v3.2.1/commitserver/server.go (about)

     1  package commitserver
     2  
     3  import (
     4  	"google.golang.org/grpc"
     5  	"google.golang.org/grpc/health"
     6  	"google.golang.org/grpc/health/grpc_health_v1"
     7  
     8  	"github.com/argoproj/argo-cd/v3/commitserver/apiclient"
     9  	"github.com/argoproj/argo-cd/v3/commitserver/commit"
    10  	"github.com/argoproj/argo-cd/v3/commitserver/metrics"
    11  	versionpkg "github.com/argoproj/argo-cd/v3/pkg/apiclient/version"
    12  	"github.com/argoproj/argo-cd/v3/server/version"
    13  	"github.com/argoproj/argo-cd/v3/util/git"
    14  )
    15  
    16  // ArgoCDCommitServer is the server that handles commit requests.
    17  type ArgoCDCommitServer struct {
    18  	commitService *commit.Service
    19  }
    20  
    21  // NewServer returns a new instance of the commit server.
    22  func NewServer(gitCredsStore git.CredsStore, metricsServer *metrics.Server) *ArgoCDCommitServer {
    23  	return &ArgoCDCommitServer{commitService: commit.NewService(gitCredsStore, metricsServer)}
    24  }
    25  
    26  // CreateGRPC creates a new gRPC server.
    27  func (a *ArgoCDCommitServer) CreateGRPC() *grpc.Server {
    28  	server := grpc.NewServer(grpc.MaxRecvMsgSize(apiclient.MaxGRPCMessageSize))
    29  	versionpkg.RegisterVersionServiceServer(server, version.NewServer(nil, func() (bool, error) {
    30  		return true, nil
    31  	}))
    32  	apiclient.RegisterCommitServiceServer(server, a.commitService)
    33  
    34  	healthService := health.NewServer()
    35  	grpc_health_v1.RegisterHealthServer(server, healthService)
    36  
    37  	return server
    38  }