# CertManagerIssuerResource

- Kind: `class`
- Package: [Aspire.Hosting.Kubernetes](/reference/api/csharp/aspire.hosting.kubernetes.md)
- Version: `13.4.0-preview.1.26281.18`
- Namespace: `Aspire.Hosting.Kubernetes`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/becb48e2d61099e35ae336d527d3875e928d6594/src/Aspire.Hosting.Kubernetes/CertManagerIssuerResource.cs)
- Inherits: `Resource`
- Implements: `IResource`, `IResourceWithParent`, `IResourceWithParent<CertManagerResource>`

Represents a cert-manager `ClusterIssuer` resource in the Aspire application model.

## Definition

```csharp
namespace Aspire.Hosting.Kubernetes;

public sealed class CertManagerIssuerResource
    : Aspire.Hosting.ApplicationModel.Resource,
      Aspire.Hosting.ApplicationModel.IResource,
      Aspire.Hosting.ApplicationModel.IResourceWithParent,
      Aspire.Hosting.ApplicationModel.IResourceWithParent<Aspire.Hosting.Kubernetes.CertManagerResource>
{
    // ...
}
```

## ATS metadata

### ATS export

- Type ID: `Aspire.Hosting.Kubernetes/CertManagerIssuerResource`

## Remarks

At deploy time, an issuer is rendered to a `cert-manager.io/v1 ClusterIssuer` YAML document and applied to the cluster with `kubectl apply` after the cert-manager Helm chart is installed and its admission webhook is reachable. The manifest is not baked into the helm chart output; it is applied directly so the chart and its issuers can be managed and torn down independently.

Cluster-scoped issuers can be referenced by gateways and ingresses across all namespaces, which matches the typical multi-namespace deployment pattern for Aspire applications.

Namespace-scoped `Issuer` resources are intentionally not modeled in the initial release. [CertManagerExtensions.AddIssuer(IResourceBuilder<CertManagerResource>, string)](/reference/api/csharp/aspire.hosting.kubernetes/certmanagerextensions/methods.md#addissuer-iresourcebuilder-certmanagerresource-string) always produces a cluster-scoped `ClusterIssuer`.

## Constructors

- [CertManagerIssuerResource(string, CertManagerResource)](/reference/api/csharp/aspire.hosting.kubernetes/certmanagerissuerresource/constructors.md#constructor-string-certmanagerresource) -- Initializes a new instance of [CertManagerIssuerResource](/reference/api/csharp/aspire.hosting.kubernetes/certmanagerissuerresource.md).

## Properties

- [Parent](/reference/api/csharp/aspire.hosting.kubernetes/certmanagerissuerresource/properties.md#parent) : [CertManagerResource](/reference/api/csharp/aspire.hosting.kubernetes/certmanagerresource.md) `get` -- Gets the parent cert-manager installation.
