Kind Cluster Pool
@evrardjp/kind-cluster-poolv2026.07.20.1
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.
03Models
@evrardjp/kind-cluster-poolv2026.07.20.1kind_cluster_pool.ts
Global Arguments
| Argument | Type | Description |
|---|---|---|
| n | number | |
| kindConfig | string | kind cluster config YAML |
| kindBinary | string | Path 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.
| Argument | Type | Description |
|---|---|---|
| clusterId | string | UUID 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