# CertManagerIssuerResource

- Module: [Aspire.Hosting.Kubernetes](/reference/api/typescript/aspire.hosting.kubernetes.md)
- Version: `13.4.0-preview.1.26281.18`
- Kind: `handle`
- Source: [GitHub](https://github.com/microsoft/aspire)

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

## Definition

```typescript
interface CertManagerIssuerResource
  extends IResource,
    IResourceWithParent,
    CertManagerResource]] {
  withAcmeServer(
      serverUrl: string,
      email: string): CertManagerIssuerResource;
  withAcmeServerParam(
      serverUrl: string,
      email: ParameterResource): CertManagerIssuerResource;
  withHttp01Solver(): CertManagerIssuerResource;
  withLetsEncryptProduction(email: string): CertManagerIssuerResource;
  withLetsEncryptProductionParam(email: ParameterResource): CertManagerIssuerResource;
  withLetsEncryptStaging(email: string): CertManagerIssuerResource;
  withLetsEncryptStagingParam(email: ParameterResource): CertManagerIssuerResource;
}
```

## Methods

- [withAcmeServer](/reference/api/typescript/aspire.hosting.kubernetes/certmanagerissuerresource/withacmeserver.md) -- `method` -- Configures the issuer to use a custom ACME directory endpoint (e.g., a private ACME server such as ZeroSSL or step-ca).
    ```typescript
  withAcmeServer(serverUrl: string, email: string): CertManagerIssuerResource
  ```
- [withAcmeServerParam](/reference/api/typescript/aspire.hosting.kubernetes/certmanagerissuerresource/withacmeserverparam.md) -- `method` -- Configures the issuer to use a custom ACME directory endpoint with a parameterized email.
    ```typescript
  withAcmeServerParam(serverUrl: string, email: ParameterResource): CertManagerIssuerResource
  ```
- [withHttp01Solver](/reference/api/typescript/aspire.hosting.kubernetes/certmanagerissuerresource/withhttp01solver.md) -- `method` -- Adds an HTTP-01 ACME challenge solver to the issuer. cert-manager will satisfy the challenge by provisioning a temporary HTTP route at `/.well-known/acme-challenge/{token}` on the same hostname being validated. This requires the hostname to be publicly reachable on port 80.
    ```typescript
  withHttp01Solver(): CertManagerIssuerResource
  ```
- [withLetsEncryptProduction](/reference/api/typescript/aspire.hosting.kubernetes/certmanagerissuerresource/withletsencryptproduction.md) -- `method` -- Configures the issuer to use the Let's Encrypt production ACME endpoint.
    ```typescript
  withLetsEncryptProduction(email: string): CertManagerIssuerResource
  ```
- [withLetsEncryptProductionParam](/reference/api/typescript/aspire.hosting.kubernetes/certmanagerissuerresource/withletsencryptproductionparam.md) -- `method` -- Configures the issuer to use the Let's Encrypt production ACME endpoint, with the contact email supplied via a parameter resolved at deploy time.
    ```typescript
  withLetsEncryptProductionParam(email: ParameterResource): CertManagerIssuerResource
  ```
- [withLetsEncryptStaging](/reference/api/typescript/aspire.hosting.kubernetes/certmanagerissuerresource/withletsencryptstaging.md) -- `method` -- Configures the issuer to use the Let's Encrypt staging ACME endpoint. Certificates issued from staging are not trusted by browsers, but the endpoint has much higher rate limits, making it the right choice for development and CI workflows.
    ```typescript
  withLetsEncryptStaging(email: string): CertManagerIssuerResource
  ```
- [withLetsEncryptStagingParam](/reference/api/typescript/aspire.hosting.kubernetes/certmanagerissuerresource/withletsencryptstagingparam.md) -- `method` -- Configures the issuer to use the Let's Encrypt staging ACME endpoint, with the contact email supplied via a parameter resolved at deploy time.
    ```typescript
  withLetsEncryptStagingParam(email: ParameterResource): CertManagerIssuerResource
  ```
