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
65 references to IContainerRuntime
Aspire.Hosting (18)
ApplicationModel\ProjectResource.cs (1)
131var containerRuntime = await ctx.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(ctx.CancellationToken).ConfigureAwait(false);
DistributedApplicationBuilder.cs (2)
594_innerBuilder.Services.AddKeyedSingleton<IContainerRuntime, DockerContainerRuntime>(KnownContainerRuntimes.Docker); 595_innerBuilder.Services.AddKeyedSingleton<IContainerRuntime, PodmanContainerRuntime>(KnownContainerRuntimes.Podman);
Pipelines\DistributedApplicationPipeline.cs (1)
165var containerRuntime = await runtimeResolver.ResolveAsync(context.CancellationToken).ConfigureAwait(false);
Pipelines\PipelineStepHelpers.cs (1)
87var containerRuntime = await context.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(context.CancellationToken).ConfigureAwait(false);
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 (7)
171private async Task<IContainerRuntime> GetContainerRuntimeAsync(CancellationToken cancellationToken) 212var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false); 242var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false); 336var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false); 435private static string? GetLocalRegistryName(IContainerRuntime containerRuntime) 454var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false); 545var containerRuntime = await GetContainerRuntimeAsync(cancellationToken).ConfigureAwait(false);
Aspire.Hosting.Azure (1)
AcrLoginService.cs (1)
85var containerRuntime = await _containerRuntimeResolver.ResolveAsync(cancellationToken).ConfigureAwait(false);
Aspire.Hosting.Azure.Sandboxes (4)
AzureSandboxContainerDeployment.cs (4)
958var runtime = await ResolveContainerRuntimeAsync(context).ConfigureAwait(false); 966IContainerRuntime runtime, 1072var runtime = await ResolveContainerRuntimeAsync(context).ConfigureAwait(false); 1099private static Task<IContainerRuntime> ResolveContainerRuntimeAsync(PipelineStepContext context)
Aspire.Hosting.Azure.Tests (6)
AzureDeployerTests.cs (5)
1490IContainerRuntime? containerRuntime = null, 1524builder.Services.AddSingleton<IContainerRuntime>(containerRuntime ?? new FakeContainerRuntime()); 1525builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 1977builder.Services.AddSingleton<IContainerRuntime>(new FakeContainerRuntime()); 1978builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>());
FakeAcrLoginService.cs (1)
36var containerRuntime = await _containerRuntimeResolver.ResolveAsync(cancellationToken);
Aspire.Hosting.Docker (4)
DockerComposeEnvironmentResource.cs (3)
166var runtime = await ctx.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(ctx.CancellationToken).ConfigureAwait(false); 411var runtime = await context.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(context.CancellationToken).ConfigureAwait(false); 457var 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)
819builder.Services.AddSingleton<IContainerRuntime, FakeContainerRuntime>(); 820builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>());
DockerComposeTests.cs (13)
690builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 691builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 721builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 722builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 739private sealed class MockImageBuilderWithRuntime(IContainerRuntime runtime) : IResourceContainerImageManager 972builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 973builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 1009builder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 1010builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 1041deployBuilder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 1042deployBuilder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 1065destroyBuilder.Services.AddSingleton<IContainerRuntime>(fakeRuntime); 1066destroyBuilder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>());
Aspire.Hosting.Tests (12)
ProjectResourceTests.cs (3)
909builder.Services.AddSingleton<IContainerRuntime, FakeContainerRuntime>(); 910builder.Services.AddSingleton<IContainerRuntimeResolver>(sp => (IContainerRuntimeResolver)sp.GetRequiredService<IContainerRuntime>()); 926var fakeContainerRuntime = (FakeContainerRuntime)app.Services.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)
1552var containerRuntime = await app.Services.GetRequiredService<IContainerRuntimeResolver>().ResolveAsync(cts.Token);
Aspire.Hosting.TestUtilities (5)
Publishing\FakeContainerRuntime.cs (2)
183public Task<IContainerRuntime> ResolveAsync(CancellationToken cancellationToken = default) 185return 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);