# KubernetesIngressResource Constructors

- Package: [Aspire.Hosting.Kubernetes](/reference/api/csharp/aspire.hosting.kubernetes.md)
- Type: [KubernetesIngressResource](/reference/api/csharp/aspire.hosting.kubernetes/kubernetesingressresource.md)
- Kind: `Constructors`
- Members: `1`

Represents a Kubernetes Ingress as a first-class resource in the Aspire application model. An Ingress defines HTTP routing rules that direct external traffic to services in the cluster.

## KubernetesIngressResource(string, KubernetesEnvironmentResource)

- Name: `Constructor(string, KubernetesEnvironmentResource)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/5bd693ae1897dee5e2ce71c2cc08879c1c7eff51/src/Aspire.Hosting.Kubernetes/KubernetesIngressResource.cs#L37-L74)

Represents a Kubernetes Ingress as a first-class resource in the Aspire application model. An Ingress defines HTTP routing rules that direct external traffic to services in the cluster.

```csharp
public class KubernetesIngressResource
{
    public KubernetesIngressResource(
        string name,
        KubernetesEnvironmentResource environment)
    {
        // ...
    }
}
```

## Parameters

- `name` (`string`)
  The name of the ingress resource.
- `environment` ([KubernetesEnvironmentResource](/reference/api/csharp/aspire.hosting.kubernetes/kubernetesenvironmentresource.md))
  The parent Kubernetes environment resource.

## Remarks

Create an ingress using [KubernetesIngressExtensions.AddIngress(IResourceBuilder<KubernetesEnvironmentResource>, string)](/reference/api/csharp/aspire.hosting.kubernetes/kubernetesingressextensions/methods.md#addingress-iresourcebuilder-kubernetesenvironmentresource-string) and configure routes using [KubernetesIngressExtensions.WithRoute(IResourceBuilder<KubernetesIngressResource>, string, EndpointReference, IngressPathType)](/reference/api/csharp/aspire.hosting.kubernetes/kubernetesingressextensions/methods.md#withroute-iresourcebuilder-kubernetesingressresource-string-endpointreference-ingresspathtype).

At publish time, the ingress generates a Kubernetes `networking.k8s.io/v1 Ingress` resource in the Helm chart output with rules derived from the configured routes.

## Examples

```csharp
var k8s = builder.AddKubernetesEnvironment("k8s");
var ingress = k8s.AddIngress("public")
    .WithIngressClass("nginx");

var api = builder.AddProject<MyApi>("api");
ingress.WithRoute("/api", api.GetEndpoint("http"));
```
