public ISecretInjector CreateSecretInjector(ISecretReader secretReader)
        {
            if (secretReader == null)
            {
                throw new ArgumentNullException(nameof(secretReader));
            }

            return new SecretInjector(secretReader);
        }
Esempio n. 2
0
        public SecretInjector(ISecretReader secretReader, string frame)
        {
            if (secretReader == null)
            {
                throw new ArgumentNullException(nameof(secretReader));
            }

            if (string.IsNullOrWhiteSpace(frame))
            {
                throw new ArgumentException("Frame argument is null or empty.");
            }

            _frame        = frame;
            _secretReader = secretReader;
        }
        public CachingSecretReader(ISecretReader secretReader, IDiagnosticsService diagnosticsService)
        {
            if (secretReader == null)
            {
                throw new ArgumentNullException(nameof(secretReader));
            }

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(diagnosticsService));
            }

            _internalReader = secretReader;
            _cache = new Dictionary<string, string>();
            _trace = diagnosticsService.GetSource("CachingSecretReader");
        }
        public CachingSecretReader(ISecretReader secretReader, IDiagnosticsService diagnosticsService)
        {
            if (secretReader == null)
            {
                throw new ArgumentNullException(nameof(secretReader));
            }

            if (diagnosticsService == null)
            {
                throw new ArgumentNullException(nameof(diagnosticsService));
            }

            _internalReader = secretReader;
            _cache          = new Dictionary <string, string>();
            _trace          = diagnosticsService.GetSource("CachingSecretReader");
        }
Esempio n. 5
0
 public ISecretInjector CreateSecretInjector(ISecretReader secretReader)
 {
     return(new SecretInjector(secretReader));
 }
 public ISecretInjector CreateSecretInjector(ISecretReader secretReader)
 {
     return new SecretInjector(secretReader);
 }
 public ISecretInjector CreateSecretInjector(ISecretReader secretReader)
 {
     return(_underlyingFactory.CreateSecretInjector(secretReader));
 }
Esempio n. 8
0
 public SecretInjector(ISecretReader secretReader) : this(secretReader, DefaultFrame)
 {
 }
 public ISecretInjector CreateSecretInjector(ISecretReader secretReader)
 => _underlyingFactory.CreateSecretInjector(secretReader);
Esempio n. 10
0
 public SharedAccessSignatureService(ISecretReader secretReader)
 {
     _secretReader = secretReader ?? throw new ArgumentNullException(nameof(secretReader));
 }
        private IConfigurationRoot GetConfigurationRoot(string configurationFilename, out ISecretInjector secretInjector, out ISecretReader secretReader)
        {
            Logger.LogInformation(
                "Using the {ConfigurationFilename} configuration file",
                Path.Combine(Environment.CurrentDirectory, configurationFilename));

            var builder = new ConfigurationBuilder()
                          .SetBasePath(Environment.CurrentDirectory)
                          .AddJsonFile(configurationFilename, optional: false, reloadOnChange: false);

            var uninjectedConfiguration = builder.Build();

            if (_validateOnly)
            {
                secretInjector = null;
                secretReader   = null;
                return(uninjectedConfiguration);
            }

            var secretReaderFactory        = new ConfigurationRootSecretReaderFactory(uninjectedConfiguration);
            var cachingSecretReaderFactory = new CachingSecretReaderFactory(secretReaderFactory, KeyVaultSecretCachingTimeout);

            secretReader   = cachingSecretReaderFactory.CreateSecretReader();
            secretInjector = cachingSecretReaderFactory.CreateSecretInjector(cachingSecretReaderFactory.CreateSecretReader());

            builder = new ConfigurationBuilder()
                      .SetBasePath(Environment.CurrentDirectory)
                      .AddInjectedJsonFile(configurationFilename, secretInjector);

            return(builder.Build());
        }
        private IServiceProvider GetServiceProvider(IConfigurationRoot configurationRoot, ISecretInjector secretInjector, ISecretReader secretReader)
        {
            // Configure as much as possible with Microsoft.Extensions.DependencyInjection.
            var services = new ServiceCollection();

            if (!_validateOnly)
            {
                services.AddSingleton(secretInjector);
                services.AddSingleton(secretReader);
            }

            services.AddSingleton(ApplicationInsightsConfiguration.TelemetryConfiguration);
            services.AddSingleton <IConfiguration>(configurationRoot);

            ConfigureLibraries(services);
            ConfigureDefaultJobServices(services, configurationRoot);
            ConfigureJobServices(services, configurationRoot);

            // Configure the rest with Autofac.
            var containerBuilder = new ContainerBuilder();

            containerBuilder.Populate(services);
            containerBuilder.RegisterAssemblyModules(GetType().Assembly);

            ConfigureDefaultAutofacServices(containerBuilder, configurationRoot);
            ConfigureAutofacServices(containerBuilder, configurationRoot);

            return(new AutofacServiceProvider(containerBuilder.Build()));
        }