# K3sClusterOptions

- Kind: `class`
- Package: [CommunityToolkit.Aspire.Hosting.K3s](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s.md)
- Version: `13.4.1-beta.706`
- Namespace: `CommunityToolkit.Aspire.Hosting`
- Target framework: `net10.0`
- Source: [GitHub](https://github.com/CommunityToolkit/Aspire/blob/d479e13473b1d29d06b974f144a0049289a3cb5c/src/CommunityToolkit.Aspire.Hosting.K3s/K3sClusterOptions.cs)

Advanced options for [K3sBuilderExtensions.AddK3sCluster(IDistributedApplicationBuilder, string, int?, int?)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#addk3scluster-idistributedapplicationbuilder-string-int-int).

## Definition

```csharp
namespace CommunityToolkit.Aspire.Hosting;

public sealed class K3sClusterOptions
{
    // ...
}
```

## Remarks

Most settings are exposed directly as fluent builder methods -- prefer those for discoverability and TypeScript polyglot compatibility:

- [K3sBuilderExtensions.WithAgentCount(IResourceBuilder<K3sClusterResource>, int)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#withagentcount-iresourcebuilder-k3sclusterresource-int) -- number of worker nodes
- [K3sBuilderExtensions.WithK3sVersion(IResourceBuilder<K3sClusterResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#withk3sversion-iresourcebuilder-k3sclusterresource-string) -- k3s image tag
- [K3sBuilderExtensions.WithPodSubnet(IResourceBuilder<K3sClusterResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#withpodsubnet-iresourcebuilder-k3sclusterresource-string) -- pod CIDR ( `--cluster-cidr`)
- [K3sBuilderExtensions.WithServiceSubnet(IResourceBuilder<K3sClusterResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#withservicesubnet-iresourcebuilder-k3sclusterresource-string) -- service CIDR ( `--service-cidr`)
- [K3sBuilderExtensions.WithDisabledComponent(IResourceBuilder<K3sClusterResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#withdisabledcomponent-iresourcebuilder-k3sclusterresource-string) -- disable built-in components
- [K3sBuilderExtensions.WithExtraArg(IResourceBuilder<K3sClusterResource>, string)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#withextraarg-iresourcebuilder-k3sclusterresource-string) -- raw k3s server arguments
- [K3sBuilderExtensions.WithHelmImage(IResourceBuilder<K3sClusterResource>, string?, string?, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#withhelmimage-iresourcebuilder-k3sclusterresource-string-string-string) -- Helm installer image
- [K3sBuilderExtensions.WithKubectlImage(IResourceBuilder<K3sClusterResource>, string?, string?, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#withkubectlimage-iresourcebuilder-k3sclusterresource-string-string-string) -- kubectl image
- [K3sBuilderExtensions.WithDataVolume(IResourceBuilder<K3sClusterResource>, string?)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#withdatavolume-iresourcebuilder-k3sclusterresource-string) -- persistent data volume
- [K3sBuilderExtensions.WithLifetime(IResourceBuilder<K3sClusterResource>, ContainerLifetime)](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sbuilderextensions/methods.md#withlifetime-iresourcebuilder-k3sclusterresource-containerlifetime) -- container lifetime

## Constructors

- [K3sClusterOptions](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/constructors.md#constructor)

## Properties

- [AgentCount](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#agentcount) : `int` `get; set` -- Gets or sets the number of agent (worker) nodes. Defaults to `0` (single-node cluster).
- [ClusterCidr](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#clustercidr) : `string?` `get; set` -- Gets or sets the pod IP address range in CIDR notation ( `--cluster-cidr`). Defaults to k3s built-in value of `10.42.0.0/16` when `null`.
- [DisabledComponents](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#disabledcomponents) : `IList<string>` `get` -- Gets the list of built-in k3s components to disable (each passed as `--disable=<component>`).
- [ExtraArgs](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#extraargs) : `IList<string>` `get` -- Gets the list of raw arguments appended verbatim to the `k3s server` command.
- [HelmImage](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#helmimage) : `string` `get; set` -- Gets or sets the Helm installer image name. Defaults to `alpine/helm`.
- [HelmRegistry](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#helmregistry) : `string` `get; set` -- Gets or sets the container registry for the Helm installer image. Defaults to `docker.io`.
- [HelmTag](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#helmtag) : `string` `get; set` -- Gets or sets the Helm installer image tag. Defaults to `3.17.3`.
- [ImageTag](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#imagetag) : `string?` `get; set` -- Gets or sets the k3s container image tag, e.g. `v1.32.3-k3s1`. When `null` the version bundled with this package is used.
- [KubectlImage](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#kubectlimage) : `string` `get; set` -- Gets or sets the kubectl image name. Defaults to `alpine/kubectl`.
- [KubectlRegistry](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#kubectlregistry) : `string` `get; set` -- Gets or sets the container registry for the kubectl image. Defaults to `docker.io`.
- [KubectlTag](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#kubectltag) : `string` `get; set` -- Gets or sets the kubectl image tag. Defaults to `1.36.0`.
- [ServiceCidr](/reference/api/csharp/communitytoolkit.aspire.hosting.k3s/k3sclusteroptions/properties.md#servicecidr) : `string?` `get; set` -- Gets or sets the Service cluster IP address range in CIDR notation ( `--service-cidr`). Defaults to k3s built-in value of `10.43.0.0/16` when `null`.
