Esempio n. 1
0
        public static Server AddGrpcServices(this
                                             IServiceProvider provider,
                                             ILoggerFactory loggerFactory,
                                             IConfiguration configuration)
        {
            var servicePort = GetPort(configuration);

            GrpcEnvironment.SetLogger(new LogLevelFilterLogger(new GrpcLogger(loggerFactory), LogLevel.Debug));
            GrpcEnvironment.Logger.Debug($@"Starting Build services on port {servicePort}");

            var logger = loggerFactory.CreateLogger <LoggingInterceptor>();

            var builder = new GrpcServerBuilder()
                          .AddInsecurePort(servicePort);

            var services = new List <ServerServiceDefinition>
            {
                KickstartBuildService.BindService(provider.GetRequiredService <KickstartBuildServiceImpl>())
                .Intercept(new LoggingInterceptor(logger, Microsoft.Extensions.Logging.LogLevel.Information)),

                Health.BindService(provider.GetRequiredService <HealthServiceImpl>())
                .Intercept(new LoggingInterceptor(logger, Microsoft.Extensions.Logging.LogLevel.Debug)),
            };

            //AddTracing(provider, services, configuration);

            builder.AddServices(services);

            builder.AddService(ServerReflection.BindService(new ReflectionServiceImpl(
                                                                KickstartBuildService.Descriptor,
                                                                Health.Descriptor)));

            return(builder.Build());
        }
Esempio n. 2
0
        public static Server AddGrpcServices(this IServiceProvider provider, ILoggerFactory loggerFactory, int port)
        {
            var servicePort = GetPort(port);

            GrpcEnvironment.SetLogger(new LogLevelFilterLogger(new GrpcLogger(loggerFactory), Grpc.Core.Logging.LogLevel.Debug));
            GrpcEnvironment.Logger.Debug($@"Starting Kickstart services on port {servicePort}");

            var server = new Server
            {
                Services =
                {
                    //Reflection used by some testers
                    KickstartBuildService.BindService(provider.GetRequiredService <KickstartBuildServiceImpl>()),
                    KickstartServiceApi.BindService(provider.GetRequiredService <KickstartServiceImpl>()),

                    ServerReflection.BindService(new ReflectionServiceImpl(KickstartServiceApi.Descriptor,       KickstartBuildService.Descriptor,
                                                                           Health.Descriptor))
                },
                Ports =
                {
                    new ServerPort("0.0.0.0", servicePort, ServerCredentials.Insecure)
                }
            };

            return(server);
        }