in src/Microsoft.Atlas.CommandLine/Program.cs [76:134]
public static IServiceCollection AddServices(IServiceCollection services)
{
return services
.AddTransient<IFileSystem, FileSystem>()
.AddSingleton<IYamlSerializers, YamlSerializers>()
.AddSingleton<IJmesPathQuery, JmesPathQuery>()
.AddSingleton<ISecretTracker, SecretTracker>()
.AddSingleton<IJsonHttpClientFactory, JsonHttpClientFactory>()
.AddSingleton<IHttpClientFactory, HttpClientFactory>()
.AddSingleton<IHttpClientHandlerFactory, HttpClientHandlerFactory>()
.AddSingleton<ISettingsDirectory, SettingsDirectory>()
.AddSingleton<ISettingsManager, SettingsManager>()
.AddTransient<IPatternMatcherFactory, PatternMatcherFactory>()
.AddTransient<IBlueprintManager, BlueprintManager>()
.AddTransient<IBlueprintPackageProvider, HttpsFilesBlueprintPackageProvider>()
.AddTransient<IBlueprintPackageProvider, DirectoryBlueprintPackageProvider>()
.AddTransient<IBlueprintPackageProvider, ArchiveBlueprintPackageProvider>()
.AddTransient<IDependencyBlueprintPackageProvider, DependencyBlueprintPackageProvider>()
.AddTransient<DependencyBlueprintDecorator>()
.AddTransient<IBlueprintDecoratorProvider, SwaggerBlueprintDecoratorProvider>()
.AddTransient<IBlueprintDecoratorProvider, DependencyBlueprintDecoratorProvider>()
.AddTransient<IRequestGenerator, RequestGenerator>()
.AddSingleton<ITemplateEngineFactory, TemplateEngineFactory>()
.AddSingleton<TemplateEngineServices>()
.AddTransient<ITemplateHelperProvider, SshHelpers>()
.AddTransient<ITemplateHelperProvider, BinaryHelpers>()
.AddSingleton<CommandLineApplicationServices>()
.AddTransient<IConsole, ConsoleService>()
.AddTransient(typeof(IFactory<>), typeof(Factory<>))
.AddTransient<IWorkflowLoader, WorkflowLoader>()
.AddTransient<IWorkflowEngine, WorkflowEngine>()
.AddTransient<IValuesEngine, ValuesEngine>()
.AddTransient<WorkflowCommands>()
.AddTransient<AccountCommands>()
.AddTransient<SwaggerCommands>()
.AddLogging(builder =>
{
builder
.AddConsole(opt => opt.IncludeScopes = true)
.AddFilter(level => true)
.SetMinimumLevel(LogLevel.Trace);
})
.Configure<LoggerFilterOptions>(options =>
{
options.MinLevel = LogLevel.Trace;
})
;
}