1 type derived from CustomResource
Aspire.Hosting (1)
Dcp\Model\ModelCommon.cs (1)
140internal abstract class CustomResource<TSpec, TStatus> : CustomResource
117 references to CustomResource
Aspire.Hosting (80)
Dcp\AppResource.cs (5)
13public CustomResource DcpResource { get; } 17public AppResource(CustomResource dcpResource) 30var dr = DcpResource; 31var odr = other.DcpResource; 55public RenderedModelResource(IResource modelResource, CustomResource dcpResource): base(dcpResource)
Dcp\DcpExecutor.cs (48)
448async Task WatchKubernetesResourceAsync<T>(Func<WatchEventType, T, Task> handler) where T : CustomResource, IKubernetesStaticMetadata 486private async Task ProcessResourceChange<T>(WatchEventType watchEventType, T resource, ConcurrentDictionary<string, T> resourceByName, string resourceKind, Func<T, CustomResourceSnapshot, CustomResourceSnapshot> snapshotFactory) where T : CustomResource 556else if (resource.Metadata.Annotations?.TryGetValue(CustomResource.ServiceProducerAnnotation, out var servicesProducedAnnotationJson) == true) 608private static string GetResourceType<T>(T resource, IResource appModelResource) where T : CustomResource 619private static ResourceStatus GetResourceStatus(CustomResource resource) 691private void StartLogStream<T>(T resource) where T : CustomResource, IKubernetesStaticMetadata 787CustomResource? cr = resourceKind switch 824where T : CustomResource 933sr.Metadata.Annotations?.TryGetValue(CustomResource.ContainerTunnelInstanceName, out var _) is true && 934sr.Metadata.Annotations?.TryGetValue(CustomResource.ContainerNetworkAnnotation, out var containerNetwork) is true && 951PrimaryServiceName: r.DcpResource.Metadata.Annotations?.TryGetValue(CustomResource.PrimaryServiceNameAnnotation, out var psn) == true ? psn : null) 965private async Task CreateAllDcpObjectsAsync<RT>(CancellationToken cancellationToken) where RT : CustomResource, IKubernetesStaticMetadata 1095ResourceName: r.DcpResource.Metadata.Annotations?.TryGetValue(CustomResource.ResourceNameAnnotation, out var resourceName) == true ? resourceName : null, 1096EndpointName: r.DcpResource.Metadata.Annotations?.TryGetValue(CustomResource.EndpointNameAnnotation, out var endpointName) == true ? endpointName : null, 1097TunnelInstanceName: r.DcpResource.Metadata.Annotations?.TryGetValue(CustomResource.ContainerTunnelInstanceName, out var tunnelInstanceName) == true ? tunnelInstanceName : null, 1098ContainerNetworkName: r.DcpResource.Metadata.Annotations?.TryGetValue(CustomResource.ContainerNetworkAnnotation, out var containerNetworkName) == true ? containerNetworkName : null 1234svc.Annotate(CustomResource.ResourceNameAnnotation, sp.ModelResource.Name); 1235svc.Annotate(CustomResource.EndpointNameAnnotation, endpoint.Name); 1348svc.Annotate(CustomResource.ResourceNameAnnotation, re.Resource.Name); // Resource that implements the service behind the Endpoint. 1349svc.Annotate(CustomResource.EndpointNameAnnotation, endpoint.Name); 1350svc.Annotate(CustomResource.ContainerNetworkAnnotation, tunnelProxy?.Spec?.ContainerNetworkName ?? KnownNetworkIdentifiers.DefaultAspireContainerNetwork.Value); 1351svc.Annotate(CustomResource.PrimaryServiceNameAnnotation, serverSvc.DcpResource.Metadata.Name); 1354svc.Annotate(CustomResource.ContainerTunnelInstanceName, tunnelProxy?.Metadata?.Name ?? ""); 1393containerExec.Annotate(CustomResource.OtelServiceNameAnnotation, containerExecutable.Name); 1394containerExec.Annotate(CustomResource.OtelServiceInstanceIdAnnotation, exeInstance.Suffix); 1395containerExec.Annotate(CustomResource.ResourceNameAnnotation, containerExecutable.Name); 1418exe.Annotate(CustomResource.OtelServiceNameAnnotation, executable.Name); 1419exe.Annotate(CustomResource.OtelServiceInstanceIdAnnotation, exeInstance.Suffix); 1420exe.Annotate(CustomResource.ResourceNameAnnotation, executable.Name); 1463exe.Annotate(CustomResource.OtelServiceNameAnnotation, project.Name); 1464exe.Annotate(CustomResource.OtelServiceInstanceIdAnnotation, exeInstance.Suffix); 1465exe.Annotate(CustomResource.ResourceNameAnnotation, project.Name); 1466exe.Annotate(CustomResource.ResourceReplicaCount, replicas.ToString(CultureInfo.InvariantCulture)); 1467exe.Annotate(CustomResource.ResourceReplicaIndex, i.ToString(CultureInfo.InvariantCulture)); 1547exe.SetAnnotationAsObjectList(CustomResource.ResourceProjectArgsAnnotation, projectArgs); 1570annotationHolder.Annotate(CustomResource.ResourceStateAnnotation, state); 1743if (er.DcpResource.TryGetAnnotationAsObjectList<string>(CustomResource.ResourceProjectArgsAnnotation, out var projectArgs) && projectArgs.Count > 0) 1867er.DcpResource.SetAnnotationAsObjectList(CustomResource.ResourceAppArgsAnnotation, displayArgs.Select(a => new AppLaunchArgumentAnnotation(a.Value, isSensitive: a.IsSensitive))); 2003ctr.Annotate(CustomResource.ResourceNameAnnotation, container.Name); 2004ctr.Annotate(CustomResource.OtelServiceNameAnnotation, container.Name); 2005ctr.Annotate(CustomResource.OtelServiceInstanceIdAnnotation, containerObjectInstance.Suffix); 2338dcpContainerResource.SetAnnotationAsObjectList(CustomResource.ResourceAppArgsAnnotation, configuration.Arguments.Select(a => new AppLaunchArgumentAnnotation(a.Value, isSensitive: a.IsSensitive))); 2499dcpResource.AnnotateAsObjectList(CustomResource.ServiceProducerAnnotation, spAnn); 2503static bool HasMultipleReplicas(CustomResource resource) 2505if (resource is Executable exe && exe.Metadata.Annotations.TryGetValue(CustomResource.ResourceReplicaCount, out var value) && int.TryParse(value, CultureInfo.InvariantCulture, out var replicas) && replicas > 1) 2546private static V1Patch CreatePatch<T>(T obj, Action<T> change) where T : CustomResource 2564var dcpResource = ((RenderedModelResource)resourceReference).DcpResource; 2688async Task EnsureResourceDeletedAsync<T>(string resourceName) where T : CustomResource, IKubernetesStaticMetadata
Dcp\KubernetesService.cs (15)
38where T : CustomResource, IKubernetesStaticMetadata; 40where T : CustomResource, IKubernetesStaticMetadata; 42where T : CustomResource, IKubernetesStaticMetadata; 44where T : CustomResource, IKubernetesStaticMetadata; 46where T : CustomResource, IKubernetesStaticMetadata; 50where T : CustomResource, IKubernetesStaticMetadata; 74) where T : CustomResource, IKubernetesStaticMetadata; 95where T : CustomResource, IKubernetesStaticMetadata 126where T : CustomResource, IKubernetesStaticMetadata 159where T : CustomResource, IKubernetesStaticMetadata 194where T : CustomResource, IKubernetesStaticMetadata 224where T : CustomResource, IKubernetesStaticMetadata 258where T : CustomResource, IKubernetesStaticMetadata 313long? skip = null) where T : CustomResource, IKubernetesStaticMetadata 440private static string GetResourceFor<T>() where T : CustomResource
Dcp\Model\ExecutableReplicaSet.cs (2)
41CustomResource.AnnotateAsObjectList(Annotations, annotationName, value); 46return CustomResource.TryGetAnnotationAsObjectList(Annotations, annotationName, out list);
Dcp\Model\ModelCommon.cs (1)
155where T : CustomResource
Dcp\Model\Schema.cs (2)
10public void Add<T>(string kind, string resource) where T : CustomResource 15public bool TryGet<T>(out (string Kind, string Resource) kindWithResource) where T : CustomResource
Dcp\ResourceLogSource.cs (1)
19where TResource : CustomResource, IKubernetesStaticMetadata
Dcp\ResourceSnapshotBuilder.cs (4)
206private static (ImmutableArray<string> Args, ImmutableArray<int>? ArgsAreSensitive, bool IsSensitive)? GetLaunchArgs(CustomResource resource) 208if (!resource.TryGetAnnotationAsObjectList(CustomResource.ResourceAppArgsAnnotation, out List<AppLaunchArgumentAnnotation>? launchArgumentAnnotations)) 231private ImmutableArray<UrlSnapshot> GetUrls(CustomResource resource, string? resourceState) 324private static ImmutableArray<VolumeSnapshot> GetVolumes(CustomResource resource)
OtlpConfigurationExtensions.cs (2)
76context.EnvironmentVariables[KnownOtelConfigNames.ResourceAttributes] = "service.instance.id={{- index .Annotations \"" + CustomResource.OtelServiceInstanceIdAnnotation + "\" -}}"; 77context.EnvironmentVariables[KnownOtelConfigNames.ServiceName] = "{{- index .Annotations \"" + CustomResource.OtelServiceNameAnnotation + "\" -}}";
Aspire.Hosting.Tests (37)
Dcp\DcpExecutorTests.cs (22)
165Assert.True(exe.TryGetAnnotationAsObjectList<AppLaunchArgumentAnnotation>(CustomResource.ResourceAppArgsAnnotation, out var argAnnotations)); 201Assert.True(exe.TryGetAnnotationAsObjectList<AppLaunchArgumentAnnotation>(CustomResource.ResourceAppArgsAnnotation, out var argAnnotations)); 244Assert.True(exe1.TryGetAnnotationAsObjectList<AppLaunchArgumentAnnotation>(CustomResource.ResourceAppArgsAnnotation, out var argAnnotations1)); 262Assert.True(exe2.TryGetAnnotationAsObjectList<AppLaunchArgumentAnnotation>(CustomResource.ResourceAppArgsAnnotation, out var argAnnotations2)); 281Assert.True(dcpExe.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 313Assert.True(dcpExe.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 345Assert.True(dcpExe.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 378Assert.True(dcpExe.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 435Assert.True(dcpExe.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 469Assert.True(dcpExe.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 503Assert.True(dcpExe.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 594Assert.Equal(expectedName, exe.Metadata.Annotations[CustomResource.OtelServiceNameAnnotation]); 907Assert.True(dcpExe.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 952Assert.True(dcpExe.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 985Assert.True(dcpCtr.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 1020Assert.True(dcpCtr.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 1101Assert.True(dcpCtr.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 1137Assert.True(dcpCtr.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 1174Assert.True(dcpCtr.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 1211Assert.True(dcpCtr.TryGetAnnotationAsObjectList<ServiceProducerAnnotation>(CustomResource.ServiceProducerAnnotation, out var spAnnList)); 1384var serviceProducers = JsonSerializer.Deserialize<List<ServiceProducerAnnotation>>(annotations[CustomResource.ServiceProducerAnnotation]); 2270&& x.Metadata.Annotations.ContainsKey(CustomResource.ContainerTunnelInstanceName))
Dcp\TestKubernetesService.cs (13)
24public ConcurrentQueue<CustomResource> CreatedResources { get; } = []; 27private readonly List<Channel<(WatchEventType, CustomResource)>> _watchChannels = []; 28private readonly Func<CustomResource, string, Stream> _startStream; 32public TestKubernetesService(Func<CustomResource, string, Stream>? startStream = null, bool ignoreDeletes = false) 38public Task<T> GetAsync<T>(string name, string? namespaceParameter = null, CancellationToken _ = default) where T : CustomResource, IKubernetesStaticMetadata 59public Task<T> CreateAsync<T>(T obj, CancellationToken cancellationToken = default) where T : CustomResource, IKubernetesStaticMetadata 93public void PushResourceModified(CustomResource resource) 104public async Task<T> DeleteAsync<T>(string name, string? namespaceParameter = null, CancellationToken cancellationToken = default) where T : CustomResource, IKubernetesStaticMetadata 124public Task<List<T>> ListAsync<T>(string? namespaceParameter = null, CancellationToken cancellationToken = default) where T : CustomResource, IKubernetesStaticMetadata 132public async IAsyncEnumerable<(WatchEventType, T)> WatchAsync<T>(string? namespaceParameter = null, [EnumeratorCancellation] CancellationToken cancellationToken = default) where T : CustomResource, IKubernetesStaticMetadata 134var chan = Channel.CreateUnbounded<(WatchEventType, CustomResource)>(); 175) where T : CustomResource, IKubernetesStaticMetadata 180public Task<T> PatchAsync<T>(T obj, V1Patch patch, CancellationToken cancellationToken = default) where T : CustomResource, IKubernetesStaticMetadata
Helpers\KubernetesHelper.cs (2)
13public static async Task<T> GetResourceByNameAsync<T>(IKubernetesService kubernetes, string resourceName, string resourceNameSuffix, Func<T, bool> ready, CancellationToken cancellationToken = default) where T : CustomResource, IKubernetesStaticMetadata 28public static async Task<T> GetResourceByNameMatchAsync<T>(IKubernetesService kubernetes, string resourceNamePattern, Func<T, bool> ready, CancellationToken cancellationToken = default) where T : CustomResource, IKubernetesStaticMetadata