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
86 references to IContainerRuntime
Aspire.Hosting (27)
ApplicationModel\DotnetProgramPublishing.cs (1)
173var containerRuntime = await services
DistributedApplicationBuilder.cs (2)
620_innerBuilder.Services.AddKeyedSingleton<IContainerRuntime, DockerContainerRuntime>(KnownContainerRuntimes.Docker); 621_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) 73return _serviceProvider.GetRequiredKeyedService<IContainerRuntime>(configuredRuntime); 94return _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 (6)
AzureDeployerTests.cs (5)
1549IContainerRuntime? containerRuntime = null, 1581builder.Services.AddSingleton<IContainerRuntime>(containerRuntime ?? new FakeContainerRuntime()); 1582builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 2040builder.Services.AddSingleton<IContainerRuntime>(new FakeContainerRuntime()); 2041builder.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)
243var 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)
973builder.Services.AddSingleton<IContainerRuntime, FakeContainerRuntime>(); 974builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>());
DockerComposeTests.cs (13)
688builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 689builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 719builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 720builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 737private sealed class MockImageBuilderWithRuntime(IContainerRuntime runtime) : IResourceContainerImageManager 970builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 971builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 1007builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 1008builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 1039deployBuilder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 1040deployBuilder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 1063destroyBuilder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 1064destroyBuilder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>());
Aspire.Hosting.Dotnet.Tests (2)
DotnetProjectResourceTests.cs (2)
331var runtime = await app.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(cancellation.Token); 1117IContainerRuntime 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 (14)
ProjectResourceTests.cs (5)
910builder.Services.AddSingleton<IContainerRuntime, FakeContainerRuntime>(); 911builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 930var fakeContainerRuntime = (FakeContainerRuntime)app.Services.GetRequiredService<IContainerRuntime>(); 976builder.Services.AddSingleton<IContainerRuntime>(containerRuntime); 977builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>());
Publishing\ContainerRuntimeBaseTests.cs (1)
111IContainerRuntime runtime = new UnsupportedInspectionContainerRuntime();
Publishing\ContainerRuntimeResolverTests.cs (7)
21services.AddKeyedSingleton<IContainerRuntime, FakeContainerRuntime>("docker"); 22services.AddKeyedSingleton<IContainerRuntime, FakeContainerRuntime>("podman"); 34var first = await resolver.ResolveAsync(); 35var second = await resolver.ResolveAsync(); 57var runtime = await resolver.ResolveAsync(); 73Task<IContainerRuntime>? firstTask = null; 87var runtime = await resolver.ResolveAsync(CancellationToken.None);
Publishing\ResourceContainerImageManagerTests.cs (1)
2149var 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>()