public static void EnsureConfigurations([NotNull] Type applicationType, [NotNull] IVostokHostingEnvironmentBuilder builder) { void SetupSource(IConfigurationProvider provider, IConfigurationSource source, string[] scope, Type type) { if (scope.Any()) { source = source.ScopeTo(scope); } provider.SetupSourceFor(source, type); } builder.SetupConfiguration( b => b.CustomizeConfigurationContext( context => { foreach (var requirement in RequirementDetector.GetRequiredConfigurations(applicationType)) { SetupSource(context.ConfigurationProvider, context.ConfigurationSource, requirement.Scope, requirement.Type); } foreach (var requirement in RequirementDetector.GetRequiredSecretConfigurations(applicationType)) { SetupSource(context.SecretConfigurationProvider, context.SecretConfigurationSource, requirement.Scope, requirement.Type); } })); }
private static void SetupEnvironment(IVostokHostingEnvironmentBuilder builder) { builder.SetupApplicationIdentity( id => { id.SetProject("infra"); id.SetApplication("vostok-test"); id.SetEnvironment("dev"); id.SetInstance("the only one"); }); builder.SetupLog(log => log.SetupConsoleLog()); builder.SetupConfiguration( config => { config.AddSource(new ObjectSource(new {})); config.AddSecretSource(new ObjectSource(new {})); }); builder.SetupClusterConfigClient(config => config.CustomizeSettings(setting => setting.EnableClusterSettings = false)); }