KindManifestResourceBuilderExtensions Methods
ClassMethods9 members
Extension methods for adding Kubernetes manifest resources to Kind clusters.
AddManifest(IResourceBuilder<KindClusterResource>, string, string)Section titled AddManifest(IResourceBuilder<KindClusterResource>, string, string)extensionIResourceBuilder<K8sManifestResource> Adds a Kubernetes manifest to be applied to the Kind cluster via
kubectl apply. public static class KindManifestResourceBuilderExtensions{ public static IResourceBuilder<K8sManifestResource> AddManifest( this IResourceBuilder<KindClusterResource> builder, string name, string manifestPath) { // ... }}Parameters
builderIResourceBuilder<KindClusterResource>The Kind cluster resource builder.namestringThe name of the manifest resource.manifestPathstring Absolute path to a Kubernetes manifest file, a directory of manifest files, or a Kustomize overlay directory. Relative paths are not supported. URL fetch is not supported; reference a local file or directory. Returns
IResourceBuilder<K8sManifestResource>A reference to the ApplicationModel.IResourceBuilder`1.Remarks
The manifest is applied after the parent Kind cluster reaches the
KnownResourceStates.Running state. Downstream resources that call WaitFor on the manifest resource only start once kubectl apply succeeds. Requires kubectl on PATH. AddManifestFromContent(IResourceBuilder<KindClusterResource>, string, string)Section titled AddManifestFromContent(IResourceBuilder<KindClusterResource>, string, string)extensionIResourceBuilder<K8sManifestResource> Adds Kubernetes manifest content to be applied to the Kind cluster via
kubectl apply -f -. public static class KindManifestResourceBuilderExtensions{ public static IResourceBuilder<K8sManifestResource> AddManifestFromContent( this IResourceBuilder<KindClusterResource> builder, string name, string content) { // ... }}Parameters
builderIResourceBuilder<KindClusterResource>The Kind cluster resource builder.namestringThe name of the manifest resource.contentstringThe Kubernetes manifest YAML content.Returns
IResourceBuilder<K8sManifestResource>A reference to the ApplicationModel.IResourceBuilder`1.WithApplyTimeout(IResourceBuilder<K8sManifestResource>, TimeSpan)Section titled WithApplyTimeout(IResourceBuilder<K8sManifestResource>, TimeSpan)extensionIResourceBuilder<K8sManifestResource> Sets the maximum time to wait for
kubectl apply to complete. public static class KindManifestResourceBuilderExtensions{ public static IResourceBuilder<K8sManifestResource> WithApplyTimeout( this IResourceBuilder<K8sManifestResource> builder, TimeSpan timeout) { // ... }}Parameters
builderIResourceBuilder<K8sManifestResource>The manifest resource builder.timeoutTimeSpanThe apply timeout.Returns
IResourceBuilder<K8sManifestResource>A reference to the ApplicationModel.IResourceBuilder`1.WithClusterReadyTimeout(IResourceBuilder<K8sManifestResource>, TimeSpan)Section titled WithClusterReadyTimeout(IResourceBuilder<K8sManifestResource>, TimeSpan)extensionIResourceBuilder<K8sManifestResource> Sets the maximum time to wait for the Kubernetes API to become reachable before running
kubectl apply. public static class KindManifestResourceBuilderExtensions{ public static IResourceBuilder<K8sManifestResource> WithClusterReadyTimeout( this IResourceBuilder<K8sManifestResource> builder, TimeSpan timeout) { // ... }}Parameters
builderIResourceBuilder<K8sManifestResource>The manifest resource builder.timeoutTimeSpan The total readiness budget shared across repeated kubectl cluster-info probes. Values are normalized to whole seconds and must fall within the supported timeout range. Returns
IResourceBuilder<K8sManifestResource>A reference to the ApplicationModel.IResourceBuilder`1.Remarks
Use this when the cluster control plane can take longer than the default 60 seconds to begin serving the Kubernetes API, such as on slower developer machines or busy CI hosts.
WithCrdWaitBehavior(IResourceBuilder<K8sManifestResource>, CrdWaitBehavior)Section titled WithCrdWaitBehavior(IResourceBuilder<K8sManifestResource>, CrdWaitBehavior)extensionIResourceBuilder<K8sManifestResource> Sets whether CRD wait failures fail the manifest resource or are logged as best-effort warnings.
public static class KindManifestResourceBuilderExtensions{ public static IResourceBuilder<K8sManifestResource> WithCrdWaitBehavior( this IResourceBuilder<K8sManifestResource> builder, CrdWaitBehavior behavior) { // ... }}Parameters
builderIResourceBuilder<K8sManifestResource>The manifest resource builder.behaviorCrdWaitBehaviorThe CRD wait behavior.Returns
IResourceBuilder<K8sManifestResource>A reference to the ApplicationModel.IResourceBuilder`1.WithCrdWaitTimeout(IResourceBuilder<K8sManifestResource>, TimeSpan)Section titled WithCrdWaitTimeout(IResourceBuilder<K8sManifestResource>, TimeSpan)extensionIResourceBuilder<K8sManifestResource> Sets the maximum time to wait for applied CRDs to reach the
Established condition. public static class KindManifestResourceBuilderExtensions{ public static IResourceBuilder<K8sManifestResource> WithCrdWaitTimeout( this IResourceBuilder<K8sManifestResource> builder, TimeSpan timeout) { // ... }}Parameters
builderIResourceBuilder<K8sManifestResource>The manifest resource builder.timeoutTimeSpanThe CRD wait timeout.Returns
IResourceBuilder<K8sManifestResource>A reference to the ApplicationModel.IResourceBuilder`1.WithFieldManager(IResourceBuilder<K8sManifestResource>, string)Section titled WithFieldManager(IResourceBuilder<K8sManifestResource>, string)extensionIResourceBuilder<K8sManifestResource> Sets the field manager name passed to
kubectl apply --field-manager. public static class KindManifestResourceBuilderExtensions{ public static IResourceBuilder<K8sManifestResource> WithFieldManager( this IResourceBuilder<K8sManifestResource> builder, string fieldManager) { // ... }}Parameters
builderIResourceBuilder<K8sManifestResource>The manifest resource builder.fieldManagerstringThe field manager name.Returns
IResourceBuilder<K8sManifestResource>A reference to the ApplicationModel.IResourceBuilder`1.Remarks
The flag is passed whenever this method is used, but it is primarily meaningful with server-side apply because Kubernetes records managed fields for server-side operations.
WithRecursive(IResourceBuilder<K8sManifestResource>)Section titled WithRecursive(IResourceBuilder<K8sManifestResource>)extensionIResourceBuilder<K8sManifestResource> Recursively applies manifests from subdirectories (maps to
kubectl apply --recursive). Only meaningful when the manifest path is a directory. public static class KindManifestResourceBuilderExtensions{ public static IResourceBuilder<K8sManifestResource> WithRecursive( this IResourceBuilder<K8sManifestResource> builder) { // ... }}Parameters
builderIResourceBuilder<K8sManifestResource>The manifest resource builder.Returns
IResourceBuilder<K8sManifestResource>A reference to the ApplicationModel.IResourceBuilder`1.WithServerSideApply(IResourceBuilder<K8sManifestResource>, bool)Section titled WithServerSideApply(IResourceBuilder<K8sManifestResource>, bool)extensionIResourceBuilder<K8sManifestResource> Applies the manifest server-side (maps to
kubectl apply --server-side). Required for large CRDs that exceed the client-side annotation size limit. public static class KindManifestResourceBuilderExtensions{ public static IResourceBuilder<K8sManifestResource> WithServerSideApply( this IResourceBuilder<K8sManifestResource> builder, bool forceConflicts = false) { // ... }}Parameters
builderIResourceBuilder<K8sManifestResource>The manifest resource builder.forceConflictsbooloptional When true, also passes --force-conflicts to override field ownership held by another field manager (e.g., a controller). Defaults to false. Returns
IResourceBuilder<K8sManifestResource>A reference to the ApplicationModel.IResourceBuilder`1.