3 implementations of IContainerRuntime
Aspire.Hosting (1)
Publishing\ContainerRuntimeBase.cs (1)
21internal abstract class ContainerRuntimeBase<TLogger> : IContainerRuntime where TLogger : class
Aspire.Hosting.Tests (1)
Publishing\ContainerRuntimeBaseTests.cs (1)
388private sealed class UnsupportedInspectionContainerRuntime : IContainerRuntime
Aspire.Hosting.TestUtilities (1)
Publishing\FakeContainerRuntime.cs (1)
14public sealed class FakeContainerRuntime(bool shouldFail = false, bool isRunning = true, string name = "fake-runtime") : IContainerRuntime, IContainerRuntimeResolver
91 references to IContainerRuntime
Aspire.Hosting (27)
ApplicationModel\DotnetProgramPublishing.cs (1)
173var containerRuntime = await services
DistributedApplicationBuilder.cs (2)
633_innerBuilder.Services.AddKeyedSingleton<IContainerRuntime, DockerContainerRuntime>(KnownContainerRuntimes.Docker); 634_innerBuilder.Services.AddKeyedSingleton<IContainerRuntime, PodmanContainerRuntime>(KnownContainerRuntimes.Podman);
Pipelines\DistributedApplicationPipeline.cs (1)
163var containerRuntime = await runtimeResolver.ResolveAsync(context.CancellationToken).ConfigureAwait(false);
Pipelines\PipelineStepHelpers.cs (1)
86var containerRuntime = await context.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(context.CancellationToken).ConfigureAwait(false);
Publishing\ContainerRuntimeReadiness.cs (3)
16private readonly Dictionary<IContainerRuntime, Task> _checks = new(ReferenceEqualityComparer.Instance); 18public Task EnsureRunningAsync(IContainerRuntime containerRuntime, CancellationToken cancellationToken) 36private async Task EnsureRunningCoreAsync(IContainerRuntime containerRuntime, CancellationToken cancellationToken)
Publishing\ContainerRuntimeResolver.cs (5)
24private Task<IContainerRuntime>? _cachedTask; 36public Task<IContainerRuntime> ResolveAsync(CancellationToken cancellationToken = default) 66private async Task<IContainerRuntime> ResolveInternalAsync(CancellationToken cancellationToken) 77return _serviceProvider.GetRequiredKeyedService<IContainerRuntime>(configuredKey); 102return _serviceProvider.GetRequiredKeyedService<IContainerRuntime>(runtimeKey);
Publishing\IContainerRuntimeResolver.cs (1)
21Task<IContainerRuntime> ResolveAsync(CancellationToken cancellationToken = default);
Publishing\ResourceContainerImageManager.cs (12)
173Func<IContainerRuntime, CancellationToken, Task> ensureContainerRuntimeRunning, 258private async Task<IContainerRuntime> GetContainerRuntimeAsync(CancellationToken cancellationToken) 317var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false); 381var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false); 423Func<IContainerRuntime, CancellationToken, Task> ensureContainerRuntimeRunning, 430Func<IContainerRuntime, CancellationToken, Task> ensureContainerRuntimeRunning, 444var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false); 542private async Task EnsureContainerRuntimeRunningAsync(IContainerRuntime containerRuntime, CancellationToken cancellationToken) 559var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false); 921private static string? GetLocalRegistryName(IContainerRuntime containerRuntime) 940var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false); 1031var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false);
Publishing\TemporaryContainerImage.cs (1)
13internal sealed class TemporaryContainerImage(IContainerRuntime runtime, string imageReference, ILogger logger) : IAsyncDisposable
Aspire.Hosting.Azure (1)
AcrLoginService.cs (1)
85var containerRuntime = await _containerRuntimeResolver.ResolveAsync(cancellationToken).ConfigureAwait(false);
Aspire.Hosting.Azure.Sandboxes (4)
AzureSandboxContainerDeployment.cs (4)
991var runtime = await ResolveContainerRuntimeAsync(context).ConfigureAwait(false); 999IContainerRuntime runtime, 1105var runtime = await ResolveContainerRuntimeAsync(context).ConfigureAwait(false); 1132private static Task<IContainerRuntime> ResolveContainerRuntimeAsync(PipelineStepContext context)
Aspire.Hosting.Azure.Tests (8)
AzureDeployerTests.cs (7)
104var runtime = Assert.IsType<FakeContainerRuntime>(app.Services.GetRequiredService<IContainerRuntime>()); 199var runtime = Assert.IsType<FakeContainerRuntime>(app.Services.GetRequiredService<IContainerRuntime>()); 1738IContainerRuntime? containerRuntime = null, 1770builder.Services.AddSingleton<IContainerRuntime>(containerRuntime ?? new FakeContainerRuntime()); 1771builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 2229builder.Services.AddSingleton<IContainerRuntime>(new FakeContainerRuntime()); 2230builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>());
FakeAcrLoginService.cs (1)
36var containerRuntime = await _containerRuntimeResolver.ResolveAsync(cancellationToken);
Aspire.Hosting.Blazor.Tests (1)
AddBlazorGatewayTests.cs (1)
245var runtime = await publishApp.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(TestContext.Current.CancellationToken);
Aspire.Hosting.Docker (4)
DockerComposeEnvironmentResource.cs (3)
164var runtime = await ctx.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(ctx.CancellationToken).ConfigureAwait(false); 437var runtime = await context.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(context.CancellationToken).ConfigureAwait(false); 483var runtime = await context.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(context.CancellationToken).ConfigureAwait(false);
DockerComposeServiceResource.cs (1)
338var runtime = await context.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(context.CancellationToken).ConfigureAwait(false);
Aspire.Hosting.Docker.Tests (15)
DockerComposePublisherTests.cs (2)
974builder.Services.AddSingleton<IContainerRuntime, FakeContainerRuntime>(); 975builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>());
DockerComposeTests.cs (13)
693builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 694builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 724builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 725builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 742private sealed class MockImageBuilderWithRuntime(IContainerRuntime runtime) : IResourceContainerImageManager 975builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 976builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 1012builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 1013builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 1044deployBuilder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 1045deployBuilder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 1068destroyBuilder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 1069destroyBuilder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>());
Aspire.Hosting.Dotnet.Tests (3)
DotnetProjectResourceTests.cs (3)
326var runtime = await app.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(cancellation.Token); 1152var runtime = await app.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(cancellation.Token); 1165IContainerRuntime runtime,
Aspire.Hosting.MongoDB (1)
src\Shared\ContainerReplCommand.cs (1)
41var runtime = await context.Services.GetRequiredService<IContainerRuntimeResolver>()
Aspire.Hosting.MySql (1)
src\Shared\ContainerReplCommand.cs (1)
41var runtime = await context.Services.GetRequiredService<IContainerRuntimeResolver>()
Aspire.Hosting.PostgreSQL (1)
src\Shared\ContainerReplCommand.cs (1)
41var runtime = await context.Services.GetRequiredService<IContainerRuntimeResolver>()
Aspire.Hosting.Redis (1)
src\Shared\ContainerReplCommand.cs (1)
41var runtime = await context.Services.GetRequiredService<IContainerRuntimeResolver>()
Aspire.Hosting.SqlServer (1)
src\Shared\ContainerReplCommand.cs (1)
41var runtime = await context.Services.GetRequiredService<IContainerRuntimeResolver>()
Aspire.Hosting.Tests (16)
ProjectResourceTests.cs (5)
915builder.Services.AddSingleton<IContainerRuntime, FakeContainerRuntime>(); 916builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 935var fakeContainerRuntime = (FakeContainerRuntime)app.Services.GetRequiredService<IContainerRuntime>(); 981builder.Services.AddSingleton<IContainerRuntime>(containerRuntime); 982builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>());
Publishing\ContainerRuntimeBaseTests.cs (1)
111IContainerRuntime runtime = new UnsupportedInspectionContainerRuntime();
Publishing\ContainerRuntimeResolverTests.cs (9)
21services.AddKeyedSingleton<IContainerRuntime, FakeContainerRuntime>("docker"); 22services.AddKeyedSingleton<IContainerRuntime, FakeContainerRuntime>("podman"); 34var first = await resolver.ResolveAsync(); 35var second = await resolver.ResolveAsync(); 60var runtime = await resolver.ResolveAsync(); 69services.AddKeyedSingleton<IContainerRuntime, FakeContainerRuntime>("custom-runtime"); 73Assert.Same(provider.GetRequiredKeyedService<IContainerRuntime>("custom-runtime"), await resolver.ResolveAsync()); 87Task<IContainerRuntime>? firstTask = null; 101var runtime = await resolver.ResolveAsync(CancellationToken.None);
Publishing\ResourceContainerImageManagerTests.cs (1)
2187var containerRuntime = await app.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(cts.Token);
Aspire.Hosting.TestUtilities (6)
Publishing\FakeContainerRuntime.cs (3)
47public Func<CancellationToken, Task<IContainerRuntime>>? ResolveAsyncCallback { get; set; } 190public Task<IContainerRuntime> ResolveAsync(CancellationToken cancellationToken = default) 193return ResolveAsyncCallback?.Invoke(cancellationToken) ?? Task.FromResult<IContainerRuntime>(this);
Publishing\FakeContainerRuntimeExtensions.cs (3)
22/// Registering only the keyed <see cref="IContainerRuntime"/> under <c>"docker"</c> is not enough: 34services.AddKeyedSingleton<IContainerRuntime>(KnownContainerRuntimes.Docker, runtime); 35services.AddKeyedSingleton<IContainerRuntime>(KnownContainerRuntimes.Podman, runtime);
Aspire.Hosting.Valkey (1)
src\Shared\ContainerReplCommand.cs (1)
41var runtime = await context.Services.GetRequiredService<IContainerRuntimeResolver>()