1 instantiation of Container
Aspire.Hosting (1)
Dcp\Model\Container.cs (1)
544var c = new Container(new ContainerSpec { Image = image });
103 references to Container
Aspire.Hosting (32)
Dcp\DcpExecutor.cs (24)
257Task.Run(() => WatchKubernetesResourceAsync<Container>((t, r) => ProcessResourceChange(t, r, _resourceState.ContainersMap, "Container", (c, s) => _snapshotBuilder.ToSnapshot(c, s)))), 301if (_resourceState.ContainersMap.TryGetValue(entry.ResourceName, out var container)) 411if (resource is Container { LogsAvailable: true } || 493Container => KnownResourceTypes.Container, 502if (resource is Container container) 527if (_resourceState.ContainersMap.TryGetValue(resourceName, out var container)) 529enumerable = new ResourceLogSource<Container>(_logger, _kubernetesService, container, follow: false); 576Container c when c.LogsAvailable => new ResourceLogSource<T>(_logger, _kubernetesService, resource, follow: true), 665"Container" => _resourceState.ContainersMap.TryGetValue(resourceName, out var container) ? container : null, 681if (cr is Container container) 807var toCreate = _appResources.Where(r => r.DcpResource is Container or Executable or ContainerExec); 826var containersTask = CreateContainersAsync(toCreate.Where(ar => ar.DcpResource is Container), cancellationToken); 1360var ctr = Container.Create(containerObjectInstance.Name, containerImageName); 1481await _executorEvents.PublishAsync(new OnResourceChangedContext(_shutdownCancellation.Token, KnownResourceTypes.Container, cr.ModelResource, cr.DcpResourceName, new ResourceStatus(null, null, null), s => _snapshotBuilder.ToSnapshot((Container)cr.DcpResource, s))).ConfigureAwait(false); 1485if (cr.DcpResource is Container container) 1507var dcpContainerResource = (Container)cr.DcpResource; 1565private static async Task ApplyBuildArgumentsAsync(Container dcpContainerResource, IResource modelContainerResource, IServiceProvider serviceProvider, CancellationToken cancellationToken) 1795case Container c: 1798var cu = await _kubernetesService.GetAsync<Container>(c.Metadata.Name, cancellationToken: attemptCancellationToken).ConfigureAwait(false); 1863case Container c: 1864await EnsureResourceDeletedAsync<Container>(appResource.DcpResourceName).ConfigureAwait(false);
Dcp\DcpResourceState.cs (1)
12public readonly ConcurrentDictionary<string, Container> ContainersMap = [];
Dcp\Model\Container.cs (2)
542public static Container Create(string name, string image) 544var c = new Container(new ContainerSpec { Image = image });
Dcp\Model\ContainerExec.cs (2)
12/// The name of the <see cref="Container"/> resource (DCP model name, not the Docker/Podman name) 103/// Represents a command to be executed in a given <see cref="Container"/> resource.
Dcp\Model\GroupVersion.cs (1)
36Schema.Add<Container>(ContainerKind, "containers");
Dcp\ResourceSnapshotBuilder.cs (2)
20public CustomResourceSnapshot ToSnapshot(Container container, CustomResourceSnapshot previous) 275if (resource is Container container)
Aspire.Hosting.Containers.Tests (11)
WithDockerfileTests.cs (11)
210var containers = await kubernetes.ListAsync<Container>(); 212var container = Assert.Single(containers); 243var containers = await kubernetes.ListAsync<Container>(); 245var container = Assert.Single<Container>(containers); 472var containers = await kubernetes.ListAsync<Container>(); 474var container = Assert.Single<Container>(containers); 543var containers = await kubernetes.ListAsync<Container>(); 545var container = Assert.Single<Container>(containers);
Aspire.Hosting.Tests (60)
Dcp\DcpExecutorTests.cs (31)
45var container = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 588var exeResource = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 688var exeResource = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 878var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 913var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 994var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 1030var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 1067var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 1104var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 1146var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 1197Assert.Equal(4, kubernetesService.CreatedResources.OfType<Container>().Count()); 1198var implicitDefaultContainer = Assert.Single(kubernetesService.CreatedResources.OfType<Container>(), c => c.AppModelResourceName == "ImplicitDefault"); 1201var explicitDefaultContainer = Assert.Single(kubernetesService.CreatedResources.OfType<Container>(), c => c.AppModelResourceName == "ExplicitDefault"); 1204var explicitAlwaysContainer = Assert.Single(kubernetesService.CreatedResources.OfType<Container>(), c => c.AppModelResourceName == "ExplicitAlways"); 1207var explicitMissingContainer = Assert.Single(kubernetesService.CreatedResources.OfType<Container>(), c => c.AppModelResourceName == "ExplicitMissing"); 1272var container = Assert.Single(kubernetesService.CreatedResources.OfType<Container>());
Dcp\TestKubernetesService.cs (2)
213if (res is Container ctr && result is Container cu)
DistributedApplicationTests.cs (27)
548var list = await s.ListAsync<Container>().DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 606var list = await s.ListAsync<Container>().DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 656var list = await s.ListAsync<Container>().DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 774var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>(kubernetes, containerPattern, r => r.Status?.State == ContainerState.Running, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 782redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>(kubernetes, containerPattern, r => r.Status?.State == ContainerState.Exited, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 790redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>(kubernetes, containerPattern, r => r.Status?.State == ContainerState.Running, token); 856var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>(kubernetes, $"{testName}-redis-{ReplicaIdRegex}-{suffix}", r => r.Status?.EffectiveEnv is not null).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 1014var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>(s, $"{testName}-redis-{ReplicaIdRegex}-{suffix}", 1043var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>( 1072var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>( 1102var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>( 1142await foreach (var resource in s.WatchAsync<Container>().DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout)) 1144Assert.True(resource.Item2.Metadata.Annotations.TryGetValue(Container.ResourceNameAnnotation, out var value)); 1355var list = await s.ListAsync<Container>().DefaultTimeout(); 1356var redisContainer = Assert.Single(list, c => Regex.IsMatch(c.Name(), $"{testName}-redis-{ReplicaIdRegex}")); 1364var otherRedisContainer = Assert.Single(list, c => Regex.IsMatch(c.Name(), $"{testName}-redisNoPort-{ReplicaIdRegex}")); 1413var list = await s.ListAsync<Container>().DefaultTimeout(); 1414var redisContainer = Assert.Single(list, c => Regex.IsMatch(c.Name(), $"{testName}-redis-{ReplicaIdRegex}")); 1422var otherRedisContainer = Assert.Single(list, c => Regex.IsMatch(c.Name(), $"{testName}-redisNoPort-{ReplicaIdRegex}")); 1533Assert.Empty(await KubernetesService!.ListAsync<Container>(cancellationToken: cancellationToken)); 1538Assert.NotEmpty(await KubernetesService!.ListAsync<Container>(cancellationToken: cancellationToken));