mirror of
https://github.com/argoproj/argo-cd.git
synced 2026-02-20 01:28:45 +01:00
39 lines
1.3 KiB
Go
39 lines
1.3 KiB
Go
package commitserver
|
|
|
|
import (
|
|
"google.golang.org/grpc"
|
|
"google.golang.org/grpc/health"
|
|
"google.golang.org/grpc/health/grpc_health_v1"
|
|
|
|
"github.com/argoproj/argo-cd/v3/commitserver/apiclient"
|
|
"github.com/argoproj/argo-cd/v3/commitserver/commit"
|
|
"github.com/argoproj/argo-cd/v3/commitserver/metrics"
|
|
versionpkg "github.com/argoproj/argo-cd/v3/pkg/apiclient/version"
|
|
"github.com/argoproj/argo-cd/v3/server/version"
|
|
"github.com/argoproj/argo-cd/v3/util/git"
|
|
)
|
|
|
|
// ArgoCDCommitServer is the server that handles commit requests.
|
|
type ArgoCDCommitServer struct {
|
|
commitService *commit.Service
|
|
}
|
|
|
|
// NewServer returns a new instance of the commit server.
|
|
func NewServer(gitCredsStore git.CredsStore, metricsServer *metrics.Server) *ArgoCDCommitServer {
|
|
return &ArgoCDCommitServer{commitService: commit.NewService(gitCredsStore, metricsServer)}
|
|
}
|
|
|
|
// CreateGRPC creates a new gRPC server.
|
|
func (a *ArgoCDCommitServer) CreateGRPC() *grpc.Server {
|
|
server := grpc.NewServer(grpc.MaxRecvMsgSize(apiclient.MaxGRPCMessageSize))
|
|
versionpkg.RegisterVersionServiceServer(server, version.NewServer(nil, func() (bool, error) {
|
|
return true, nil
|
|
}))
|
|
apiclient.RegisterCommitServiceServer(server, a.commitService)
|
|
|
|
healthService := health.NewServer()
|
|
grpc_health_v1.RegisterHealthServer(server, healthService)
|
|
|
|
return server
|
|
}
|