internal ClusterConfigSource( [NotNull] IClusterConfigClient client, [NotNull] string prefix, [NotNull] IList <ISettingsNodeConverter> converters) { this.client = client; this.converters = converters; Prefix = prefix; }
public void SetUp() { client = Substitute.For <IClusterConfigClient>(); converters = Enumerable.Range(0, 2).Select(_ => Substitute.For <ISettingsNodeConverter>()).ToArray(); foreach (var converter in converters) { converter.NeedToConvert(null).ReturnsForAnyArgs(true); } source = new ClusterConfigSource(client, Prefix, converters); }
internal VostokHostingEnvironment( [NotNull] HostingShutdown hostingShutdown, [NotNull] ApplicationShutdown applicationShutdown, [NotNull] IVostokApplicationIdentity applicationIdentity, [NotNull] IVostokApplicationLimits applicationLimits, [NotNull] Func <IVostokApplicationReplicationInfo> replicationInfoProvider, [NotNull] IVostokApplicationMetrics metrics, [NotNull] IVostokApplicationDiagnostics diagnostics, [NotNull] ILog log, [NotNull] ITracer tracer, [NotNull] IHerculesSink herculesSink, [NotNull] IConfigurationSource configurationSource, [NotNull] IConfigurationSource secretConfigurationSource, [NotNull] IConfigurationProvider configurationProvider, [NotNull] IConfigurationProvider secretConfigurationProvider, [NotNull] IClusterConfigClient clusterConfigClient, [NotNull] IServiceBeacon serviceBeacon, [CanBeNull] int?port, [NotNull] IServiceLocator serviceLocator, [NotNull] IContextGlobals contextGlobals, [NotNull] IContextProperties contextProperties, [NotNull] IContextConfiguration contextConfiguration, [NotNull] IDatacenters datacenters, [NotNull] IVostokHostExtensions hostExtensions, [NotNull] Action onDispose) { this.hostingShutdown = hostingShutdown ?? throw new ArgumentNullException(nameof(hostingShutdown)); this.applicationShutdown = applicationShutdown ?? throw new ArgumentNullException(nameof(applicationShutdown)); this.replicationInfoProvider = replicationInfoProvider ?? throw new ArgumentNullException(nameof(replicationInfoProvider)); this.onDispose = onDispose ?? throw new ArgumentNullException(nameof(onDispose)); ApplicationIdentity = applicationIdentity ?? throw new ArgumentNullException(nameof(applicationIdentity)); ApplicationLimits = applicationLimits ?? throw new ArgumentNullException(nameof(applicationLimits)); Metrics = metrics ?? throw new ArgumentNullException(nameof(metrics)); Diagnostics = diagnostics ?? throw new ArgumentNullException(nameof(diagnostics)); Log = log ?? throw new ArgumentNullException(nameof(log)); Tracer = tracer ?? throw new ArgumentNullException(nameof(tracer)); HerculesSink = herculesSink ?? throw new ArgumentNullException(nameof(herculesSink)); ConfigurationSource = configurationSource ?? throw new ArgumentNullException(nameof(configurationSource)); ConfigurationProvider = configurationProvider ?? throw new ArgumentNullException(nameof(configurationProvider)); SecretConfigurationSource = secretConfigurationSource ?? throw new ArgumentNullException(nameof(secretConfigurationSource)); SecretConfigurationProvider = secretConfigurationProvider ?? throw new ArgumentNullException(nameof(secretConfigurationProvider)); ClusterConfigClient = clusterConfigClient ?? throw new ArgumentNullException(nameof(clusterConfigClient)); ServiceBeacon = serviceBeacon ?? throw new ArgumentNullException(nameof(serviceBeacon)); Port = port; ServiceLocator = serviceLocator ?? throw new ArgumentNullException(nameof(serviceLocator)); ContextGlobals = contextGlobals ?? throw new ArgumentNullException(nameof(contextGlobals)); ContextProperties = contextProperties ?? throw new ArgumentNullException(nameof(contextProperties)); ContextConfiguration = contextConfiguration ?? throw new ArgumentNullException(nameof(contextConfiguration)); Datacenters = datacenters ?? throw new ArgumentNullException(nameof(datacenters)); HostExtensions = hostExtensions ?? throw new ArgumentNullException(nameof(hostExtensions)); }
public ConfigurationContext( IConfigurationSource configurationSource, IConfigurationSource secretConfigurationSource, IConfigurationProvider configurationProvider, IConfigurationProvider secretConfigurationProvider, IClusterConfigClient clusterConfigClient) { ConfigurationSource = configurationSource; ConfigurationProvider = configurationProvider; SecretConfigurationSource = secretConfigurationSource; SecretConfigurationProvider = secretConfigurationProvider; ClusterConfigClient = clusterConfigClient; }
public EnvironmentSetupContext( ILog log, IConfigurationSource configurationSource, IConfigurationSource secretConfigurationSource, IConfigurationProvider configurationProvider, IConfigurationProvider secretConfigurationProvider, IClusterConfigClient clusterConfigClient) { Log = log.ForContext <VostokHostingEnvironment>(); ConfigurationSource = configurationSource; ConfigurationProvider = configurationProvider; SecretConfigurationSource = secretConfigurationSource; SecretConfigurationProvider = secretConfigurationProvider; ClusterConfigClient = clusterConfigClient; }
public static IEnumerable <Substitution> Provide( IVostokApplicationIdentity identity, IClusterConfigClient clusterConfig, IServiceBeacon beacon, IDatacenters datacenters) { if (identity != null) { yield return(new Substitution(VostokConfigurationPlaceholders.IdentityProject, () => identity.Project)); yield return(new Substitution(VostokConfigurationPlaceholders.IdentitySubproject, () => identity.Subproject)); yield return(new Substitution(VostokConfigurationPlaceholders.IdentityEnvironment, () => identity.Environment)); yield return(new Substitution(VostokConfigurationPlaceholders.IdentityApplication, () => identity.Application)); yield return(new Substitution(VostokConfigurationPlaceholders.IdentityInstance, () => identity.Instance)); } if (beacon != null) { yield return(new Substitution(VostokConfigurationPlaceholders.ServiceDiscoveryEnvironment, () => beacon.ReplicaInfo.Environment)); yield return(new Substitution(VostokConfigurationPlaceholders.ServiceDiscoveryApplication, () => beacon.ReplicaInfo.Application)); } if (datacenters != null) { yield return(new Substitution(VostokConfigurationPlaceholders.LocalDatacenter, datacenters.GetLocalDatacenter)); } if (clusterConfig != null) { yield return(new Substitution(VostokConfigurationPlaceholders.ClusterConfigZone, () => (clusterConfig as ClusterConfigClient)?.Zone ?? "default")); } }
private static void InitializeMetricsProviderIfNeeded(IClusterClientConfiguration configuration, IMetricContext?metricContext, IClusterConfigClient clusterConfigClient) { if (metricContext == null && MetricContextProvider.IsConfigured) { metricContext = MetricContextProvider.Get(); } if (metricContext != null) { var environment = clusterConfigClient.Get(SingularConstants.EnvironmentNamePath)?.Value; if (environment == SingularConstants.ProdEnvironment || environment == SingularConstants.CloudEnvironment) { var metricsProvider = MetricsProviderCache.Get(metricContext, environment, SloMetricsClientName); configuration.AddRequestModule(new MetricsModule(metricsProvider)); } } }
public ClusterConfigSourceSettings([NotNull] IClusterConfigClient client, [NotNull] string prefix) { Client = client ?? throw new ArgumentNullException(nameof(client)); Prefix = prefix ?? throw new ArgumentNullException(nameof(prefix)); }
public ClusterConfigSourceWithParsers([NotNull] IClusterConfigClient client, [NotNull] string prefix) : base(new ClusterConfigSourceSettings(client, prefix)
public TopologiesResolverSettings(IClusterConfigClient clusterConfigClient, IServiceDiscoveryManager serviceDiscoveryClient) { ClusterConfigClient = clusterConfigClient; ServiceDiscoveryClient = serviceDiscoveryClient; }
public CcTopologiesProvider(IClusterConfigClient client, ILog log) { this.client = client; parser = new ClusterConfigReplicasParser(log.WithMinimumLevel(LogLevel.Warn)); }