Skip to main content

Kind Cluster Pool

@evrardjp/kind-cluster-poolv2026.07.20.1· 5d agoMODELS
01README

Desired-size pool of local kind clusters with reserve, release, reconciliation, and status operations for test infrastructure.

02Release Notes

2026.07.20.1

Added: Initial release of @evrardjp/kind-cluster-pool, with desired-size initialization, atomic reservation, release, reconciliation, replacement, and health reporting for local kind test clusters.

Upgrade note: The Swamp execution host must provide kind and a working container runtime.

Changed: Pool size and subprocess concurrency are bounded, force reinitialization cannot orphan existing clusters, and discovery failures abort reconciliation.

Fixed: Reconciliation replaces tracked clusters that disappeared outside the model, and failed initial state persistence cleans up newly created clusters.

03Models1
@evrardjp/kind-cluster-poolv2026.07.20.1kind_cluster_pool.ts

Global Arguments

ArgumentTypeDescription
nnumber
kindConfigstringkind cluster config YAML
kindBinarystringPath to kind binary
fn initialize()
Create N kind clusters and seed the pool. Existing pools are skipped; force=true is rejected when state exists to prevent cluster leaks.
fn reserve()
Atomically claim one ready cluster under Swamp's exclusive per-model method lock. Returns clusterId, clusterName, and base64-encoded kubeconfig.
fn release(clusterId: string)
Mark a cluster as deleting after test use. Deletion and replenishment happen on the next sync.
ArgumentTypeDescription
clusterIdstringUUID returned by reserve
fn sync()
Delete 'deleting' clusters, evict surplus 'ready' clusters if n decreased, then create replacements to restore the pool to n. Idempotent.
fn status()
Report pool health: cluster counts by state and invariant check.

Resources

state(infinite)— Pool registry — cluster IDs, names, states, kubeconfigs
reserve(infinite)— Output of the last successful reserve call
status(7d)— Pool health snapshot

Files

log(text/plain)— Execution log
04Stats
A
100 / 100
Downloads
0
Archive size
9.6 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
05Platforms
06Labels