| File: AzureCertManagerExtensions.cs | Web Access |
| Project: src\src\Aspire.Hosting.Azure.Kubernetes\Aspire.Hosting.Azure.Kubernetes.csproj (Aspire.Hosting.Azure.Kubernetes) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Aspire.Hosting.ApplicationModel; using Aspire.Hosting.Azure.Kubernetes; using Aspire.Hosting.Kubernetes; namespace Aspire.Hosting; /// <summary> /// Provides AKS-specific overloads for installing cert-manager into an /// <see cref="AzureKubernetesEnvironmentResource"/>. /// </summary> public static class AzureCertManagerExtensions { /// <summary> /// Installs cert-manager into the AKS cluster's underlying Kubernetes environment and /// returns a typed <see cref="CertManagerResource"/> that can host issuer resources. /// </summary> /// <ats-summary>Installs cert-manager into an AKS environment</ats-summary> /// <param name="builder">The AKS environment resource builder.</param> /// <param name="name">The Aspire resource name for the cert-manager installation.</param> /// <param name="chartVersion">The cert-manager Helm chart version to install. /// Defaults to a pinned version validated against this Aspire build.</param> /// <returns>A reference to the <see cref="IResourceBuilder{CertManagerResource}"/> for chaining.</returns> /// <ats-returns>The resource builder.</ats-returns> /// <remarks> /// Delegates to <see cref="CertManagerExtensions.AddCertManager(IResourceBuilder{KubernetesEnvironmentResource}, string, string?)"/> /// against the underlying <see cref="AzureKubernetesEnvironmentResource.KubernetesEnvironment"/>, /// mirroring the pattern used by <see cref="AzureKubernetesIngressExtensions.AddHelmChart"/>. /// </remarks> /// <ats-remarks /> [AspireExport] public static IResourceBuilder<CertManagerResource> AddCertManager( this IResourceBuilder<AzureKubernetesEnvironmentResource> builder, [ResourceName] string name, string? chartVersion = null) { ArgumentNullException.ThrowIfNull(builder); ArgumentException.ThrowIfNullOrEmpty(name); var k8sEnvBuilder = builder.ApplicationBuilder.CreateResourceBuilder(builder.Resource.KubernetesEnvironment); return k8sEnvBuilder.AddCertManager(name, chartVersion); } }