// This method gets called by the runtime. Use this method to configure Orleans. public static void ConfigureOrleans(HostBuilderContext ctx, ISiloBuilder builder) { var configuration = ctx.Configuration; var topicConfiguration = new TopicCreationConfig { AutoCreate = true, Partitions = 8 }; builder.ConfigureCluster(configuration) .UseDashboard(x => x.HostSelf = false) .ConfigureEndpoints() .AddAssemblies(typeof(UserRegistrationStatusGrain)) .AddKafka(Constants.StreamProviderName) .WithOptions(options => { options.FromConfiguration(ctx.Configuration); options.AddTopic(nameof(UserVerificationEvent), topicConfiguration); options.AddTopic(nameof(UserRegisteredEvent), topicConfiguration); }) .AddJson() .Build() .AddMemoryGrainStorage("PubSubStore") .AddMemoryGrainStorageAsDefault() .UseMembershipProvider(configuration, x => { x.ConfigureConsulClustering(configuration); x.ConfigureKubernetesClustering(configuration); }) .UseLinuxEnvironmentStatistics() .AddPrometheusTelemetry(); }
// This method gets called by the runtime. Use this method to configure Orleans. public static void ConfigureOrleans(HostBuilderContext ctx, ISiloBuilder builder) { var configuration = ctx.Configuration; var topicConfiguration = new TopicCreationConfig { AutoCreate = true, Partitions = 8 }; builder.ConfigureCluster(configuration) .UseDashboard(x => x.HostSelf = false) .ConfigureEndpoints() .AddAssemblies(typeof(HelloWorldGrain)) .AddKafka(Constants.StreamProviderName) .WithOptions(options => { options.FromConfiguration(ctx.Configuration); // Add Topics // options.AddTopic(nameof(Event), topicConfiguration); }) .AddJson() .Build() .AddMemoryGrainStorage("PubSubStore") .AddMemoryGrainStorageAsDefault() .UseMembershipProvider(configuration, x => { x.ConfigureConsulClustering(configuration); x.ConfigureKubernetesClustering(configuration); }); }
private static void ConfigureServices(Microsoft.Extensions.Hosting.HostBuilderContext context, IServiceCollection services, string instrumentationKey) { services.ConfigureFormatter <ApplicationInsightsTelemetryConsumerOptions>(); services.Configure <TelemetryOptions>(options => options.AddConsumer <AITelemetryConsumer>()); if (!string.IsNullOrWhiteSpace(instrumentationKey)) { services.Configure <ApplicationInsightsTelemetryConsumerOptions>(options => options.InstrumentationKey = instrumentationKey); } }
public IServiceProvider BuildServiceProvider(HostBuilderContext context) { var services = new ServiceCollection(); foreach (var configure in _configurators) { configure(context, services); } return(services.BuildServiceProvider()); }
// This method gets called by the runtime. Use this method to configure Orleans. public static void ConfigureOrleans(HostBuilderContext ctx, ISiloBuilder builder) { var serviceId = new Randomizer().String2(8); var clusterId = new Randomizer().String2(8); var options = ctx.Configuration.GetSection(MetricsSilo).Get <EndpointOptions>() ?? new EndpointOptions(); builder.ConfigureCluster(ctx.Configuration) .ConfigureEndpoints(ctx.Configuration.GetSection(MetricsSilo)) .UseLocalhostClustering(options.SiloPort, options.GatewayPort, null, serviceId, clusterId) .AddPrometheusTelemetry(ctx.Configuration); }
// This method gets called by the runtime. Use this method to configure Orleans. public static void ConfigureOrleans(HostBuilderContext ctx, ISiloBuilder builder) { var serviceId = new Randomizer().String2(8); var clusterId = new Randomizer().String2(8); var options = ctx.Configuration.GetSection("Orleans:HealthCheckCoHostedSilo").Get <EndpointOptions>() ?? new EndpointOptions(); builder.ConfigureCluster(ctx.Configuration) .ConfigureEndpoints(ctx.Configuration.GetSection("Orleans:HealthCheckCoHostedSilo")) .UseLocalhostClustering(options.SiloPort, options.GatewayPort, null, serviceId, clusterId) .AddHealthCheckDependencies(); }
public ServiceHostBuilder() { this.m_properties = new System.Collections.Generic.Dictionary <object, object>(); this.m_context = new Microsoft.Extensions.Hosting.HostBuilderContext(this.m_properties); this.m_context.HostingEnvironment = new HostingEnvironment(); this.m_hostServices = new Microsoft.Extensions.DependencyInjection.ServiceCollection(); this.m_configurationBuilder = new Microsoft.Extensions.Configuration.ConfigurationBuilder(); this.m_hostBuilder = new Microsoft.Extensions.Hosting.HostBuilder(); }
// This method gets called by the runtime. Use this method to configure Orleans. public static void ConfigureOrleans(HostBuilderContext ctx, ISiloBuilder builder) { builder.ConfigureCluster(ctx.Configuration) .ConfigureDashboard(ctx.Configuration) .ConfigureEndpoints(ctx.Configuration) .UseLocalhostClustering() .AddMemoryGrainStorageAsDefault() .AddAssemblies(typeof(ProducerGrain)) .AddSimpleMessageStreamProvider(Constants.SMSProviderName) .AddMemoryGrainStorage(Constants.StreamsMemoryStorageName) .AddMemoryGrainStorage(StorageProvidersConstants.InMemory) .UseMongoDBClient(GetConnectionString(ctx.Configuration, StorageProvidersConstants.MongoDb)) .AddMongoDBGrainStorage(StorageProvidersConstants.MongoDb, options => { options.DatabaseName = StorageProvidersConstants.DatabaseName; options.CreateShardKeyForCosmos = true; options.ConfigureJsonSerializerSettings = settings => { settings.NullValueHandling = NullValueHandling.Include; settings.ObjectCreationHandling = ObjectCreationHandling.Replace; settings.DefaultValueHandling = DefaultValueHandling.Populate; }; }) .AddDynamoDBGrainStorage(StorageProvidersConstants.DynamoDb, options => { options.UseJson = true; options.Service = GetConnectionString(ctx.Configuration, StorageProvidersConstants.DynamoDb); }) .AddNpgsqlGrainStorage(StorageProvidersConstants.Postgres, ctx.Configuration) .AddKafka(Constants.KafkaProviderName) .WithOptions(options => { options.FromConfiguration(ctx.Configuration); options.ConsumeMode = ConsumeMode.StreamEnd; options.AddTopicStream(Constants.MessageNamespace, ctx.Configuration); }) .AddJson() .Build() .AddRedisGrainStorage(StorageProvidersConstants.Redis) .Build(config => config.Configure(opts => { opts.Servers = new List <string> { GetConnectionString(ctx.Configuration, StorageProvidersConstants.Redis) }; opts.ClientName = StorageProvidersConstants.Redis; opts.KeyPrefix = "OrleansGrainStorage"; opts.HumanReadableSerialization = true; }) ); }
private static void ConfigureServices(Microsoft.Extensions.Hosting.HostBuilderContext context, IServiceCollection services, Uri elasticSearchUri, string indexPrefix, string dateFormatter, int bufferWaitSeconds, int bufferSize) { services.ConfigureFormatter <ElasticsearchTelemetryConsumerOptions>(); services.Configure <TelemetryOptions>(options => options.AddConsumer <ElasticsearchTelemetryConsumer>()); services.Configure <ElasticsearchTelemetryConsumerOptions>(options => { options.ElasticSearchUri = elasticSearchUri; options.IndexPrefix = indexPrefix; options.DateFormatter = dateFormatter; options.BufferWaitSeconds = bufferWaitSeconds; options.BufferSize = bufferSize; }); }
public void Build(HostBuilderContext context, IServiceCollection serviceCollection) { foreach (var configurationDelegate in configureSiloDelegates) { configurationDelegate(context, this); } serviceCollection.AddHostedService <SiloHost>(); this.ConfigureDefaults(); this.ConfigureApplicationParts(parts => parts.ConfigureDefaults()); foreach (var configurationDelegate in configureServicesDelegates) { configurationDelegate(context, serviceCollection); } }
public IServiceProvider BuildServiceProvider(HostBuilderContext context, ISiloBuilder silo) { var services = new ServiceCollection(); services.AddSingleton(typeof(IKeyedServiceCollection <,>), typeof(KeyedServiceCollection <,>)); foreach (var configure in _serviceConfigurators) { configure(context, services); } foreach (var configure in _siloConfigurators) { configure(context, silo); } return(services.BuildServiceProvider()); }
private static void ConfigureServices(Microsoft.Extensions.Hosting.HostBuilderContext context, IServiceCollection services) { services.Configure <TelemetryOptions>(options => options.AddConsumer <OrleansPerfCounterTelemetryConsumer>()); }
protected override void OnLoadCustomService(Microsoft.Extensions.Hosting.HostBuilderContext builder, Microsoft.Extensions.DependencyInjection.IServiceCollection serviceCollection) { serviceCollection.AddSingleton <IPackageProviderService>(packageProviderService); }
/// <summary> /// Returns the <see cref="ApplicationPartManager"/> for the provided context. /// </summary> /// <param name="context">The context.</param> /// <returns>The <see cref="ApplicationPartManager"/> belonging to the provided context.</returns> public static ApplicationPartManager GetApplicationPartManager(this Microsoft.Extensions.Hosting.HostBuilderContext context) => GetApplicationPartManager(context.Properties);