# K8sManifestResource

- Kind: `class`
- Package: [CommunityToolkit.Aspire.Hosting.K3s](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s.md)
- Version: `13.4.1-beta.706`
- Namespace: `Aspire.Hosting.ApplicationModel`
- Target framework: `net10.0`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.K3s/K8sManifestResource.cs)
- Inherits: `ContainerResource`
- Implements: `IResource`, `IResourceWithParent`, `IResourceWithParent<K3sClusterResource>`

Represents a Kubernetes manifest (or Kustomize overlay) applied to the parent k3s cluster.

## Definition

```csharp
namespace Aspire.Hosting.ApplicationModel;

public sealed class K8sManifestResource
    : Aspire.Hosting.ApplicationModel.ContainerResource,
      Aspire.Hosting.ApplicationModel.IResource,
      Aspire.Hosting.ApplicationModel.IResourceWithParent,
      Aspire.Hosting.ApplicationModel.IResourceWithParent<Aspire.Hosting.ApplicationModel.K3sClusterResource>
{
    // ...
}
```

## ATS metadata

### ATS export

- Type ID: `CommunityToolkit.Aspire.Hosting.K3s/K8sManifestResource`
- Public instance properties are exported as ATS capabilities.

## Remarks

The resource runs as an `alpine/kubectl` container. It polls until the cluster kubeconfig is available, then applies the manifests with `kubectl apply --server-side` and waits for any CRDs to reach the `Established` condition before exiting with code 0. Use `WaitForCompletion(manifest)` on resources that depend on these manifests being applied.

## Constructors

- [K8sManifestResource(string, string, K3sClusterResource)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k8smanifestresource/constructors.md#constructor-string-string-k3sclusterresource) -- Represents a Kubernetes manifest (or Kustomize overlay) applied to the parent k3s cluster.

## Properties

- [Parent](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k8smanifestresource/properties.md#parent) : [K3sClusterResource](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusterresource.md) `get` -- Gets the parent resource of type [K3sClusterResource](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusterresource.md).
- [Path](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k8smanifestresource/properties.md#path) : `string` `get` -- Gets the absolute host path to the YAML file, plain directory, or Kustomize directory that contains the manifests to apply.
