1 instantiation of Container
Aspire.Hosting (1)
Dcp\Model\Container.cs (1)
536var c = new Container(new ContainerSpec { Image = image });
100 references to Container
Aspire.Hosting (32)
Dcp\DcpExecutor.cs (24)
230Task.Run(() => WatchKubernetesResourceAsync<Container>((t, r) => ProcessResourceChange(t, r, _resourceState.ContainersMap, "Container", (c, s) => _snapshotBuilder.ToSnapshot(c, s)))), 273if (_resourceState.ContainersMap.TryGetValue(entry.ResourceName, out var container)) 379if (resource is Container { LogsAvailable: true } || 420Container => KnownResourceTypes.Container, 428if (resource is Container container) 448if (_resourceState.ContainersMap.TryGetValue(resourceName, out var container)) 450enumerable = new ResourceLogSource<Container>(_logger, _kubernetesService, container, follow: false); 493Container c when c.LogsAvailable => new ResourceLogSource<T>(_logger, _kubernetesService, resource, follow: true), 581"Container" => _resourceState.ContainersMap.TryGetValue(resourceName, out var container) ? container : null, 596if (cr is Container container) 718var toCreate = _appResources.Where(r => r.DcpResource is Container || r.DcpResource is Executable); 730var containersTask = CreateContainersAsync(toCreate.Where(ar => ar.DcpResource is Container), cancellationToken); 1148var ctr = Container.Create(containerObjectInstance.Name, containerImageName); 1259await _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); 1263if (cr.DcpResource is Container container) 1284var dcpContainerResource = (Container)cr.DcpResource; 1326private static async Task ApplyBuildArgumentsAsync(Container dcpContainerResource, IResource modelContainerResource, CancellationToken cancellationToken) 1579case Container c: 1582var cu = await _kubernetesService.GetAsync<Container>(c.Metadata.Name, cancellationToken: attemptCancellationToken).ConfigureAwait(false); 1647case Container c: 1648await EnsureResourceDeletedAsync<Container>(appResource.DcpResourceName).ConfigureAwait(false);
Dcp\DcpResourceState.cs (1)
12public readonly ConcurrentDictionary<string, Container> ContainersMap = [];
Dcp\Model\Container.cs (2)
534public static Container Create(string name, string image) 536var 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) 235if (resource is Container container)
Aspire.Hosting.Containers.Tests (11)
WithDockerfileTests.cs (11)
190var containers = await kubernetes.ListAsync<Container>(); 192var container = Assert.Single(containers); 222var containers = await kubernetes.ListAsync<Container>(); 224var container = Assert.Single<Container>(containers); 450var containers = await kubernetes.ListAsync<Container>(); 452var container = Assert.Single<Container>(containers); 520var containers = await kubernetes.ListAsync<Container>(); 522var container = Assert.Single<Container>(containers);
Aspire.Hosting.Tests (57)
Dcp\DcpExecutorTests.cs (29)
43var container = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 586var exeResource = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 684var exeResource = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 870var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 905var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 986var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 1022var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 1059var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 1096var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 1138var dcpCtr = Assert.Single(kubernetesService.CreatedResources.OfType<Container>()); 1189Assert.Equal(4, kubernetesService.CreatedResources.OfType<Container>().Count()); 1190var implicitDefaultContainer = Assert.Single(kubernetesService.CreatedResources.OfType<Container>(), c => c.AppModelResourceName == "ImplicitDefault"); 1193var explicitDefaultContainer = Assert.Single(kubernetesService.CreatedResources.OfType<Container>(), c => c.AppModelResourceName == "ExplicitDefault"); 1196var explicitAlwaysContainer = Assert.Single(kubernetesService.CreatedResources.OfType<Container>(), c => c.AppModelResourceName == "ExplicitAlways"); 1199var explicitMissingContainer = Assert.Single(kubernetesService.CreatedResources.OfType<Container>(), c => c.AppModelResourceName == "ExplicitMissing");
Dcp\TestKubernetesService.cs (2)
213if (res is Container ctr && result is Container cu)
DistributedApplicationTests.cs (26)
530var list = await s.ListAsync<Container>().DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 583var list = await s.ListAsync<Container>().DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 635var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>(kubernetes, containerPattern, r => r.Status?.State == ContainerState.Running, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 643redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>(kubernetes, containerPattern, r => r.Status?.State == ContainerState.Exited, token).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 651redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>(kubernetes, containerPattern, r => r.Status?.State == ContainerState.Running, token); 717var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>(kubernetes, $"{testName}-redis-{ReplicaIdRegex}-{suffix}", r => r.Status?.EffectiveEnv is not null).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 845var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>(s, $"{testName}-redis-{ReplicaIdRegex}-{suffix}", 874var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>( 903var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>( 933var redisContainer = await KubernetesHelper.GetResourceByNameMatchAsync<Container>( 973await foreach (var resource in s.WatchAsync<Container>().DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout)) 975Assert.True(resource.Item2.Metadata.Annotations.TryGetValue(Container.ResourceNameAnnotation, out var value)); 1184var list = await s.ListAsync<Container>().DefaultTimeout(); 1185var redisContainer = Assert.Single(list, c => Regex.IsMatch(c.Name(), $"{testName}-redis-{ReplicaIdRegex}")); 1191var otherRedisContainer = Assert.Single(list, c => Regex.IsMatch(c.Name(), $"{testName}-redisNoPort-{ReplicaIdRegex}")); 1238var list = await s.ListAsync<Container>().DefaultTimeout(); 1239var redisContainer = Assert.Single(list, c => Regex.IsMatch(c.Name(), $"{testName}-redis-{ReplicaIdRegex}")); 1245var otherRedisContainer = Assert.Single(list, c => Regex.IsMatch(c.Name(), $"{testName}-redisNoPort-{ReplicaIdRegex}")); 1350Assert.Empty(await KubernetesService!.ListAsync<Container>(cancellationToken: cancellationToken)); 1355Assert.NotEmpty(await KubernetesService!.ListAsync<Container>(cancellationToken: cancellationToken));