1 instantiation of Executable
Aspire.Hosting (1)
Dcp\Model\Executable.cs (1)
231var exe = new Executable(new ExecutableSpec
106 references to Executable
Aspire.Hosting (31)
Dcp\DcpExecutor.cs (26)
249Task.Run(() => WatchKubernetesResourceAsync<Executable>((t, r) => ProcessResourceChange(t, r, _resourceState.ExecutablesMap, "Executable", (e, s) => _snapshotBuilder.ToSnapshot(e, s)))), 298else if (_resourceState.ExecutablesMap.TryGetValue(entry.ResourceName, out var executable)) 405resource is Executable { LogsAvailable: true } || 487Executable => appModelResource is ProjectResource ? KnownResourceTypes.Project : KnownResourceTypes.Executable, 505if (resource is Executable executable) 524else if (_resourceState.ExecutablesMap.TryGetValue(resourceName, out var executable)) 526enumerable = new ResourceLogSource<Executable>(_logger, _kubernetesService, executable, follow: false); 570Executable e when e.LogsAvailable => new ResourceLogSource<T>(_logger, _kubernetesService, resource, follow: true), 660"Executable" => _resourceState.ExecutablesMap.TryGetValue(resourceName, out var executable) ? executable : null, 678else if (cr is Executable exe) 800var toCreate = _appResources.Where(r => r.DcpResource is Container or Executable or ContainerExec); 820var executablesTask = CreateExecutablesAsync(toCreate.Where(ar => ar.DcpResource is Executable), cancellationToken); 957var exe = Executable.Create(exeInstance.Name, exePath); 980exe.AnnotateAsObjectList(Executable.LaunchConfigurationsAnnotation, projectLaunchConfiguration); 1013var exeSpec = Executable.Create(exeInstance.Name, "dotnet"); 1085exeSpec.AnnotateAsObjectList(Executable.LaunchConfigurationsAnnotation, projectLaunchConfiguration); 1131Executable exe => s => _snapshotBuilder.ToSnapshot(exe, s), 1222if (er.DcpResource is not Executable exe) 1663if (resource is Executable exe && exe.Metadata.Annotations.TryGetValue(CustomResource.ResourceReplicaCount, out var value) && int.TryParse(value, CultureInfo.InvariantCulture, out var replicas) && replicas > 1) 1769case Executable e: 1772var eu = await _kubernetesService.GetAsync<Executable>(e.Metadata.Name, cancellationToken: attemptCancellationToken).ConfigureAwait(false); 1831case Executable e: 1832await EnsureResourceDeletedAsync<Executable>(appResource.DcpResourceName).ConfigureAwait(false);
Dcp\DcpResourceState.cs (1)
13public readonly ConcurrentDictionary<string, Executable> ExecutablesMap = [];
Dcp\Model\Executable.cs (2)
229public static Executable Create(string name, string executablePath) 231var exe = new Executable(new ExecutableSpec
Dcp\Model\GroupVersion.cs (1)
35Schema.Add<Executable>(ExecutableKind, "executables");
Dcp\ResourceSnapshotBuilder.cs (1)
128public CustomResourceSnapshot ToSnapshot(Executable executable, CustomResourceSnapshot previous)
Aspire.Hosting.Tests (75)
Dcp\DcpExecutorTests.cs (55)
87var executables = kubernetesService.CreatedResources.OfType<Executable>().ToList(); 155var executables = kubernetesService.CreatedResources.OfType<Executable>().ToList(); 157var exe = Assert.Single(executables); 198var executables = kubernetesService.CreatedResources.OfType<Executable>().ToList(); 200var exe1 = Assert.Single(executables); 215executables = kubernetesService.CreatedResources.OfType<Executable>().ToList(); 218var exe2 = executables[1]; 242var dcpExe = Assert.Single(kubernetesService.CreatedResources.OfType<Executable>()); 274var dcpExe = Assert.Single(kubernetesService.CreatedResources.OfType<Executable>()); 306var dcpExe = Assert.Single(kubernetesService.CreatedResources.OfType<Executable>()); 339var dcpExe = Assert.Single(kubernetesService.CreatedResources.OfType<Executable>()); 396var dcpExe = Assert.Single(kubernetesService.CreatedResources.OfType<Executable>()); 430var dcpExe = Assert.Single(kubernetesService.CreatedResources.OfType<Executable>()); 464var dcpExe = Assert.Single(kubernetesService.CreatedResources.OfType<Executable>()); 551var executables = kubernetesService.CreatedResources.OfType<Executable>().ToList(); 554foreach (var exe in executables) 790var exes = kubernetesService.CreatedResources.OfType<Executable>().ToList(); 793foreach (var dcpExe in exes) 835var exes = kubernetesService.CreatedResources.OfType<Executable>().ToList(); 838foreach (var dcpExe in exes) 1301var exe = Assert.Single(kubernetes.CreatedResources.OfType<Executable>()); 1336var exe = Assert.Single(kubernetes.CreatedResources.OfType<Executable>()); 1372var exe = Assert.Single(kubernetes.CreatedResources.OfType<Executable>()); 1408var exe = Assert.Single(kubernetes.CreatedResources.OfType<Executable>()); 1439var exe = Assert.Single(kubernetes.CreatedResources.OfType<Executable>()); 1470var exe = Assert.Single(kubernetes.CreatedResources.OfType<Executable>()); 1500var exe = Assert.Single(kubernetes.CreatedResources.OfType<Executable>()); 1529var exe = Assert.Single(kubernetes.CreatedResources.OfType<Executable>()); 1570var dcpExes = kubernetesService.CreatedResources.OfType<Executable>().ToList(); 1573var debuggableExe = Assert.Single(dcpExes, e => e.AppModelResourceName == "TestExecutable"); 1575Assert.True(debuggableExe.TryGetAnnotationAsObjectList<ProjectLaunchConfiguration>(Executable.LaunchConfigurationsAnnotation, out var launchConfigs1)); 1581var nonDebuggableExe = Assert.Single(dcpExes, e => e.AppModelResourceName == "TestOtherExecutable"); 1583Assert.False(nonDebuggableExe.TryGetAnnotationAsObjectList<ProjectLaunchConfiguration>(Executable.LaunchConfigurationsAnnotation, out _)); 1616var dcpExes = kubernetesService.CreatedResources.OfType<Executable>().ToList(); 1619var exe = Assert.Single(dcpExes, e => e.AppModelResourceName == "TestExecutable"); 1653var dcpExes = kubernetesService.CreatedResources.OfType<Executable>().ToList(); 1657var debuggableExe = Assert.Single(dcpExes, e => e.AppModelResourceName == "TestExecutable"); 1659Assert.False(debuggableExe.TryGetAnnotationAsObjectList<ProjectLaunchConfiguration>(Executable.LaunchConfigurationsAnnotation, out _)); 1661var nonDebuggableExe = Assert.Single(dcpExes, e => e.AppModelResourceName == "TestOtherExecutable"); 1663Assert.False(nonDebuggableExe.TryGetAnnotationAsObjectList<ProjectLaunchConfiguration>(Executable.LaunchConfigurationsAnnotation, out _));
Dcp\TestKubernetesService.cs (2)
200if (res is Executable exe && result is Executable eu)
DistributedApplicationTests.cs (18)
679var serviceA = await KubernetesHelper.GetResourceByNameMatchAsync<Executable>(kubernetes, executablePattern, r => r.Status?.State == ExecutableState.Running).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 684serviceA = await KubernetesHelper.GetResourceByNameMatchAsync<Executable>(kubernetes, executablePattern, r => r.Status?.State == ExecutableState.Finished).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 689serviceA = await KubernetesHelper.GetResourceByNameMatchAsync<Executable>(kubernetes, executablePattern, r => r.Status?.State == ExecutableState.Running).DefaultTimeout(TestConstants.LongTimeoutDuration); 724var serviceA = await KubernetesHelper.GetResourceByNameAsync<Executable>(kubernetes, $"{testName}-servicea", suffix!, r => r.Status?.EffectiveEnv is not null).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 727var nodeApp = await KubernetesHelper.GetResourceByNameMatchAsync<Executable>(kubernetes, $"{testName}-nodeapp-{ReplicaIdRegex}-{suffix}", r => r.Status?.EffectiveEnv is not null).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 776var aspireDashboard = await KubernetesHelper.GetResourceByNameMatchAsync<Executable>(kubernetes, $"aspire-dashboard-{ReplicaIdRegex}-{suffix}", r => r.Status?.EffectiveEnv is not null).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 816var aspireDashboard = await KubernetesHelper.GetResourceByNameMatchAsync<Executable>(kubernetes, $"aspire-dashboard-{ReplicaIdRegex}-{suffix}", r => r.Status?.EffectiveEnv is not null).DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout); 991await foreach (var resource in s.WatchAsync<Executable>().DefaultTimeout(TestConstants.DefaultOrchestratorTestTimeout)) 993Assert.True(resource.Item2.Metadata.Annotations.TryGetValue(Executable.ResourceNameAnnotation, out var value)); 1182var exeList = await s.ListAsync<Executable>().DefaultTimeout(); 1184var service = Assert.Single(exeList, c => $"{testName}-servicea".Equals(c.AppModelResourceName)); 1240var exeList = await s.ListAsync<Executable>().DefaultTimeout(); 1242var service = Assert.Single(exeList, c => $"{testName}-servicea".Equals(c.AppModelResourceName));