diff --git a/site/content/en/docs/user/kwokctl-snapshot.md b/site/content/en/docs/user/kwokctl-snapshot/_index.md
similarity index 50%
rename from site/content/en/docs/user/kwokctl-snapshot.md
rename to site/content/en/docs/user/kwokctl-snapshot/_index.md
index 4c95d3702..834a2fbdd 100644
--- a/site/content/en/docs/user/kwokctl-snapshot.md
+++ b/site/content/en/docs/user/kwokctl-snapshot/_index.md
@@ -10,12 +10,11 @@ This document walks you through how to save and restore a cluster with `kwokctl`
{{< /hint >}}
-So far, we provide two ways to save and restore clusters:
+## etcd snapshot
-- etcd snapshot (default)
-- k8s yaml
+Save and restore clusters from etcd
-## etcd snapshot
+
### Save Cluster
@@ -29,14 +28,16 @@ kwokctl snapshot save --path snapshot.db
kwokctl snapshot restore --path snapshot.db
```
-## k8s yaml
+## k8s yaml snapshot
+
+Save and restore clusters from apiserver
-We can use `--filter` to filter the resources you want to save or restore.
+
### Save Cluster
``` bash
-kwokctl snapshot save --path cluster.yaml --format k8s
+kwokctl snapshot record --snapshot --path cluster.yaml
```
### Restore Cluster
@@ -46,19 +47,19 @@ and the `ownerReference` field of the resources is updated to re-link them with
so we can preserve the hierarchy and dependencies of the resources in restore.
``` bash
-kwokctl snapshot restore --path cluster.yaml --format k8s
+kwokctl snapshot replay --snapshot --path cluster.yaml
```
-## Export External Cluster
+### Export External Cluster
-This like `kwokctl snapshot save --format k8s` but it will use the kubeconfig to connect to the cluster.
+It will use the kubeconfig to connect to the cluster and export resources.
This is useful when you want to snapshot a cluster that is not managed by `kwokctl`.
``` bash
kwokctl snapshot export --path external-snapshot.yaml --kubeconfig /path/to/kubeconfig
```
-### Restore External Cluster
+#### Restore External Cluster
Let's restore the cluster we just exported.
@@ -67,5 +68,38 @@ so we can preserve the hierarchy and dependencies of the resources in restore.
``` bash
kwokctl create cluster
-kwokctl snapshot restore --path external-snapshot.yaml --format k8s
+kwokctl snapshot replay --path external-snapshot.yaml --snapshot
+```
+
+## k8s yaml recording
+
+Record and replay cluster over time from apiserver
+
+
+
+### Record Cluster
+
+Press Ctrl+C to stop recording resources
+
+``` bash
+kwokctl snapshot record --path recording.yaml
+```
+
+### Replay Cluster
+
+``` bash
+kwokctl snapshot replay --path recording.yaml
+```
+
+### Export External Cluster
+
+``` bash
+kwokctl snapshot export --path external-recording.yaml --record --kubeconfig /path/to/kubeconfig
+```
+
+#### Replay External Cluster
+
+``` bash
+kwokctl create cluster
+kwokctl snapshot replay --path external-recording.yaml
```
diff --git a/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.cast b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.cast
new file mode 100644
index 000000000..5c2553c11
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.cast
@@ -0,0 +1,664 @@
+{"version": 2, "width": 86, "height": 24, "timestamp": 1716532377, "env": {}}
+[0.010271, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[0.517555, "o", "#"]
+[0.551571, "o", " "]
+[0.580407, "o", "L"]
+[0.604992, "o", "e"]
+[0.629127, "o", "t"]
+[0.65694, "o", "'"]
+[0.686235, "o", "s"]
+[0.715365, "o", " "]
+[0.74416, "o", "g"]
+[0.769856, "o", "e"]
+[0.800004, "o", "t"]
+[0.826777, "o", " "]
+[0.855966, "o", "s"]
+[0.882339, "o", "t"]
+[0.908093, "o", "a"]
+[0.937841, "o", "r"]
+[0.967202, "o", "t"]
+[0.992772, "o", "e"]
+[1.021493, "o", "d"]
+[1.050109, "o", " "]
+[1.080011, "o", "w"]
+[1.109739, "o", "i"]
+[1.139293, "o", "t"]
+[1.169374, "o", "h"]
+[1.196086, "o", " "]
+[1.225279, "o", "k"]
+[1.250741, "o", "w"]
+[1.274535, "o", "o"]
+[1.302763, "o", "k"]
+[1.331536, "o", "c"]
+[1.360625, "o", "t"]
+[1.390313, "o", "l"]
+[1.418601, "o", "!"]
+[1.560525, "o", "\r\n"]
+[1.560752, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[2.570445, "o", "k"]
+[2.583056, "o", "w"]
+[2.598678, "o", "o"]
+[2.613957, "o", "k"]
+[2.62965, "o", "c"]
+[2.64497, "o", "t"]
+[2.660777, "o", "l"]
+[2.676665, "o", " "]
+[2.692374, "o", "c"]
+[2.71011, "o", "r"]
+[2.727117, "o", "e"]
+[2.743004, "o", "a"]
+[2.761227, "o", "t"]
+[2.786347, "o", "e"]
+[2.804371, "o", " "]
+[2.819427, "o", "c"]
+[2.833979, "o", "l"]
+[2.848564, "o", "u"]
+[2.863054, "o", "s"]
+[2.87772, "o", "t"]
+[2.893663, "o", "e"]
+[2.912716, "o", "r"]
+[3.439213, "o", "\r\n"]
+[3.561513, "o", "Cluster is creating cluster=kwok\r\n"]
+[4.458503, "o", "Cluster is created elapsed=0.8s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"]
+[5.108187, "o", "Cluster is started elapsed=0.6s cluster=kwok\r\n"]
+[5.10874, "o", "You can now use your cluster with:\r\n\r\n\tkubectl cluster-info --context kwok-kwok\r\n\r\nThanks for using kwok!\r\n"]
+[5.11096, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.1174, "o", "\r\n"]
+[7.118166, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.631322, "o", "#"]
+[7.676464, "o", " "]
+[7.709754, "o", "C"]
+[7.741443, "o", "r"]
+[7.776591, "o", "e"]
+[7.808639, "o", "a"]
+[7.844034, "o", "t"]
+[7.877314, "o", "e"]
+[7.912684, "o", " "]
+[7.939726, "o", "t"]
+[7.974735, "o", "h"]
+[8.004814, "o", "e"]
+[8.04264, "o", " "]
+[8.074565, "o", "n"]
+[8.109923, "o", "o"]
+[8.149386, "o", "d"]
+[8.205834, "o", "e"]
+[8.236172, "o", "s"]
+[8.265799, "o", "."]
+[8.42836, "o", "\r\n"]
+[8.429196, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[9.445659, "o", "k"]
+[9.465006, "o", "w"]
+[9.496061, "o", "o"]
+[9.512393, "o", "k"]
+[9.528509, "o", "c"]
+[9.552245, "o", "t"]
+[9.568843, "o", "l"]
+[9.587619, "o", " "]
+[9.608165, "o", "s"]
+[9.629365, "o", "c"]
+[9.64526, "o", "a"]
+[9.66597, "o", "l"]
+[9.692901, "o", "e"]
+[9.708549, "o", " "]
+[9.732674, "o", "n"]
+[9.753529, "o", "o"]
+[9.771203, "o", "d"]
+[9.7905, "o", "e"]
+[9.810503, "o", " "]
+[9.83321, "o", "-"]
+[9.854263, "o", "-"]
+[9.874467, "o", "r"]
+[9.892606, "o", "e"]
+[9.91423, "o", "p"]
+[9.932702, "o", "l"]
+[9.95129, "o", "i"]
+[9.972333, "o", "c"]
+[9.993775, "o", "a"]
+[10.015318, "o", "s"]
+[10.036118, "o", " "]
+[10.055224, "o", "2"]
+[10.584987, "o", "\r\n"]
+[10.634811, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"]
+[10.678983, "o", "Load resources counter=2 elapsed=15ms resource=nodes replicas=2 name=node cluster=kwok\r\n"]
+[10.681344, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[12.692032, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[13.212465, "o", "#"]
+[13.244997, "o", " "]
+[13.274898, "o", "A"]
+[13.307118, "o", "p"]
+[13.338543, "o", "p"]
+[13.368878, "o", "l"]
+[13.399883, "o", "y"]
+[13.429886, "o", " "]
+[13.463075, "o", "a"]
+[13.493897, "o", " "]
+[13.530821, "o", "d"]
+[13.561378, "o", "e"]
+[13.602941, "o", "p"]
+[13.640523, "o", "l"]
+[13.673849, "o", "o"]
+[13.702924, "o", "y"]
+[13.742441, "o", "m"]
+[13.77905, "o", "e"]
+[13.810033, "o", "n"]
+[13.849652, "o", "t"]
+[13.882868, "o", "."]
+[14.023144, "o", "\r\n"]
+[14.023645, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[15.039772, "o", "k"]
+[15.068438, "o", "u"]
+[15.102597, "o", "b"]
+[15.121239, "o", "e"]
+[15.139451, "o", "c"]
+[15.159998, "o", "t"]
+[15.1792, "o", "l"]
+[15.206198, "o", " "]
+[15.221083, "o", "c"]
+[15.246683, "o", "r"]
+[15.265198, "o", "e"]
+[15.281911, "o", "a"]
+[15.301967, "o", "t"]
+[15.335482, "o", "e"]
+[15.371497, "o", " "]
+[15.388961, "o", "d"]
+[15.408381, "o", "e"]
+[15.42653, "o", "p"]
+[15.4472, "o", "l"]
+[15.468495, "o", "o"]
+[15.487387, "o", "y"]
+[15.504781, "o", "m"]
+[15.52249, "o", "e"]
+[15.541108, "o", "n"]
+[15.560112, "o", "t"]
+[15.578161, "o", " "]
+[15.595927, "o", "a"]
+[15.622165, "o", "p"]
+[15.637598, "o", "p"]
+[15.656079, "o", " "]
+[15.674754, "o", "-"]
+[15.695941, "o", "-"]
+[15.715349, "o", "i"]
+[15.734528, "o", "m"]
+[15.7644, "o", "a"]
+[15.786946, "o", "g"]
+[15.805151, "o", "e"]
+[15.821523, "o", "="]
+[15.841094, "o", "a"]
+[15.861529, "o", "p"]
+[15.877418, "o", "p"]
+[15.900943, "o", " "]
+[15.931583, "o", "-"]
+[15.95475, "o", "-"]
+[15.979902, "o", "r"]
+[16.00738, "o", "e"]
+[16.035629, "o", "p"]
+[16.062597, "o", "l"]
+[16.082649, "o", "i"]
+[16.10103, "o", "c"]
+[16.12017, "o", "a"]
+[16.136796, "o", "s"]
+[16.15381, "o", "="]
+[16.172025, "o", "3"]
+[16.724509, "o", "\r\n"]
+[16.795606, "o", "deployment.apps/app created\r\n"]
+[16.796571, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[18.80592, "o", "\r\n"]
+[18.806775, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[19.319809, "o", "#"]
+[19.354632, "o", " "]
+[19.390101, "o", "L"]
+[19.421854, "o", "e"]
+[19.450131, "o", "t"]
+[19.480864, "o", "'"]
+[19.509726, "o", "s"]
+[19.539093, "o", " "]
+[19.569936, "o", "h"]
+[19.597862, "o", "a"]
+[19.630641, "o", "v"]
+[19.666041, "o", "e"]
+[19.698543, "o", " "]
+[19.740571, "o", "a"]
+[19.775148, "o", " "]
+[19.812209, "o", "l"]
+[19.843476, "o", "o"]
+[19.881895, "o", "o"]
+[19.922876, "o", "k"]
+[19.95857, "o", " "]
+[19.997402, "o", "a"]
+[20.043893, "o", "t"]
+[20.072419, "o", " "]
+[20.102289, "o", "t"]
+[20.130285, "o", "h"]
+[20.162651, "o", "e"]
+[20.203655, "o", " "]
+[20.233136, "o", "p"]
+[20.263347, "o", "o"]
+[20.310363, "o", "d"]
+[20.340915, "o", " "]
+[20.385128, "o", "n"]
+[20.413889, "o", "a"]
+[20.442748, "o", "m"]
+[20.474264, "o", "e"]
+[20.519781, "o", "."]
+[20.660066, "o", "\r\n"]
+[20.660476, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[21.681185, "o", "k"]
+[21.698099, "o", "u"]
+[21.725102, "o", "b"]
+[21.744876, "o", "e"]
+[21.763993, "o", "c"]
+[21.791664, "o", "t"]
+[21.809308, "o", "l"]
+[21.826064, "o", " "]
+[21.845329, "o", "g"]
+[21.863369, "o", "e"]
+[21.881001, "o", "t"]
+[21.903275, "o", " "]
+[21.926074, "o", "p"]
+[21.947475, "o", "o"]
+[21.965444, "o", "d"]
+[22.494386, "o", "\r\n"]
+[22.581581, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-9s7m9 1/1 Running 0 6s\r\napp-67f9df97bd-rj4qn 1/1 Running 0 "]
+[22.581612, "o", "6s\r\napp-67f9df97bd-wb7s2 1/1 Running 0 6s\r\n"]
+[22.582825, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[24.588987, "o", "\r\n"]
+[24.589067, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[25.100388, "o", "#"]
+[25.136502, "o", " "]
+[25.175985, "o", "S"]
+[25.217948, "o", "a"]
+[25.252398, "o", "v"]
+[25.283367, "o", "e"]
+[25.312897, "o", " "]
+[25.345673, "o", "i"]
+[25.382252, "o", "t"]
+[25.413674, "o", " "]
+[25.444108, "o", "t"]
+[25.474502, "o", "o"]
+[25.50454, "o", " "]
+[25.537422, "o", "s"]
+[25.566747, "o", "n"]
+[25.597695, "o", "a"]
+[25.638057, "o", "p"]
+[25.665573, "o", "s"]
+[25.695946, "o", "h"]
+[25.729982, "o", "o"]
+[25.762899, "o", "t"]
+[25.800239, "o", "."]
+[25.842885, "o", "d"]
+[25.872404, "o", "b"]
+[26.030323, "o", "\r\n"]
+[26.030489, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[27.047291, "o", "k"]
+[27.072493, "o", "w"]
+[27.0981, "o", "o"]
+[27.122022, "o", "k"]
+[27.147026, "o", "c"]
+[27.171772, "o", "t"]
+[27.191875, "o", "l"]
+[27.214388, "o", " "]
+[27.230527, "o", "s"]
+[27.249781, "o", "n"]
+[27.267986, "o", "a"]
+[27.291378, "o", "p"]
+[27.320956, "o", "s"]
+[27.34577, "o", "h"]
+[27.363868, "o", "o"]
+[27.385036, "o", "t"]
+[27.407143, "o", " "]
+[27.424898, "o", "s"]
+[27.444285, "o", "a"]
+[27.491833, "o", "v"]
+[27.506304, "o", "e"]
+[27.520526, "o", " "]
+[27.542281, "o", "-"]
+[27.564028, "o", "-"]
+[27.587979, "o", "p"]
+[27.616814, "o", "a"]
+[27.636093, "o", "t"]
+[27.655749, "o", "h"]
+[27.67273, "o", " "]
+[27.690975, "o", "s"]
+[27.707988, "o", "n"]
+[27.72617, "o", "a"]
+[27.743784, "o", "p"]
+[27.76065, "o", "s"]
+[27.778804, "o", "h"]
+[27.808638, "o", "o"]
+[27.826872, "o", "t"]
+[27.845624, "o", "."]
+[27.864032, "o", "d"]
+[27.882032, "o", "b"]
+[28.41971, "o", "\r\n"]
+[28.63963, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[30.650542, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[31.172365, "o", "#"]
+[31.207446, "o", " "]
+[31.239837, "o", "R"]
+[31.275597, "o", "e"]
+[31.313104, "o", "c"]
+[31.34263, "o", "r"]
+[31.384509, "o", "e"]
+[31.418475, "o", "a"]
+[31.454722, "o", "t"]
+[31.485995, "o", "e"]
+[31.515859, "o", " "]
+[31.54644, "o", "c"]
+[31.578373, "o", "l"]
+[31.609796, "o", "u"]
+[31.639181, "o", "s"]
+[31.68167, "o", "t"]
+[31.732616, "o", "e"]
+[31.769431, "o", "r"]
+[31.912555, "o", "\r\n"]
+[31.917219, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[32.939063, "o", "k"]
+[32.971383, "o", "w"]
+[32.996145, "o", "o"]
+[33.017295, "o", "k"]
+[33.035866, "o", "c"]
+[33.054377, "o", "t"]
+[33.074736, "o", "l"]
+[33.091318, "o", " "]
+[33.107586, "o", "d"]
+[33.121621, "o", "e"]
+[33.136841, "o", "l"]
+[33.153841, "o", "e"]
+[33.17075, "o", "t"]
+[33.189169, "o", "e"]
+[33.209235, "o", " "]
+[33.229258, "o", "c"]
+[33.251247, "o", "l"]
+[33.273122, "o", "u"]
+[33.289634, "o", "s"]
+[33.303455, "o", "t"]
+[33.319565, "o", "e"]
+[33.335039, "o", "r"]
+[33.352571, "o", " "]
+[33.369807, "o", ">"]
+[33.388972, "o", " "]
+[33.410223, "o", "/"]
+[33.429581, "o", "d"]
+[33.449889, "o", "e"]
+[33.469706, "o", "v"]
+[33.491492, "o", "/"]
+[33.509143, "o", "n"]
+[33.525209, "o", "u"]
+[33.547078, "o", "l"]
+[33.566971, "o", "l"]
+[33.584538, "o", " "]
+[33.602684, "o", "2"]
+[33.633026, "o", ">"]
+[33.651173, "o", "&"]
+[33.670592, "o", "1"]
+[33.695456, "o", " "]
+[33.713242, "o", "&"]
+[33.735936, "o", "&"]
+[33.752958, "o", " "]
+[33.782852, "o", "k"]
+[33.801918, "o", "w"]
+[33.831044, "o", "o"]
+[33.861518, "o", "k"]
+[33.878447, "o", "c"]
+[33.896279, "o", "t"]
+[33.91465, "o", "l"]
+[33.947398, "o", " "]
+[33.965986, "o", "c"]
+[33.993545, "o", "r"]
+[34.01495, "o", "e"]
+[34.039847, "o", "a"]
+[34.064084, "o", "t"]
+[34.091244, "o", "e"]
+[34.10852, "o", " "]
+[34.125409, "o", "c"]
+[34.143556, "o", "l"]
+[34.161457, "o", "u"]
+[34.178516, "o", "s"]
+[34.194558, "o", "t"]
+[34.21026, "o", "e"]
+[34.227416, "o", "r"]
+[34.24391, "o", " "]
+[34.26607, "o", ">"]
+[34.281162, "o", " "]
+[34.298581, "o", "/"]
+[34.316756, "o", "d"]
+[34.343205, "o", "e"]
+[34.36849, "o", "v"]
+[34.390019, "o", "/"]
+[34.408397, "o", "n"]
+[34.427244, "o", "u"]
+[34.4449, "o", "l"]
+[34.472012, "o", "l"]
+[34.490287, "o", " "]
+[34.508205, "o", "2"]
+[34.527562, "o", ">"]
+[34.55559, "o", "&"]
+[34.588629, "o", "1"]
+[35.120131, "o", "\r\n"]
+[37.690573, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[39.702273, "o", "\r\n"]
+[39.702476, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[40.223038, "o", "#"]
+[40.255054, "o", " "]
+[40.292207, "o", "R"]
+[40.327089, "o", "e"]
+[40.366222, "o", "s"]
+[40.397781, "o", "t"]
+[40.436337, "o", "o"]
+[40.47542, "o", "r"]
+[40.51324, "o", "e"]
+[40.542626, "o", " "]
+[40.570958, "o", "i"]
+[40.597024, "o", "s"]
+[40.625654, "o", " "]
+[40.65975, "o", "f"]
+[40.688976, "o", "r"]
+[40.722425, "o", "o"]
+[40.759645, "o", "m"]
+[40.793943, "o", " "]
+[40.824067, "o", "s"]
+[40.851085, "o", "n"]
+[40.881677, "o", "a"]
+[40.910642, "o", "p"]
+[40.942233, "o", "s"]
+[40.97459, "o", "h"]
+[41.00608, "o", "o"]
+[41.042932, "o", "t"]
+[41.068316, "o", "."]
+[41.095496, "o", "d"]
+[41.122684, "o", "b"]
+[41.252664, "o", "\r\n"]
+[41.252753, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[42.26196, "o", "k"]
+[42.28015, "o", "w"]
+[42.297868, "o", "o"]
+[42.315302, "o", "k"]
+[42.332129, "o", "c"]
+[42.348338, "o", "t"]
+[42.365345, "o", "l"]
+[42.381609, "o", " "]
+[42.398813, "o", "s"]
+[42.415862, "o", "n"]
+[42.430474, "o", "a"]
+[42.447439, "o", "p"]
+[42.462383, "o", "s"]
+[42.478303, "o", "h"]
+[42.494194, "o", "o"]
+[42.507606, "o", "t"]
+[42.522741, "o", " "]
+[42.537991, "o", "r"]
+[42.553406, "o", "e"]
+[42.569359, "o", "s"]
+[42.585063, "o", "t"]
+[42.601168, "o", "o"]
+[42.617014, "o", "r"]
+[42.631497, "o", "e"]
+[42.648208, "o", " "]
+[42.663527, "o", "-"]
+[42.679247, "o", "-"]
+[42.696169, "o", "p"]
+[42.712658, "o", "a"]
+[42.729619, "o", "t"]
+[42.744022, "o", "h"]
+[42.759383, "o", " "]
+[42.775396, "o", "s"]
+[42.791914, "o", "n"]
+[42.808115, "o", "a"]
+[42.823928, "o", "p"]
+[42.840417, "o", "s"]
+[42.855373, "o", "h"]
+[42.871795, "o", "o"]
+[42.887307, "o", "t"]
+[42.902095, "o", "."]
+[42.914118, "o", "d"]
+[42.928478, "o", "b"]
+[43.450335, "o", "\r\n"]
+[45.69, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[47.700174, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[48.214922, "o", "#"]
+[48.254206, "o", " "]
+[48.288751, "o", "L"]
+[48.315686, "o", "e"]
+[48.346784, "o", "t"]
+[48.377771, "o", "'"]
+[48.410581, "o", "s"]
+[48.441871, "o", " "]
+[48.47086, "o", "h"]
+[48.503136, "o", "a"]
+[48.537863, "o", "v"]
+[48.571877, "o", "e"]
+[48.607631, "o", " "]
+[48.643369, "o", "a"]
+[48.675416, "o", " "]
+[48.710387, "o", "l"]
+[48.751543, "o", "o"]
+[48.789659, "o", "o"]
+[48.822597, "o", "k"]
+[48.854971, "o", " "]
+[48.891377, "o", "a"]
+[48.936438, "o", "t"]
+[48.968774, "o", " "]
+[49.006852, "o", "t"]
+[49.041291, "o", "h"]
+[49.067163, "o", "e"]
+[49.103524, "o", " "]
+[49.134258, "o", "p"]
+[49.167093, "o", "o"]
+[49.202931, "o", "d"]
+[49.23976, "o", " "]
+[49.274626, "o", "n"]
+[49.303848, "o", "a"]
+[49.336134, "o", "m"]
+[49.36499, "o", "e"]
+[49.391092, "o", " "]
+[49.421392, "o", "a"]
+[49.451999, "o", "g"]
+[49.486538, "o", "a"]
+[49.527705, "o", "i"]
+[49.559281, "o", "n"]
+[49.594796, "o", "."]
+[49.740948, "o", "\r\n"]
+[49.743068, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[50.764117, "o", "k"]
+[50.788927, "o", "u"]
+[50.819227, "o", "b"]
+[50.839962, "o", "e"]
+[50.863332, "o", "c"]
+[50.88745, "o", "t"]
+[50.909271, "o", "l"]
+[50.927108, "o", " "]
+[50.944784, "o", "g"]
+[50.963175, "o", "e"]
+[50.98693, "o", "t"]
+[51.005546, "o", " "]
+[51.023676, "o", "p"]
+[51.041626, "o", "o"]
+[51.060055, "o", "d"]
+[51.593215, "o", "\r\n"]
+[51.681606, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-9s7m9 1/1 Running 0 35s\r\napp-67f9df97bd-rj4qn 1/1 Running 0 35s\r\napp-67f9df97bd-wb7s2 1/1 Running 0 35s"]
+[51.681776, "o", "\r\n"]
+[51.682747, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[53.68945, "o", "\r\n"]
+[53.689603, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[54.209882, "o", "#"]
+[54.249525, "o", " "]
+[54.276894, "o", "D"]
+[54.306154, "o", "e"]
+[54.339584, "o", "l"]
+[54.372526, "o", "e"]
+[54.406214, "o", "t"]
+[54.439554, "o", "e"]
+[54.46875, "o", " "]
+[54.517719, "o", "t"]
+[54.554482, "o", "h"]
+[54.588403, "o", "e"]
+[54.622776, "o", " "]
+[54.657625, "o", "c"]
+[54.693927, "o", "l"]
+[54.743617, "o", "u"]
+[54.787933, "o", "s"]
+[54.834663, "o", "t"]
+[54.876446, "o", "e"]
+[54.907359, "o", "r"]
+[54.937188, "o", "."]
+[55.087532, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[56.114701, "o", "k"]
+[56.144709, "o", "w"]
+[56.171048, "o", "o"]
+[56.189275, "o", "k"]
+[56.208099, "o", "c"]
+[56.223949, "o", "t"]
+[56.239682, "o", "l"]
+[56.262608, "o", " "]
+[56.282296, "o", "d"]
+[56.302725, "o", "e"]
+[56.318188, "o", "l"]
+[56.336034, "o", "e"]
+[56.377296, "o", "t"]
+[56.393603, "o", "e"]
+[56.408294, "o", " "]
+[56.425365, "o", "c"]
+[56.45592, "o", "l"]
+[56.470702, "o", "u"]
+[56.483776, "o", "s"]
+[56.502711, "o", "t"]
+[56.523146, "o", "e"]
+[56.542672, "o", "r"]
+[57.078536, "o", "\r\n"]
+[57.128119, "o", "Cluster is stopping cluster=kwok\r\n"]
+[57.534842, "o", "Cluster is stopped elapsed=0.4s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"]
+[57.985663, "o", "Cluster is deleted elapsed=0.4s cluster=kwok\r\n"]
+[57.986561, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[59.994625, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[60.508473, "o", "#"]
+[60.53786, "o", " "]
+[60.567623, "o", "T"]
+[60.598679, "o", "h"]
+[60.633028, "o", "a"]
+[60.663586, "o", "t"]
+[60.691881, "o", "'"]
+[60.72295, "o", "s"]
+[60.760355, "o", " "]
+[60.790275, "o", "a"]
+[60.819195, "o", "l"]
+[60.849814, "o", "l"]
+[60.881337, "o", ","]
+[60.912688, "o", " "]
+[60.94625, "o", "e"]
+[60.981081, "o", "n"]
+[61.016989, "o", "j"]
+[61.052104, "o", "o"]
+[61.089727, "o", "y"]
+[61.121709, "o", " "]
+[61.164951, "o", "i"]
+[61.20659, "o", "t"]
+[61.237693, "o", "!"]
+[61.398289, "o", "\r\n"]
+[61.398606, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[62.412178, "o", "c"]
+[62.443559, "o", "l"]
+[62.462452, "o", "e"]
+[62.479202, "o", "a"]
+[62.495485, "o", "r"]
+[63.026676, "o", "\r\n"]
+[63.037625, "o", "\u001b[3J\u001b[H\u001b[2J"]
diff --git a/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.demo b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.demo
new file mode 100644
index 000000000..89f9dd2bd
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.demo
@@ -0,0 +1,29 @@
+# Let's get started with kwokctl!
+kwokctl create cluster
+
+# Create the nodes.
+kwokctl scale node --replicas 2
+
+# Apply a deployment.
+kubectl create deployment app --image=app --replicas=3
+
+# Let's have a look at the pod name.
+kubectl get pod
+
+# Save it to snapshot.db
+kwokctl snapshot save --path snapshot.db
+
+# Recreate cluster
+kwokctl delete cluster > /dev/null 2>&1 && kwokctl create cluster > /dev/null 2>&1
+
+# Restore is from snapshot.db
+kwokctl snapshot restore --path snapshot.db
+
+# Let's have a look at the pod name again.
+kubectl get pod
+
+# Delete the cluster.
+kwokctl delete cluster
+
+# That's all, enjoy it!
+clear
diff --git a/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.svg b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.svg
new file mode 100644
index 000000000..4c840bd94
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.cast b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.cast
new file mode 100644
index 000000000..d1304307f
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.cast
@@ -0,0 +1,816 @@
+{"version": 2, "width": 86, "height": 24, "timestamp": 1716532217, "env": {}}
+[0.011114, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[0.526271, "o", "#"]
+[0.555585, "o", " "]
+[0.586443, "o", "L"]
+[0.617653, "o", "e"]
+[0.647241, "o", "t"]
+[0.672989, "o", "'"]
+[0.702339, "o", "s"]
+[0.731948, "o", " "]
+[0.759649, "o", "g"]
+[0.7898, "o", "e"]
+[0.822543, "o", "t"]
+[0.852287, "o", " "]
+[0.881954, "o", "s"]
+[0.91133, "o", "t"]
+[0.940254, "o", "a"]
+[0.970201, "o", "r"]
+[0.995022, "o", "t"]
+[1.024456, "o", "e"]
+[1.052023, "o", "d"]
+[1.076982, "o", " "]
+[1.102659, "o", "w"]
+[1.132221, "o", "i"]
+[1.162157, "o", "t"]
+[1.189451, "o", "h"]
+[1.215106, "o", " "]
+[1.239821, "o", "k"]
+[1.269239, "o", "w"]
+[1.297326, "o", "o"]
+[1.32655, "o", "k"]
+[1.356298, "o", "c"]
+[1.385806, "o", "t"]
+[1.415525, "o", "l"]
+[1.442948, "o", "!"]
+[1.577319, "o", "\r\n"]
+[1.578696, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[2.587211, "o", "k"]
+[2.606917, "o", "w"]
+[2.624662, "o", "o"]
+[2.641921, "o", "k"]
+[2.65945, "o", "c"]
+[2.676459, "o", "t"]
+[2.693099, "o", "l"]
+[2.710089, "o", " "]
+[2.727114, "o", "c"]
+[2.743752, "o", "r"]
+[2.760005, "o", "e"]
+[2.776422, "o", "a"]
+[2.790749, "o", "t"]
+[2.806826, "o", "e"]
+[2.822206, "o", " "]
+[2.837972, "o", "c"]
+[2.851761, "o", "l"]
+[2.867561, "o", "u"]
+[2.881995, "o", "s"]
+[2.897958, "o", "t"]
+[2.912986, "o", "e"]
+[2.92668, "o", "r"]
+[3.451856, "o", "\r\n"]
+[3.547407, "o", "Cluster is creating cluster=kwok\r\n"]
+[4.435312, "o", "Cluster is created elapsed=0.8s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"]
+[5.21587, "o", "Cluster is started elapsed=0.7s cluster=kwok\r\nYou can now use your cluster with:\r\n\r\n\tkubectl cluster-info --context kwok-kwok\r\n\r\nThanks for using kwok!\r\n"]
+[5.216819, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.226039, "o", "\r\n"]
+[7.22621, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.740117, "o", "#"]
+[7.774512, "o", " "]
+[7.806717, "o", "R"]
+[7.834483, "o", "e"]
+[7.865206, "o", "c"]
+[7.901122, "o", "o"]
+[7.935891, "o", "r"]
+[7.964445, "o", "d"]
+[7.989912, "o", " "]
+[8.021383, "o", "i"]
+[8.052485, "o", "t"]
+[8.085164, "o", " "]
+[8.118159, "o", "t"]
+[8.148476, "o", "o"]
+[8.184003, "o", " "]
+[8.215751, "o", "r"]
+[8.249093, "o", "e"]
+[8.281971, "o", "c"]
+[8.315363, "o", "o"]
+[8.350452, "o", "r"]
+[8.381557, "o", "d"]
+[8.415466, "o", "i"]
+[8.44308, "o", "n"]
+[8.472414, "o", "g"]
+[8.505839, "o", "."]
+[8.542693, "o", "y"]
+[8.577374, "o", "a"]
+[8.616493, "o", "m"]
+[8.649439, "o", "l"]
+[8.7909, "o", "\r\n"]
+[8.791051, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[9.804224, "o", "k"]
+[9.825872, "o", "w"]
+[9.845116, "o", "o"]
+[9.860612, "o", "k"]
+[9.880643, "o", "c"]
+[9.89814, "o", "t"]
+[9.920645, "o", "l"]
+[9.948226, "o", " "]
+[9.965968, "o", "s"]
+[9.981254, "o", "n"]
+[9.997303, "o", "a"]
+[10.015034, "o", "p"]
+[10.033761, "o", "s"]
+[10.050674, "o", "h"]
+[10.068323, "o", "o"]
+[10.084832, "o", "t"]
+[10.104415, "o", " "]
+[10.122343, "o", "r"]
+[10.139721, "o", "e"]
+[10.156074, "o", "c"]
+[10.172026, "o", "o"]
+[10.187731, "o", "r"]
+[10.205108, "o", "d"]
+[10.222529, "o", " "]
+[10.239942, "o", "-"]
+[10.257077, "o", "-"]
+[10.274172, "o", "p"]
+[10.290816, "o", "a"]
+[10.307644, "o", "t"]
+[10.324451, "o", "h"]
+[10.341298, "o", " "]
+[10.357162, "o", "r"]
+[10.373405, "o", "e"]
+[10.389928, "o", "c"]
+[10.4064, "o", "o"]
+[10.422894, "o", "r"]
+[10.439458, "o", "d"]
+[10.455856, "o", "i"]
+[10.469865, "o", "n"]
+[10.484607, "o", "g"]
+[10.498973, "o", "."]
+[10.514932, "o", "y"]
+[10.528273, "o", "a"]
+[10.543361, "o", "m"]
+[10.558555, "o", "l"]
+[10.573652, "o", " "]
+[10.589832, "o", "&"]
+[11.115757, "o", "\r\n"]
+[11.11716, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[11.155135, "o", "Saving snapshot and recording cluster=kwok\r\n"]
+[11.212077, "o", "Recording cluster=kwok\r\nPress Ctrl+C to stop recording resources cluster=kwok\r\n"]
+[13.124348, "o", "\r\n"]
+[13.125151, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[13.633218, "o", "#"]
+[13.661914, "o", " "]
+[13.694066, "o", "R"]
+[13.723578, "o", "e"]
+[13.749836, "o", "c"]
+[13.776273, "o", "o"]
+[13.807525, "o", "r"]
+[13.835247, "o", "d"]
+[13.86127, "o", " "]
+[13.89039, "o", "s"]
+[13.920957, "o", "o"]
+[13.952262, "o", "m"]
+[13.981088, "o", "e"]
+[14.014408, "o", " "]
+[14.044631, "o", "c"]
+[14.078401, "o", "h"]
+[14.112862, "o", "a"]
+[14.144537, "o", "n"]
+[14.178483, "o", "g"]
+[14.209716, "o", "e"]
+[14.241679, "o", "."]
+[14.383095, "o", "\r\n"]
+[14.384046, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[15.394088, "o", "k"]
+[15.412476, "o", "w"]
+[15.429936, "o", "o"]
+[15.447566, "o", "k"]
+[15.463662, "o", "c"]
+[15.480765, "o", "t"]
+[15.497307, "o", "l"]
+[15.514049, "o", " "]
+[15.531145, "o", "s"]
+[15.547931, "o", "c"]
+[15.564516, "o", "a"]
+[15.580044, "o", "l"]
+[15.595896, "o", "e"]
+[15.612277, "o", " "]
+[15.628728, "o", "n"]
+[15.644658, "o", "o"]
+[15.661061, "o", "d"]
+[15.67754, "o", "e"]
+[15.693536, "o", " "]
+[15.709744, "o", "-"]
+[15.726098, "o", "-"]
+[15.741622, "o", "r"]
+[15.756667, "o", "e"]
+[15.770943, "o", "p"]
+[15.784813, "o", "l"]
+[15.798565, "o", "i"]
+[15.813855, "o", "c"]
+[15.828176, "o", "a"]
+[15.843113, "o", "s"]
+[15.857741, "o", " "]
+[15.873186, "o", "2"]
+[16.401995, "o", "\r\n"]
+[16.436772, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"]
+[16.480967, "o", "Load resources counter=2 elapsed=27ms resource=nodes replicas=2 name=node cluster=kwok\r\n"]
+[16.482284, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[17.494767, "o", "k"]
+[17.512758, "o", "u"]
+[17.527772, "o", "b"]
+[17.5445, "o", "e"]
+[17.561738, "o", "c"]
+[17.578668, "o", "t"]
+[17.595818, "o", "l"]
+[17.612669, "o", " "]
+[17.629531, "o", "c"]
+[17.645913, "o", "r"]
+[17.662414, "o", "e"]
+[17.677191, "o", "a"]
+[17.692387, "o", "t"]
+[17.709129, "o", "e"]
+[17.725827, "o", " "]
+[17.741591, "o", "d"]
+[17.758317, "o", "e"]
+[17.775746, "o", "p"]
+[17.791102, "o", "l"]
+[17.808075, "o", "o"]
+[17.82422, "o", "y"]
+[17.84099, "o", "m"]
+[17.856999, "o", "e"]
+[17.872986, "o", "n"]
+[17.889591, "o", "t"]
+[17.905631, "o", " "]
+[17.921781, "o", "a"]
+[17.938118, "o", "p"]
+[17.954776, "o", "p"]
+[17.971086, "o", " "]
+[17.986638, "o", "-"]
+[18.003973, "o", "-"]
+[18.021947, "o", "i"]
+[18.037659, "o", "m"]
+[18.053137, "o", "a"]
+[18.068821, "o", "g"]
+[18.082421, "o", "e"]
+[18.098079, "o", "="]
+[18.114223, "o", "a"]
+[18.129828, "o", "p"]
+[18.146541, "o", "p"]
+[18.163239, "o", " "]
+[18.177212, "o", "-"]
+[18.194116, "o", "-"]
+[18.210968, "o", "r"]
+[18.227981, "o", "e"]
+[18.244985, "o", "p"]
+[18.261393, "o", "l"]
+[18.278055, "o", "i"]
+[18.294889, "o", "c"]
+[18.311879, "o", "a"]
+[18.328104, "o", "s"]
+[18.343181, "o", "="]
+[18.360192, "o", "3"]
+[18.888472, "o", "\r\n"]
+[18.955589, "o", "deployment.apps/app created\r\n"]
+[18.956496, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[19.963305, "o", "k"]
+[19.977984, "o", "u"]
+[19.994656, "o", "b"]
+[20.011145, "o", "e"]
+[20.029117, "o", "c"]
+[20.064634, "o", "t"]
+[20.076903, "o", "l"]
+[20.090602, "o", " "]
+[20.105322, "o", "d"]
+[20.12093, "o", "e"]
+[20.139018, "o", "l"]
+[20.155771, "o", "e"]
+[20.173404, "o", "t"]
+[20.192159, "o", "e"]
+[20.208146, "o", " "]
+[20.224669, "o", "d"]
+[20.240734, "o", "e"]
+[20.258887, "o", "p"]
+[20.274012, "o", "l"]
+[20.290085, "o", "o"]
+[20.308268, "o", "y"]
+[20.324824, "o", "m"]
+[20.346904, "o", "e"]
+[20.366819, "o", "n"]
+[20.383164, "o", "t"]
+[20.399137, "o", " "]
+[20.415945, "o", "a"]
+[20.433857, "o", "p"]
+[20.451132, "o", "p"]
+[20.977281, "o", "\r\n"]
+[21.044718, "o", "deployment.apps \"app\" deleted\r\n"]
+[21.04895, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[22.058449, "o", "k"]
+[22.07802, "o", "w"]
+[22.095519, "o", "o"]
+[22.113347, "o", "k"]
+[22.12972, "o", "c"]
+[22.146588, "o", "t"]
+[22.162492, "o", "l"]
+[22.176766, "o", " "]
+[22.189591, "o", "s"]
+[22.203917, "o", "c"]
+[22.218451, "o", "a"]
+[22.233094, "o", "l"]
+[22.249435, "o", "e"]
+[22.265293, "o", " "]
+[22.283496, "o", "n"]
+[22.301528, "o", "o"]
+[22.319409, "o", "d"]
+[22.337017, "o", "e"]
+[22.352815, "o", " "]
+[22.368373, "o", "-"]
+[22.386386, "o", "-"]
+[22.403588, "o", "r"]
+[22.420857, "o", "e"]
+[22.437366, "o", "p"]
+[22.455225, "o", "l"]
+[22.472888, "o", "i"]
+[22.489804, "o", "c"]
+[22.506677, "o", "a"]
+[22.523082, "o", "s"]
+[22.540241, "o", " "]
+[22.55718, "o", "0"]
+[23.079462, "o", "\r\n"]
+[23.112356, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"]
+[23.148482, "o", "Deleted resources counter=2 elapsed=22ms resource=nodes replicas=0 name=node cluster=kwok\r\n"]
+[23.149773, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[25.16201, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[25.672729, "o", "#"]
+[25.702363, "o", " "]
+[25.733437, "o", "F"]
+[25.763953, "o", "i"]
+[25.79437, "o", "n"]
+[25.824894, "o", "i"]
+[25.852148, "o", "s"]
+[25.881319, "o", "h"]
+[25.911292, "o", " "]
+[25.941189, "o", "t"]
+[25.969203, "o", "h"]
+[25.999095, "o", "e"]
+[26.027074, "o", " "]
+[26.054705, "o", "r"]
+[26.084858, "o", "e"]
+[26.108029, "o", "c"]
+[26.134289, "o", "o"]
+[26.159284, "o", "r"]
+[26.183683, "o", "d"]
+[26.208209, "o", "."]
+[26.34601, "o", "\r\n"]
+[26.346692, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[27.367635, "o", "p"]
+[27.385165, "o", "k"]
+[27.40409, "o", "i"]
+[27.42216, "o", "l"]
+[27.439067, "o", "l"]
+[27.454632, "o", " "]
+[27.471777, "o", "k"]
+[27.48921, "o", "w"]
+[27.50609, "o", "o"]
+[27.521906, "o", "k"]
+[27.539053, "o", "c"]
+[27.555352, "o", "t"]
+[27.571739, "o", "l"]
+[28.099097, "o", "\r\n"]
+[28.137451, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[30.145985, "o", "\r\n"]
+[30.146525, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[30.662833, "o", "#"]
+[30.692674, "o", " "]
+[30.723958, "o", "R"]
+[30.751499, "o", "e"]
+[30.786082, "o", "c"]
+[30.821467, "o", "r"]
+[30.854147, "o", "e"]
+[30.886609, "o", "a"]
+[30.918334, "o", "t"]
+[30.947255, "o", "e"]
+[30.977335, "o", " "]
+[31.009077, "o", "c"]
+[31.039413, "o", "l"]
+[31.070562, "o", "u"]
+[31.107552, "o", "s"]
+[31.137238, "o", "t"]
+[31.165438, "o", "e"]
+[31.194959, "o", "r"]
+[31.228826, "o", "."]
+[31.366715, "o", "\r\n"]
+[31.36734, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[32.378245, "o", "k"]
+[32.40042, "o", "w"]
+[32.418215, "o", "o"]
+[32.432941, "o", "k"]
+[32.449989, "o", "c"]
+[32.467007, "o", "t"]
+[32.483023, "o", "l"]
+[32.499821, "o", " "]
+[32.516754, "o", "d"]
+[32.532324, "o", "e"]
+[32.54954, "o", "l"]
+[32.562553, "o", "e"]
+[32.577498, "o", "t"]
+[32.591383, "o", "e"]
+[32.60745, "o", " "]
+[32.623061, "o", "c"]
+[32.63952, "o", "l"]
+[32.655424, "o", "u"]
+[32.670468, "o", "s"]
+[32.68617, "o", "t"]
+[32.702646, "o", "e"]
+[32.719411, "o", "r"]
+[32.736603, "o", " "]
+[32.753531, "o", ">"]
+[32.770177, "o", " "]
+[32.787218, "o", "/"]
+[32.803235, "o", "d"]
+[32.81997, "o", "e"]
+[32.836801, "o", "v"]
+[32.852927, "o", "/"]
+[32.867995, "o", "n"]
+[32.883679, "o", "u"]
+[32.900428, "o", "l"]
+[32.91538, "o", "l"]
+[32.930645, "o", " "]
+[32.947717, "o", "2"]
+[32.963854, "o", ">"]
+[32.980442, "o", "&"]
+[32.996195, "o", "1"]
+[33.011669, "o", " "]
+[33.027563, "o", "&"]
+[33.043454, "o", "&"]
+[33.060372, "o", " "]
+[33.076896, "o", "k"]
+[33.093412, "o", "w"]
+[33.109704, "o", "o"]
+[33.124347, "o", "k"]
+[33.140618, "o", "c"]
+[33.157131, "o", "t"]
+[33.173559, "o", "l"]
+[33.189912, "o", " "]
+[33.206392, "o", "c"]
+[33.22239, "o", "r"]
+[33.238387, "o", "e"]
+[33.253127, "o", "a"]
+[33.269216, "o", "t"]
+[33.284174, "o", "e"]
+[33.298987, "o", " "]
+[33.313855, "o", "c"]
+[33.329627, "o", "l"]
+[33.346225, "o", "u"]
+[33.362361, "o", "s"]
+[33.378096, "o", "t"]
+[33.394457, "o", "e"]
+[33.410713, "o", "r"]
+[33.427369, "o", " "]
+[33.444005, "o", ">"]
+[33.460492, "o", " "]
+[33.47643, "o", "/"]
+[33.493085, "o", "d"]
+[33.509842, "o", "e"]
+[33.52663, "o", "v"]
+[33.544014, "o", "/"]
+[33.560867, "o", "n"]
+[33.577549, "o", "u"]
+[33.594637, "o", "l"]
+[33.611609, "o", "l"]
+[33.628367, "o", " "]
+[33.644838, "o", "2"]
+[33.661403, "o", ">"]
+[33.677857, "o", "&"]
+[33.694882, "o", "1"]
+[34.220864, "o", "\r\n"]
+[36.803616, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[38.811873, "o", "\r\n"]
+[38.81236, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[39.32397, "o", "#"]
+[39.357009, "o", " "]
+[39.391255, "o", "L"]
+[39.424781, "o", "e"]
+[39.457384, "o", "t"]
+[39.491264, "o", "'"]
+[39.524, "o", "s"]
+[39.554741, "o", " "]
+[39.58859, "o", "h"]
+[39.621593, "o", "a"]
+[39.64926, "o", "v"]
+[39.682503, "o", "e"]
+[39.715948, "o", " "]
+[39.742741, "o", "a"]
+[39.77097, "o", " "]
+[39.798453, "o", "l"]
+[39.825947, "o", "o"]
+[39.858727, "o", "o"]
+[39.891107, "o", "k"]
+[39.927702, "o", " "]
+[39.969014, "o", "a"]
+[39.995757, "o", "t"]
+[40.02241, "o", " "]
+[40.052769, "o", "t"]
+[40.082524, "o", "h"]
+[40.109979, "o", "e"]
+[40.140834, "o", " "]
+[40.172838, "o", "r"]
+[40.20582, "o", "e"]
+[40.235971, "o", "s"]
+[40.268006, "o", "o"]
+[40.293754, "o", "u"]
+[40.319512, "o", "r"]
+[40.350494, "o", "c"]
+[40.377718, "o", "e"]
+[40.404573, "o", " "]
+[40.437073, "o", "c"]
+[40.466308, "o", "h"]
+[40.496051, "o", "a"]
+[40.528746, "o", "n"]
+[40.558144, "o", "g"]
+[40.587923, "o", "e"]
+[40.620919, "o", "."]
+[40.767065, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[41.775134, "o", "k"]
+[41.794446, "o", "u"]
+[41.812705, "o", "b"]
+[41.828144, "o", "e"]
+[41.841809, "o", "c"]
+[41.859305, "o", "t"]
+[41.876581, "o", "l"]
+[41.894122, "o", " "]
+[41.909264, "o", "g"]
+[41.927048, "o", "e"]
+[41.941921, "o", "t"]
+[41.958908, "o", " "]
+[41.974569, "o", "n"]
+[41.991281, "o", "o"]
+[42.008218, "o", "d"]
+[42.024707, "o", "e"]
+[42.040809, "o", " "]
+[42.058015, "o", "-"]
+[42.074138, "o", "-"]
+[42.091336, "o", "w"]
+[42.106701, "o", "a"]
+[42.122786, "o", "t"]
+[42.136383, "o", "c"]
+[42.152125, "o", "h"]
+[42.165515, "o", " "]
+[42.18067, "o", "&"]
+[42.706033, "o", "\r\n"]
+[42.707712, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[43.716589, "o", "k"]
+[43.735787, "o", "u"]
+[43.754443, "o", "b"]
+[43.771468, "o", "e"]
+[43.787258, "o", "c"]
+[43.802644, "o", "t"]
+[43.819154, "o", "l"]
+[43.834793, "o", " "]
+[43.853174, "o", "g"]
+[43.869777, "o", "e"]
+[43.886718, "o", "t"]
+[43.903437, "o", " "]
+[43.921026, "o", "d"]
+[43.937836, "o", "e"]
+[43.953299, "o", "p"]
+[43.970773, "o", "l"]
+[43.988166, "o", "o"]
+[44.004799, "o", "y"]
+[44.020997, "o", "m"]
+[44.038403, "o", "e"]
+[44.055493, "o", "n"]
+[44.071817, "o", "t"]
+[44.088525, "o", " "]
+[44.104798, "o", "-"]
+[44.121767, "o", "-"]
+[44.138276, "o", "w"]
+[44.154543, "o", "a"]
+[44.171308, "o", "t"]
+[44.187969, "o", "c"]
+[44.20442, "o", "h"]
+[44.221285, "o", " "]
+[44.238481, "o", "&"]
+[44.762541, "o", "\r\n"]
+[44.764394, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[45.776295, "o", "k"]
+[45.796623, "o", "u"]
+[45.811526, "o", "b"]
+[45.829654, "o", "e"]
+[45.854359, "o", "c"]
+[45.870348, "o", "t"]
+[45.888322, "o", "l"]
+[45.906016, "o", " "]
+[45.921951, "o", "g"]
+[45.93969, "o", "e"]
+[45.956538, "o", "t"]
+[45.973191, "o", " "]
+[45.990234, "o", "p"]
+[46.006775, "o", "o"]
+[46.023643, "o", "d"]
+[46.040259, "o", " "]
+[46.05617, "o", "-"]
+[46.07198, "o", "-"]
+[46.087022, "o", "w"]
+[46.103044, "o", "a"]
+[46.115529, "o", "t"]
+[46.130044, "o", "c"]
+[46.144804, "o", "h"]
+[46.159021, "o", " "]
+[46.173819, "o", "&"]
+[46.700105, "o", "\r\n"]
+[46.702139, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[48.713669, "o", "\r\n"]
+[48.714766, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[49.228654, "o", "#"]
+[49.256725, "o", " "]
+[49.284519, "o", "R"]
+[49.311569, "o", "e"]
+[49.33796, "o", "p"]
+[49.364918, "o", "l"]
+[49.401863, "o", "a"]
+[49.433284, "o", "y"]
+[49.463447, "o", " "]
+[49.494149, "o", "i"]
+[49.525528, "o", "t"]
+[49.555477, "o", " "]
+[49.585369, "o", "f"]
+[49.614953, "o", "r"]
+[49.644219, "o", "o"]
+[49.672981, "o", "m"]
+[49.702171, "o", " "]
+[49.731448, "o", "c"]
+[49.763128, "o", "l"]
+[49.796513, "o", "u"]
+[49.828739, "o", "s"]
+[49.859106, "o", "t"]
+[49.888836, "o", "e"]
+[49.919544, "o", "r"]
+[49.950147, "o", "."]
+[49.98156, "o", "y"]
+[50.011114, "o", "a"]
+[50.039374, "o", "m"]
+[50.071129, "o", "l"]
+[50.212441, "o", "\r\n"]
+[50.214055, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[51.226075, "o", "k"]
+[51.245842, "o", "w"]
+[51.263579, "o", "o"]
+[51.280692, "o", "k"]
+[51.299306, "o", "c"]
+[51.314951, "o", "t"]
+[51.332379, "o", "l"]
+[51.348152, "o", " "]
+[51.366224, "o", "s"]
+[51.384633, "o", "n"]
+[51.401537, "o", "a"]
+[51.418402, "o", "p"]
+[51.434337, "o", "s"]
+[51.450065, "o", "h"]
+[51.465965, "o", "o"]
+[51.481489, "o", "t"]
+[51.495292, "o", " "]
+[51.509068, "o", "r"]
+[51.524668, "o", "e"]
+[51.538684, "o", "p"]
+[51.554609, "o", "l"]
+[51.570778, "o", "a"]
+[51.587475, "o", "y"]
+[51.603884, "o", " "]
+[51.6206, "o", "-"]
+[51.637439, "o", "-"]
+[51.654063, "o", "p"]
+[51.670267, "o", "a"]
+[51.687125, "o", "t"]
+[51.704029, "o", "h"]
+[51.720626, "o", " "]
+[51.73741, "o", "r"]
+[51.751967, "o", "e"]
+[51.767228, "o", "c"]
+[51.781455, "o", "o"]
+[51.797253, "o", "r"]
+[51.812231, "o", "d"]
+[51.828765, "o", "i"]
+[51.845315, "o", "n"]
+[51.861635, "o", "g"]
+[51.878346, "o", "."]
+[51.894506, "o", "y"]
+[51.911426, "o", "a"]
+[51.927992, "o", "m"]
+[51.943261, "o", "l"]
+[52.469936, "o", "\r\n"]
+[53.027783, "o", "Restoring snapshot and replaying cluster=kwok\r\n"]
+[53.174607, "o", "Replaying cluster=kwok\r\nPress `Space` key to pause, press `Enter` key to continue cluster=kwok\r\nPress `U` key to speed up, press `D` key to speed down cluster=kwok\r\n"]
+[53.174694, "o", "\u001b[0;31mERROR\u001b[0m Failed to get key err=\"error not in terminal\" cluster=kwok\r\n"]
+[58.444646, "o", "NAME STATUS ROLES AGE VERSION\r\nnode-000000 Unknown agent 1s \r\n"]
+[58.49649, "o", "node-000001 Unknown agent 1s \r\n"]
+[58.554804, "o", "node-000000 Unknown agent 1s \r\n"]
+[58.557111, "o", "node-000000 Ready agent 1s kwok-v0.5.2\r\n"]
+[58.557903, "o", "node-000001 Unknown agent 1s \r\n"]
+[58.559586, "o", "node-000001 Ready agent 1s kwok-v0.5.2\r\n"]
+[60.948246, "o", "NAME READY UP-TO-DATE AVAILABLE AGE\r\napp 0/3 0 0 1s\r\n"]
+[61.038193, "o", "app 0/3 0 0 1s\r\n"]
+[61.041907, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-qrw9x 0/1 Pending 0 1s\r\n"]
+[61.042629, "o", "app-67f9df97bd-rx54h 0/1 Pending 0 1s\r\n"]
+[61.046156, "o", "app-67f9df97bd-xdtth 0/1 Pending 0 1s\r\n"]
+[61.087526, "o", "app-67f9df97bd-qrw9x 0/1 Pending 0 1s\r\n"]
+[61.08868, "o", "app 0/3 0 0 1s\r\n"]
+[61.08943, "o", "app-67f9df97bd-rx54h 0/1 Pending 0 1s\r\n"]
+[61.090597, "o", "app-67f9df97bd-xdtth 0/1 Pending 0 1s\r\n"]
+[61.111672, "o", "app-67f9df97bd-xdtth 1/1 Running 0 1s\r\n"]
+[61.112917, "o", "app-67f9df97bd-qrw9x 1/1 Running 0 1s\r\n"]
+[61.113634, "o", "app-67f9df97bd-rx54h 1/1 Running 0 1s\r\n"]
+[61.114715, "o", "app 0/3 3 0 1s\r\n"]
+[61.116317, "o", "app 2/3 3 2 1s\r\n"]
+[61.1177, "o", "app 3/3 3 3 1s\r\n"]
+[63.027428, "o", "app 3/3 3 3 3s\r\n"]
+[63.057622, "o", "app-67f9df97bd-qrw9x 1/1 Terminating 0 3s\r\n"]
+[63.063749, "o", "app-67f9df97bd-xdtth 1/1 Terminating 0 3s\r\n"]
+[63.068223, "o", "app-67f9df97bd-rx54h 1/1 Terminating 0 3s\r\n"]
+[63.074308, "o", "app-67f9df97bd-qrw9x 1/1 Terminating 0 3s\r\n"]
+[63.076222, "o", "app-67f9df97bd-qrw9x 1/1 Terminating 0 3s\r\n"]
+[63.078792, "o", "app-67f9df97bd-xdtth 1/1 Terminating 0 3s\r\n"]
+[63.080407, "o", "app-67f9df97bd-rx54h 1/1 Terminating 0 3s\r\n"]
+[63.081588, "o", "app-67f9df97bd-xdtth 1/1 Terminating 0 3s\r\n"]
+[63.082666, "o", "app-67f9df97bd-rx54h 1/1 Terminating 0 3s\r\n"]
+[65.126467, "o", "node-000000 Ready agent 8s kwok-v0.5.2\r\n"]
+[65.136006, "o", "node-000001 Ready agent 8s kwok-v0.5.2\r\n"]
+[70.500028, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[72.505801, "o", "\r\n"]
+[72.505943, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[73.01718, "o", "#"]
+[73.044581, "o", " "]
+[73.0701, "o", "D"]
+[73.097361, "o", "e"]
+[73.124323, "o", "l"]
+[73.151192, "o", "e"]
+[73.174565, "o", "t"]
+[73.199121, "o", "e"]
+[73.222879, "o", " "]
+[73.250701, "o", "t"]
+[73.279124, "o", "h"]
+[73.306683, "o", "e"]
+[73.335061, "o", " "]
+[73.364544, "o", "c"]
+[73.400604, "o", "l"]
+[73.426536, "o", "u"]
+[73.453103, "o", "s"]
+[73.477227, "o", "t"]
+[73.504608, "o", "e"]
+[73.532261, "o", "r"]
+[73.556189, "o", "."]
+[73.686613, "o", "\r\n"]
+[73.686681, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[74.222387, "r", "86x24"]
+[74.69479, "o", "k"]
+[74.71114, "o", "w"]
+[74.727404, "o", "o"]
+[74.749364, "o", "k"]
+[74.766328, "o", "c"]
+[74.783231, "o", "t"]
+[74.799594, "o", "l"]
+[74.814603, "o", " "]
+[74.830882, "o", "d"]
+[74.845244, "o", "e"]
+[74.860883, "o", "l"]
+[74.874198, "o", "e"]
+[74.89061, "o", "t"]
+[74.904626, "o", "e"]
+[74.920733, "o", " "]
+[74.936777, "o", "c"]
+[74.950953, "o", "l"]
+[74.965701, "o", "u"]
+[74.982096, "o", "s"]
+[74.996803, "o", "t"]
+[75.011963, "o", "e"]
+[75.024692, "o", "r"]
+[75.543111, "o", "\r\n"]
+[75.578447, "o", "Cluster is stopping cluster=kwok\r\n"]
+[75.968466, "o", "Cluster is stopped elapsed=0.3s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"]
+[76.385833, "o", "Cluster is deleted elapsed=0.4s cluster=kwok\r\n"]
+[76.386799, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[78.395928, "o", "\r\n"]
+[78.396074, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[78.904139, "o", "#"]
+[78.932154, "o", " "]
+[78.957285, "o", "T"]
+[78.984944, "o", "h"]
+[79.012511, "o", "a"]
+[79.040007, "o", "t"]
+[79.065172, "o", "'"]
+[79.091594, "o", "s"]
+[79.118366, "o", " "]
+[79.141384, "o", "a"]
+[79.168757, "o", "l"]
+[79.196195, "o", "l"]
+[79.222889, "o", ","]
+[79.245961, "o", " "]
+[79.273456, "o", "e"]
+[79.301293, "o", "n"]
+[79.329487, "o", "j"]
+[79.354351, "o", "o"]
+[79.379952, "o", "y"]
+[79.409102, "o", " "]
+[79.43502, "o", "i"]
+[79.459522, "o", "t"]
+[79.489075, "o", "!"]
+[79.58238, "r", "86x24"]
+[79.629317, "o", "\r\n"]
+[79.629602, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[80.64197, "o", "c"]
+[80.661351, "o", "l"]
+[80.679371, "o", "e"]
+[80.696102, "o", "a"]
+[80.713543, "o", "r"]
+[81.245445, "o", "\r\n"]
+[81.251797, "o", "\u001b[3J\u001b[H\u001b[2J"]
diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.demo b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.demo
new file mode 100644
index 000000000..72ce8b435
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.demo
@@ -0,0 +1,31 @@
+# Let's get started with kwokctl!
+kwokctl create cluster
+
+# Record it to recording.yaml
+kwokctl snapshot record --path recording.yaml &
+
+# Record some change.
+kwokctl scale node --replicas 2
+kubectl create deployment app --image=app --replicas=3
+kubectl delete deployment app
+kwokctl scale node --replicas 0
+
+# Finish the record.
+pkill kwokctl
+
+# Recreate cluster.
+kwokctl delete cluster > /dev/null 2>&1 && kwokctl create cluster > /dev/null 2>&1
+
+# Let's have a look at the resource change.
+kubectl get node --watch &
+kubectl get deployment --watch &
+kubectl get pod --watch &
+
+# Replay it from cluster.yaml
+kwokctl snapshot replay --path recording.yaml
+
+# Delete the cluster.
+kwokctl delete cluster
+
+# That's all, enjoy it!
+clear
diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.svg b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.svg
new file mode 100644
index 000000000..0ec77ead3
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.svg
@@ -0,0 +1 @@
+~/sigs.k8s.io/kwok$~/sigs.k8s.io/kwok$#~/sigs.k8s.io/kwok$#L~/sigs.k8s.io/kwok$#Le~/sigs.k8s.io/kwok$#Let~/sigs.k8s.io/kwok$#Let'~/sigs.k8s.io/kwok$#Let's~/sigs.k8s.io/kwok$#Let'sget~/sigs.k8s.io/kwok$#Let'sgetstarted~/sigs.k8s.io/kwok$#Let'sgetstartedwith~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokctl!~/sigs.k8s.io/kwok$k~/sigs.k8s.io/kwok$kw~/sigs.k8s.io/kwok$kwo~/sigs.k8s.io/kwok$kwok~/sigs.k8s.io/kwok$kwokc~/sigs.k8s.io/kwok$kwokct~/sigs.k8s.io/kwok$kwokctl~/sigs.k8s.io/kwok$kwokctlcreate~/sigs.k8s.io/kwok$kwokctlcreateclusterClusteriscreatingcluster=kwokClusteriscreatedelapsed=0.8scluster=kwokClusterisstartingcluster=kwokClusterisstartedelapsed=0.7scluster=kwokYoucannowuseyourclusterwith:kubectlcluster-info--contextkwok-kwokThanksforusingkwok!~/sigs.k8s.io/kwok$#R~/sigs.k8s.io/kwok$#Re~/sigs.k8s.io/kwok$#Rec~/sigs.k8s.io/kwok$#Reco~/sigs.k8s.io/kwok$#Recor~/sigs.k8s.io/kwok$#Record~/sigs.k8s.io/kwok$#Recordit~/sigs.k8s.io/kwok$#Recorditto~/sigs.k8s.io/kwok$#Recordittorecording.yaml~/sigs.k8s.io/kwok$kwokctls~/sigs.k8s.io/kwok$kwokctlsn~/sigs.k8s.io/kwok$kwokctlsna~/sigs.k8s.io/kwok$kwokctlsnap~/sigs.k8s.io/kwok$kwokctlsnaps~/sigs.k8s.io/kwok$kwokctlsnapsh~/sigs.k8s.io/kwok$kwokctlsnapsho~/sigs.k8s.io/kwok$kwokctlsnapshot~/sigs.k8s.io/kwok$kwokctlsnapshotr~/sigs.k8s.io/kwok$kwokctlsnapshotre~/sigs.k8s.io/kwok$kwokctlsnapshotrecord~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--path~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.yaml~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.yaml&~/sigs.k8s.io/kwok$Savingsnapshotandrecordingcluster=kwokRecordingcluster=kwokPressCtrl+Ctostoprecordingresourcescluster=kwok~/sigs.k8s.io/kwok$#Recordsome~/sigs.k8s.io/kwok$#Recordsomechange.~/sigs.k8s.io/kwok$kwokctlsc~/sigs.k8s.io/kwok$kwokctlsca~/sigs.k8s.io/kwok$kwokctlscal~/sigs.k8s.io/kwok$kwokctlscale~/sigs.k8s.io/kwok$kwokctlscalen~/sigs.k8s.io/kwok$kwokctlscaleno~/sigs.k8s.io/kwok$kwokctlscalenod~/sigs.k8s.io/kwok$kwokctlscalenode~/sigs.k8s.io/kwok$kwokctlscalenode-~/sigs.k8s.io/kwok$kwokctlscalenode--~/sigs.k8s.io/kwok$kwokctlscalenode--r~/sigs.k8s.io/kwok$kwokctlscalenode--re~/sigs.k8s.io/kwok$kwokctlscalenode--rep~/sigs.k8s.io/kwok$kwokctlscalenode--repl~/sigs.k8s.io/kwok$kwokctlscalenode--repli~/sigs.k8s.io/kwok$kwokctlscalenode--replic~/sigs.k8s.io/kwok$kwokctlscalenode--replica~/sigs.k8s.io/kwok$kwokctlscalenode--replicas~/sigs.k8s.io/kwok$kwokctlscalenode--replicas2Noresourcefound,usedefaultresourceresource=nodecluster=kwokLoadresourcescounter=2elapsed=27msresource=nodesreplicas=2name=nodecluster=kwok~/sigs.k8s.io/kwok$ku~/sigs.k8s.io/kwok$kub~/sigs.k8s.io/kwok$kube~/sigs.k8s.io/kwok$kubec~/sigs.k8s.io/kwok$kubect~/sigs.k8s.io/kwok$kubectl~/sigs.k8s.io/kwok$kubectlcreate~/sigs.k8s.io/kwok$kubectlcreatedeployment~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas=3deployment.apps/appcreated~/sigs.k8s.io/kwok$kubectldelete~/sigs.k8s.io/kwok$kubectldeletedeployment~/sigs.k8s.io/kwok$kubectldeletedeploymentappdeployment.apps"app"deleted~/sigs.k8s.io/kwok$kwokctlscalenode--replicas0Deletedresourcescounter=2elapsed=22msresource=nodesreplicas=0name=nodecluster=kwok~/sigs.k8s.io/kwok$#Finish~/sigs.k8s.io/kwok$#Finishthe~/sigs.k8s.io/kwok$#Finishtherecord.~/sigs.k8s.io/kwok$pkill~/sigs.k8s.io/kwok$pkillkwokctl~/sigs.k8s.io/kwok$#Recreate~/sigs.k8s.io/kwok$#Recreatecluster.~/sigs.k8s.io/kwok$kwokctld~/sigs.k8s.io/kwok$kwokctlde~/sigs.k8s.io/kwok$kwokctldel~/sigs.k8s.io/kwok$kwokctldele~/sigs.k8s.io/kwok$kwokctldelet~/sigs.k8s.io/kwok$kwokctldelete~/sigs.k8s.io/kwok$kwokctldeletec~/sigs.k8s.io/kwok$kwokctldeletecl~/sigs.k8s.io/kwok$kwokctldeleteclu~/sigs.k8s.io/kwok$kwokctldeleteclus~/sigs.k8s.io/kwok$kwokctldeleteclust~/sigs.k8s.io/kwok$kwokctldeletecluste~/sigs.k8s.io/kwok$kwokctldeletecluster~/sigs.k8s.io/kwok$kwokctldeletecluster>~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctl~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreate~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecluster>>/dev/null>/dev/null2>&1~/sigs.k8s.io/kwok$#Let'shave~/sigs.k8s.io/kwok$#Let'shavea~/sigs.k8s.io/kwok$#Let'shavealook~/sigs.k8s.io/kwok$#Let'shavealookat~/sigs.k8s.io/kwok$#Let'shavealookatthe~/sigs.k8s.io/kwok$#Let'shavealookattheresource~/sigs.k8s.io/kwok$#Let'shavealookattheresourcechange.~/sigs.k8s.io/kwok$kubectlg~/sigs.k8s.io/kwok$kubectlge~/sigs.k8s.io/kwok$kubectlget~/sigs.k8s.io/kwok$kubectlgetnode~/sigs.k8s.io/kwok$kubectlgetnode--watch~/sigs.k8s.io/kwok$kubectlgetnode--watch&~/sigs.k8s.io/kwok$kubectlgetdeployment~/sigs.k8s.io/kwok$kubectlgetdeployment--watch~/sigs.k8s.io/kwok$kubectlgetdeployment--watch&~/sigs.k8s.io/kwok$kubectlgetpod~/sigs.k8s.io/kwok$kubectlgetpod--watch~/sigs.k8s.io/kwok$kubectlgetpod--watch&~/sigs.k8s.io/kwok$#Replay~/sigs.k8s.io/kwok$#Replayit~/sigs.k8s.io/kwok$#Replayitfrom~/sigs.k8s.io/kwok$#Replayitfromcluster.yaml~/sigs.k8s.io/kwok$kwokctlsnapshotreplay~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--path~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording.yamlRestoringsnapshotandreplayingcluster=kwokReplayingcluster=kwokPress`Space`keytopause,press`Enter`keytocontinuecluster=kwokPress`U`keytospeedup,press`D`keytospeeddowncluster=kwokERRORFailedtogetkeyerr="errornotinterminal"cluster=kwokNAMESTATUSROLESAGEVERSIONnode-000000Unknownagent1snode-000001Unknownagent1snode-000000Readyagent1skwok-v0.5.2node-000001Readyagent1skwok-v0.5.2NAMEREADYUP-TO-DATEAVAILABLEAGEapp0/3001sNAMEREADYSTATUSRESTARTSAGEapp-67f9df97bd-qrw9x0/1Pending01sapp-67f9df97bd-rx54h0/1Pending01sapp-67f9df97bd-xdtth0/1Pending01sapp-67f9df97bd-xdtth1/1Running01sapp-67f9df97bd-qrw9x1/1Running01sapp-67f9df97bd-rx54h1/1Running01sapp0/3301sapp2/3321sapp3/3331sapp3/3333sapp-67f9df97bd-qrw9x1/1Terminating03sapp-67f9df97bd-xdtth1/1Terminating03sapp-67f9df97bd-rx54h1/1Terminating03snode-000000Readyagent8skwok-v0.5.2node-000001Readyagent8skwok-v0.5.2~/sigs.k8s.io/kwok$#Delete~/sigs.k8s.io/kwok$#Deletethe~/sigs.k8s.io/kwok$#Deletethecluster.Clusterisstoppingcluster=kwokClusterisstoppedelapsed=0.3scluster=kwokClusterisdeletingcluster=kwokClusterisdeletedelapsed=0.4scluster=kwok~/sigs.k8s.io/kwok$#That's~/sigs.k8s.io/kwok$#That'sall,~/sigs.k8s.io/kwok$#That'sall,enjoy~/sigs.k8s.io/kwok$#That'sall,enjoyit!~/sigs.k8s.io/kwok$clear~/sigs.k8s.io/kwok$#Let'sg~/sigs.k8s.io/kwok$#Let'sge~/sigs.k8s.io/kwok$#Let'sgets~/sigs.k8s.io/kwok$#Let'sgetst~/sigs.k8s.io/kwok$#Let'sgetsta~/sigs.k8s.io/kwok$#Let'sgetstar~/sigs.k8s.io/kwok$#Let'sgetstart~/sigs.k8s.io/kwok$#Let'sgetstarte~/sigs.k8s.io/kwok$#Let'sgetstartedw~/sigs.k8s.io/kwok$#Let'sgetstartedwi~/sigs.k8s.io/kwok$#Let'sgetstartedwit~/sigs.k8s.io/kwok$#Let'sgetstartedwithk~/sigs.k8s.io/kwok$#Let'sgetstartedwithkw~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwo~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwok~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokc~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokct~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokctl~/sigs.k8s.io/kwok$kwokctlc~/sigs.k8s.io/kwok$kwokctlcr~/sigs.k8s.io/kwok$kwokctlcre~/sigs.k8s.io/kwok$kwokctlcrea~/sigs.k8s.io/kwok$kwokctlcreat~/sigs.k8s.io/kwok$kwokctlcreatec~/sigs.k8s.io/kwok$kwokctlcreatecl~/sigs.k8s.io/kwok$kwokctlcreateclu~/sigs.k8s.io/kwok$kwokctlcreateclus~/sigs.k8s.io/kwok$kwokctlcreateclust~/sigs.k8s.io/kwok$kwokctlcreatecluste~/sigs.k8s.io/kwok$#Recordi~/sigs.k8s.io/kwok$#Recorditt~/sigs.k8s.io/kwok$#Recordittor~/sigs.k8s.io/kwok$#Recordittore~/sigs.k8s.io/kwok$#Recordittorec~/sigs.k8s.io/kwok$#Recordittoreco~/sigs.k8s.io/kwok$#Recordittorecor~/sigs.k8s.io/kwok$#Recordittorecord~/sigs.k8s.io/kwok$#Recordittorecordi~/sigs.k8s.io/kwok$#Recordittorecordin~/sigs.k8s.io/kwok$#Recordittorecording~/sigs.k8s.io/kwok$#Recordittorecording.~/sigs.k8s.io/kwok$#Recordittorecording.y~/sigs.k8s.io/kwok$#Recordittorecording.ya~/sigs.k8s.io/kwok$#Recordittorecording.yam~/sigs.k8s.io/kwok$kwokctlsnapshotrec~/sigs.k8s.io/kwok$kwokctlsnapshotreco~/sigs.k8s.io/kwok$kwokctlsnapshotrecor~/sigs.k8s.io/kwok$kwokctlsnapshotrecord-~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--p~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pa~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pat~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathr~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathre~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrec~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathreco~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecor~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecord~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecordi~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecordin~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.y~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.ya~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--pathrecording.yam~/sigs.k8s.io/kwok$#Records~/sigs.k8s.io/kwok$#Recordso~/sigs.k8s.io/kwok$#Recordsom~/sigs.k8s.io/kwok$#Recordsomec~/sigs.k8s.io/kwok$#Recordsomech~/sigs.k8s.io/kwok$#Recordsomecha~/sigs.k8s.io/kwok$#Recordsomechan~/sigs.k8s.io/kwok$#Recordsomechang~/sigs.k8s.io/kwok$#Recordsomechange~/sigs.k8s.io/kwok$kubectlc~/sigs.k8s.io/kwok$kubectlcr~/sigs.k8s.io/kwok$kubectlcre~/sigs.k8s.io/kwok$kubectlcrea~/sigs.k8s.io/kwok$kubectlcreat~/sigs.k8s.io/kwok$kubectlcreated~/sigs.k8s.io/kwok$kubectlcreatede~/sigs.k8s.io/kwok$kubectlcreatedep~/sigs.k8s.io/kwok$kubectlcreatedepl~/sigs.k8s.io/kwok$kubectlcreatedeplo~/sigs.k8s.io/kwok$kubectlcreatedeploy~/sigs.k8s.io/kwok$kubectlcreatedeploym~/sigs.k8s.io/kwok$kubectlcreatedeployme~/sigs.k8s.io/kwok$kubectlcreatedeploymen~/sigs.k8s.io/kwok$kubectlcreatedeploymenta~/sigs.k8s.io/kwok$kubectlcreatedeploymentap~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp-~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--i~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--im~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--ima~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--imag~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=a~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=ap~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app-~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--r~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--re~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--rep~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--repl~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--repli~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replic~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replica~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas=~/sigs.k8s.io/kwok$kubectld~/sigs.k8s.io/kwok$kubectlde~/sigs.k8s.io/kwok$kubectldel~/sigs.k8s.io/kwok$kubectldele~/sigs.k8s.io/kwok$kubectldelet~/sigs.k8s.io/kwok$kubectldeleted~/sigs.k8s.io/kwok$kubectldeletede~/sigs.k8s.io/kwok$kubectldeletedep~/sigs.k8s.io/kwok$kubectldeletedepl~/sigs.k8s.io/kwok$kubectldeletedeplo~/sigs.k8s.io/kwok$kubectldeletedeploy~/sigs.k8s.io/kwok$kubectldeletedeploym~/sigs.k8s.io/kwok$kubectldeletedeployme~/sigs.k8s.io/kwok$kubectldeletedeploymen~/sigs.k8s.io/kwok$kubectldeletedeploymenta~/sigs.k8s.io/kwok$kubectldeletedeploymentap~/sigs.k8s.io/kwok$#F~/sigs.k8s.io/kwok$#Fi~/sigs.k8s.io/kwok$#Fin~/sigs.k8s.io/kwok$#Fini~/sigs.k8s.io/kwok$#Finis~/sigs.k8s.io/kwok$#Finisht~/sigs.k8s.io/kwok$#Finishth~/sigs.k8s.io/kwok$#Finishther~/sigs.k8s.io/kwok$#Finishthere~/sigs.k8s.io/kwok$#Finishtherec~/sigs.k8s.io/kwok$#Finishthereco~/sigs.k8s.io/kwok$#Finishtherecor~/sigs.k8s.io/kwok$#Finishtherecord~/sigs.k8s.io/kwok$p~/sigs.k8s.io/kwok$pk~/sigs.k8s.io/kwok$pki~/sigs.k8s.io/kwok$pkil~/sigs.k8s.io/kwok$pkillk~/sigs.k8s.io/kwok$pkillkw~/sigs.k8s.io/kwok$pkillkwo~/sigs.k8s.io/kwok$pkillkwok~/sigs.k8s.io/kwok$pkillkwokc~/sigs.k8s.io/kwok$pkillkwokct~/sigs.k8s.io/kwok$#Recr~/sigs.k8s.io/kwok$#Recre~/sigs.k8s.io/kwok$#Recrea~/sigs.k8s.io/kwok$#Recreat~/sigs.k8s.io/kwok$#Recreatec~/sigs.k8s.io/kwok$#Recreatecl~/sigs.k8s.io/kwok$#Recreateclu~/sigs.k8s.io/kwok$#Recreateclus~/sigs.k8s.io/kwok$#Recreateclust~/sigs.k8s.io/kwok$#Recreatecluste~/sigs.k8s.io/kwok$#Recreatecluster~/sigs.k8s.io/kwok$kwokctldeletecluster>/~/sigs.k8s.io/kwok$kwokctldeletecluster>/d~/sigs.k8s.io/kwok$kwokctldeletecluster>/de~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/n~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/nu~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/nul~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&k~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kw~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwo~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwok~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokc~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokct~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlc~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcr~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcre~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcrea~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreat~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatec~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecl~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclu~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclus~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclust~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecluste>/>/d>/de>/dev>/dev/>/dev/n>/dev/nu>/dev/nul>/dev/null2>/dev/null2>>/dev/null2>&~/sigs.k8s.io/kwok$#Let'sh~/sigs.k8s.io/kwok$#Let'sha~/sigs.k8s.io/kwok$#Let'shav~/sigs.k8s.io/kwok$#Let'shaveal~/sigs.k8s.io/kwok$#Let'shavealo~/sigs.k8s.io/kwok$#Let'shavealoo~/sigs.k8s.io/kwok$#Let'shavealooka~/sigs.k8s.io/kwok$#Let'shavealookatt~/sigs.k8s.io/kwok$#Let'shavealookatth~/sigs.k8s.io/kwok$#Let'shavealookatther~/sigs.k8s.io/kwok$#Let'shavealookatthere~/sigs.k8s.io/kwok$#Let'shavealookattheres~/sigs.k8s.io/kwok$#Let'shavealookatthereso~/sigs.k8s.io/kwok$#Let'shavealookattheresou~/sigs.k8s.io/kwok$#Let'shavealookattheresour~/sigs.k8s.io/kwok$#Let'shavealookattheresourc~/sigs.k8s.io/kwok$#Let'shavealookattheresourcec~/sigs.k8s.io/kwok$#Let'shavealookattheresourcech~/sigs.k8s.io/kwok$#Let'shavealookattheresourcecha~/sigs.k8s.io/kwok$#Let'shavealookattheresourcechan~/sigs.k8s.io/kwok$#Let'shavealookattheresourcechang~/sigs.k8s.io/kwok$#Let'shavealookattheresourcechange~/sigs.k8s.io/kwok$kubectlgetn~/sigs.k8s.io/kwok$kubectlgetno~/sigs.k8s.io/kwok$kubectlgetnod~/sigs.k8s.io/kwok$kubectlgetnode-~/sigs.k8s.io/kwok$kubectlgetnode--~/sigs.k8s.io/kwok$kubectlgetnode--w~/sigs.k8s.io/kwok$kubectlgetnode--wa~/sigs.k8s.io/kwok$kubectlgetnode--wat~/sigs.k8s.io/kwok$kubectlgetnode--watc~/sigs.k8s.io/kwok$kubectlgetd~/sigs.k8s.io/kwok$kubectlgetde~/sigs.k8s.io/kwok$kubectlgetdep~/sigs.k8s.io/kwok$kubectlgetdepl~/sigs.k8s.io/kwok$kubectlgetdeplo~/sigs.k8s.io/kwok$kubectlgetdeploy~/sigs.k8s.io/kwok$kubectlgetdeploym~/sigs.k8s.io/kwok$kubectlgetdeployme~/sigs.k8s.io/kwok$kubectlgetdeploymen~/sigs.k8s.io/kwok$kubectlgetdeployment-~/sigs.k8s.io/kwok$kubectlgetdeployment--~/sigs.k8s.io/kwok$kubectlgetdeployment--w~/sigs.k8s.io/kwok$kubectlgetdeployment--wa~/sigs.k8s.io/kwok$kubectlgetdeployment--wat~/sigs.k8s.io/kwok$kubectlgetdeployment--watc~/sigs.k8s.io/kwok$kubectlgetp~/sigs.k8s.io/kwok$kubectlgetpo~/sigs.k8s.io/kwok$kubectlgetpod-~/sigs.k8s.io/kwok$kubectlgetpod--~/sigs.k8s.io/kwok$kubectlgetpod--w~/sigs.k8s.io/kwok$kubectlgetpod--wa~/sigs.k8s.io/kwok$kubectlgetpod--wat~/sigs.k8s.io/kwok$kubectlgetpod--watc~/sigs.k8s.io/kwok$#Rep~/sigs.k8s.io/kwok$#Repl~/sigs.k8s.io/kwok$#Repla~/sigs.k8s.io/kwok$#Replayi~/sigs.k8s.io/kwok$#Replayitf~/sigs.k8s.io/kwok$#Replayitfr~/sigs.k8s.io/kwok$#Replayitfro~/sigs.k8s.io/kwok$#Replayitfromc~/sigs.k8s.io/kwok$#Replayitfromcl~/sigs.k8s.io/kwok$#Replayitfromclu~/sigs.k8s.io/kwok$#Replayitfromclus~/sigs.k8s.io/kwok$#Replayitfromclust~/sigs.k8s.io/kwok$#Replayitfromcluste~/sigs.k8s.io/kwok$#Replayitfromcluster~/sigs.k8s.io/kwok$#Replayitfromcluster.~/sigs.k8s.io/kwok$#Replayitfromcluster.y~/sigs.k8s.io/kwok$#Replayitfromcluster.ya~/sigs.k8s.io/kwok$#Replayitfromcluster.yam~/sigs.k8s.io/kwok$kwokctlsnapshotrep~/sigs.k8s.io/kwok$kwokctlsnapshotrepl~/sigs.k8s.io/kwok$kwokctlsnapshotrepla~/sigs.k8s.io/kwok$kwokctlsnapshotreplay-~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--p~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pa~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pat~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathr~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathre~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrec~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathreco~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecor~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecord~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecordi~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecordin~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording.~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording.y~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording.ya~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--pathrecording.yam~/sigs.k8s.io/kwok$#D~/sigs.k8s.io/kwok$#De~/sigs.k8s.io/kwok$#Del~/sigs.k8s.io/kwok$#Dele~/sigs.k8s.io/kwok$#Delet~/sigs.k8s.io/kwok$#Deletet~/sigs.k8s.io/kwok$#Deleteth~/sigs.k8s.io/kwok$#Deletethec~/sigs.k8s.io/kwok$#Deletethecl~/sigs.k8s.io/kwok$#Deletetheclu~/sigs.k8s.io/kwok$#Deletetheclus~/sigs.k8s.io/kwok$#Deletetheclust~/sigs.k8s.io/kwok$#Deletethecluste~/sigs.k8s.io/kwok$#Deletethecluster~/sigs.k8s.io/kwok$#T~/sigs.k8s.io/kwok$#Th~/sigs.k8s.io/kwok$#Tha~/sigs.k8s.io/kwok$#That~/sigs.k8s.io/kwok$#That'~/sigs.k8s.io/kwok$#That'sa~/sigs.k8s.io/kwok$#That'sal~/sigs.k8s.io/kwok$#That'sall~/sigs.k8s.io/kwok$#That'sall,e~/sigs.k8s.io/kwok$#That'sall,en~/sigs.k8s.io/kwok$#That'sall,enj~/sigs.k8s.io/kwok$#That'sall,enjo~/sigs.k8s.io/kwok$#That'sall,enjoyi~/sigs.k8s.io/kwok$#That'sall,enjoyit~/sigs.k8s.io/kwok$c~/sigs.k8s.io/kwok$cl~/sigs.k8s.io/kwok$cle~/sigs.k8s.io/kwok$clea
\ No newline at end of file
diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.cast b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.cast
new file mode 100644
index 000000000..19075e768
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.cast
@@ -0,0 +1,700 @@
+{"version": 2, "width": 86, "height": 24, "timestamp": 1716532309, "env": {}}
+[0.009372, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[0.5194, "o", "#"]
+[0.554053, "o", " "]
+[0.582561, "o", "L"]
+[0.615293, "o", "e"]
+[0.644064, "o", "t"]
+[0.669459, "o", "'"]
+[0.699394, "o", "s"]
+[0.730089, "o", " "]
+[0.760406, "o", "g"]
+[0.79086, "o", "e"]
+[0.821045, "o", "t"]
+[0.846163, "o", " "]
+[0.874368, "o", "s"]
+[0.902693, "o", "t"]
+[0.931635, "o", "a"]
+[0.961048, "o", "r"]
+[0.990475, "o", "t"]
+[1.01726, "o", "e"]
+[1.046528, "o", "d"]
+[1.072865, "o", " "]
+[1.102898, "o", "w"]
+[1.129795, "o", "i"]
+[1.159525, "o", "t"]
+[1.188756, "o", "h"]
+[1.218724, "o", " "]
+[1.244455, "o", "k"]
+[1.274496, "o", "w"]
+[1.304629, "o", "o"]
+[1.334556, "o", "k"]
+[1.364033, "o", "c"]
+[1.394478, "o", "t"]
+[1.424187, "o", "l"]
+[1.453567, "o", "!"]
+[1.59416, "o", "\r\n"]
+[1.594622, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[2.605653, "o", "k"]
+[2.626075, "o", "w"]
+[2.643281, "o", "o"]
+[2.660551, "o", "k"]
+[2.678105, "o", "c"]
+[2.695004, "o", "t"]
+[2.711416, "o", "l"]
+[2.727694, "o", " "]
+[2.744955, "o", "c"]
+[2.762472, "o", "r"]
+[2.779381, "o", "e"]
+[2.795773, "o", "a"]
+[2.812656, "o", "t"]
+[2.829885, "o", "e"]
+[2.846692, "o", " "]
+[2.863567, "o", "c"]
+[2.877683, "o", "l"]
+[2.894033, "o", "u"]
+[2.90982, "o", "s"]
+[2.923799, "o", "t"]
+[2.939348, "o", "e"]
+[2.955858, "o", "r"]
+[3.477622, "o", "\r\n"]
+[3.543753, "o", "Cluster is creating cluster=kwok\r\n"]
+[4.489056, "o", "Cluster is created elapsed=0.9s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"]
+[5.081725, "o", "Cluster is started elapsed=0.5s cluster=kwok\r\n"]
+[5.081776, "o", "You can now use your cluster with:\r\n\r\n\tkubectl cluster-info --context kwok-kwok\r\n\r\nThanks for using kwok!\r\n"]
+[5.082645, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.086315, "o", "\r\n"]
+[7.086758, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.597104, "o", "#"]
+[7.628907, "o", " "]
+[7.660713, "o", "C"]
+[7.691709, "o", "r"]
+[7.721352, "o", "e"]
+[7.751922, "o", "a"]
+[7.779501, "o", "t"]
+[7.806723, "o", "e"]
+[7.834482, "o", " "]
+[7.864902, "o", "t"]
+[7.89027, "o", "h"]
+[7.919428, "o", "e"]
+[7.946434, "o", " "]
+[7.976585, "o", "n"]
+[8.006237, "o", "o"]
+[8.034407, "o", "d"]
+[8.059593, "o", "e"]
+[8.08557, "o", "s"]
+[8.111435, "o", "."]
+[8.245309, "o", "\r\n"]
+[8.24577, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[9.255899, "o", "k"]
+[9.27674, "o", "w"]
+[9.293205, "o", "o"]
+[9.309483, "o", "k"]
+[9.32712, "o", "c"]
+[9.344544, "o", "t"]
+[9.361885, "o", "l"]
+[9.37814, "o", " "]
+[9.39387, "o", "s"]
+[9.410069, "o", "c"]
+[9.423182, "o", "a"]
+[9.437976, "o", "l"]
+[9.452191, "o", "e"]
+[9.466607, "o", " "]
+[9.480935, "o", "n"]
+[9.495367, "o", "o"]
+[9.511596, "o", "d"]
+[9.528195, "o", "e"]
+[9.546507, "o", " "]
+[9.561795, "o", "-"]
+[9.579726, "o", "-"]
+[9.595391, "o", "r"]
+[9.612737, "o", "e"]
+[9.631366, "o", "p"]
+[9.648692, "o", "l"]
+[9.664612, "o", "i"]
+[9.681829, "o", "c"]
+[9.699206, "o", "a"]
+[9.716223, "o", "s"]
+[9.732608, "o", " "]
+[9.747665, "o", "2"]
+[10.273857, "o", "\r\n"]
+[10.311, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"]
+[10.339267, "o", "Load resources counter=2 elapsed=7ms resource=nodes replicas=2 name=node cluster=kwok\r\n"]
+[10.340362, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[12.349512, "o", "\r\n"]
+[12.349967, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[12.857106, "o", "#"]
+[12.887278, "o", " "]
+[12.913442, "o", "A"]
+[12.940226, "o", "p"]
+[12.969024, "o", "p"]
+[13.000407, "o", "l"]
+[13.027624, "o", "y"]
+[13.060968, "o", " "]
+[13.091887, "o", "a"]
+[13.125695, "o", " "]
+[13.153533, "o", "d"]
+[13.181341, "o", "e"]
+[13.211695, "o", "p"]
+[13.240706, "o", "l"]
+[13.271417, "o", "o"]
+[13.297956, "o", "y"]
+[13.323442, "o", "m"]
+[13.349958, "o", "e"]
+[13.376573, "o", "n"]
+[13.401029, "o", "t"]
+[13.424921, "o", "."]
+[13.557704, "o", "\r\n"]
+[13.558782, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[14.567989, "o", "k"]
+[14.586207, "o", "u"]
+[14.600774, "o", "b"]
+[14.620297, "o", "e"]
+[14.637117, "o", "c"]
+[14.655631, "o", "t"]
+[14.67284, "o", "l"]
+[14.690911, "o", " "]
+[14.707684, "o", "c"]
+[14.724411, "o", "r"]
+[14.742435, "o", "e"]
+[14.759382, "o", "a"]
+[14.775376, "o", "t"]
+[14.792426, "o", "e"]
+[14.809079, "o", " "]
+[14.826122, "o", "d"]
+[14.841408, "o", "e"]
+[14.854859, "o", "p"]
+[14.86959, "o", "l"]
+[14.884103, "o", "o"]
+[14.898794, "o", "y"]
+[14.912297, "o", "m"]
+[14.926983, "o", "e"]
+[14.941702, "o", "n"]
+[14.956322, "o", "t"]
+[14.97046, "o", " "]
+[14.985167, "o", "a"]
+[14.99969, "o", "p"]
+[15.011842, "o", "p"]
+[15.026624, "o", " "]
+[15.041408, "o", "-"]
+[15.054161, "o", "-"]
+[15.068842, "o", "i"]
+[15.082995, "o", "m"]
+[15.096822, "o", "a"]
+[15.111855, "o", "g"]
+[15.126989, "o", "e"]
+[15.14187, "o", "="]
+[15.157295, "o", "a"]
+[15.172727, "o", "p"]
+[15.187475, "o", "p"]
+[15.203373, "o", " "]
+[15.219611, "o", "-"]
+[15.236024, "o", "-"]
+[15.252075, "o", "r"]
+[15.26846, "o", "e"]
+[15.284798, "o", "p"]
+[15.299826, "o", "l"]
+[15.315614, "o", "i"]
+[15.33177, "o", "c"]
+[15.346562, "o", "a"]
+[15.362888, "o", "s"]
+[15.379252, "o", "="]
+[15.396345, "o", "3"]
+[15.915054, "o", "\r\n"]
+[15.991396, "o", "deployment.apps/app created\r\n"]
+[15.992396, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[18.001671, "o", "\r\n"]
+[18.002796, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[18.514891, "o", "#"]
+[18.545626, "o", " "]
+[18.575236, "o", "L"]
+[18.603999, "o", "e"]
+[18.629702, "o", "t"]
+[18.657801, "o", "'"]
+[18.687132, "o", "s"]
+[18.71547, "o", " "]
+[18.74431, "o", "h"]
+[18.774532, "o", "a"]
+[18.803681, "o", "v"]
+[18.833624, "o", "e"]
+[18.867494, "o", " "]
+[18.894151, "o", "a"]
+[18.925372, "o", " "]
+[18.956681, "o", "l"]
+[18.988172, "o", "o"]
+[19.01819, "o", "o"]
+[19.046296, "o", "k"]
+[19.074639, "o", " "]
+[19.104115, "o", "a"]
+[19.134203, "o", "t"]
+[19.164616, "o", " "]
+[19.195494, "o", "t"]
+[19.22574, "o", "h"]
+[19.262521, "o", "e"]
+[19.291584, "o", " "]
+[19.322153, "o", "p"]
+[19.354613, "o", "o"]
+[19.383763, "o", "d"]
+[19.416565, "o", " "]
+[19.444144, "o", "n"]
+[19.474089, "o", "a"]
+[19.505312, "o", "m"]
+[19.535702, "o", "e"]
+[19.567649, "o", "."]
+[19.702517, "o", "\r\n"]
+[19.70424, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[20.716935, "o", "k"]
+[20.735959, "o", "u"]
+[20.753334, "o", "b"]
+[20.770382, "o", "e"]
+[20.788081, "o", "c"]
+[20.805005, "o", "t"]
+[20.81812, "o", "l"]
+[20.832469, "o", " "]
+[20.845322, "o", "g"]
+[20.860399, "o", "e"]
+[20.876919, "o", "t"]
+[20.893647, "o", " "]
+[20.908547, "o", "p"]
+[20.924357, "o", "o"]
+[20.940954, "o", "d"]
+[21.469545, "o", "\r\n"]
+[21.544887, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-428l4 1/1 Running 0 6s\r\napp-67f9df97bd-6px2x 1/1 Running 0 6s\r\napp-67f9df97bd-nwdzs"]
+[21.544964, "o", " 1/1 Running 0 6s\r\n"]
+[21.545858, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[23.550809, "o", "\r\n"]
+[23.550903, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[24.062608, "o", "#"]
+[24.096428, "o", " "]
+[24.124413, "o", "S"]
+[24.154137, "o", "a"]
+[24.180069, "o", "v"]
+[24.208306, "o", "e"]
+[24.237774, "o", " "]
+[24.266714, "o", "i"]
+[24.297053, "o", "t"]
+[24.321891, "o", " "]
+[24.351516, "o", "t"]
+[24.379781, "o", "o"]
+[24.40633, "o", " "]
+[24.436076, "o", "c"]
+[24.463698, "o", "l"]
+[24.494485, "o", "u"]
+[24.525035, "o", "s"]
+[24.550046, "o", "t"]
+[24.580657, "o", "e"]
+[24.60742, "o", "r"]
+[24.633848, "o", "."]
+[24.663846, "o", "y"]
+[24.694194, "o", "a"]
+[24.721783, "o", "m"]
+[24.749738, "o", "l"]
+[24.881613, "o", "\r\n"]
+[24.881938, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[25.894724, "o", "k"]
+[25.917504, "o", "w"]
+[25.933767, "o", "o"]
+[25.950243, "o", "k"]
+[25.96523, "o", "c"]
+[25.981881, "o", "t"]
+[25.999015, "o", "l"]
+[26.016428, "o", " "]
+[26.033492, "o", "s"]
+[26.049965, "o", "n"]
+[26.065904, "o", "a"]
+[26.082647, "o", "p"]
+[26.098817, "o", "s"]
+[26.115135, "o", "h"]
+[26.13208, "o", "o"]
+[26.148809, "o", "t"]
+[26.165435, "o", " "]
+[26.18215, "o", "r"]
+[26.199159, "o", "e"]
+[26.216211, "o", "c"]
+[26.23311, "o", "o"]
+[26.250449, "o", "r"]
+[26.265073, "o", "d"]
+[26.28185, "o", " "]
+[26.2965, "o", "-"]
+[26.313321, "o", "-"]
+[26.330044, "o", "s"]
+[26.345876, "o", "n"]
+[26.363023, "o", "a"]
+[26.379499, "o", "p"]
+[26.395776, "o", "s"]
+[26.412351, "o", "h"]
+[26.428729, "o", "o"]
+[26.445436, "o", "t"]
+[26.461139, "o", " "]
+[26.477302, "o", "-"]
+[26.491408, "o", "-"]
+[26.506848, "o", "p"]
+[26.522723, "o", "a"]
+[26.539093, "o", "t"]
+[26.553007, "o", "h"]
+[26.568172, "o", " "]
+[26.583784, "o", "c"]
+[26.59979, "o", "l"]
+[26.615889, "o", "u"]
+[26.631112, "o", "s"]
+[26.646281, "o", "t"]
+[26.661691, "o", "e"]
+[26.67719, "o", "r"]
+[26.692748, "o", "."]
+[26.708129, "o", "y"]
+[26.723236, "o", "a"]
+[26.738619, "o", "m"]
+[26.754469, "o", "l"]
+[27.274191, "o", "\r\n"]
+[27.299826, "o", "Saving snapshot cluster=kwok\r\n"]
+[27.354529, "o", "Saved snapshot cluster=kwok\r\n"]
+[27.355615, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[29.359005, "o", "\r\n"]
+[29.359494, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[29.880074, "o", "#"]
+[29.925887, "o", " "]
+[29.960316, "o", "R"]
+[29.996259, "o", "e"]
+[30.030358, "o", "c"]
+[30.062438, "o", "r"]
+[30.099303, "o", "e"]
+[30.139619, "o", "a"]
+[30.17452, "o", "t"]
+[30.214665, "o", "e"]
+[30.257581, "o", " "]
+[30.314405, "o", "c"]
+[30.355912, "o", "l"]
+[30.40842, "o", "u"]
+[30.446651, "o", "s"]
+[30.483067, "o", "t"]
+[30.511084, "o", "e"]
+[30.540138, "o", "r"]
+[30.573218, "o", "."]
+[30.72528, "o", "\r\n"]
+[30.726267, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[31.737407, "o", "k"]
+[31.769692, "o", "w"]
+[31.784363, "o", "o"]
+[31.797516, "o", "k"]
+[31.811849, "o", "c"]
+[31.829277, "o", "t"]
+[31.848502, "o", "l"]
+[31.874193, "o", " "]
+[31.895605, "o", "d"]
+[31.912827, "o", "e"]
+[31.934594, "o", "l"]
+[31.962754, "o", "e"]
+[31.982534, "o", "t"]
+[32.009458, "o", "e"]
+[32.037503, "o", " "]
+[32.055653, "o", "c"]
+[32.073568, "o", "l"]
+[32.090924, "o", "u"]
+[32.106954, "o", "s"]
+[32.124468, "o", "t"]
+[32.140915, "o", "e"]
+[32.159454, "o", "r"]
+[32.176006, "o", " "]
+[32.19605, "o", ">"]
+[32.21389, "o", " "]
+[32.230775, "o", "/"]
+[32.25074, "o", "d"]
+[32.294751, "o", "e"]
+[32.309459, "o", "v"]
+[32.322911, "o", "/"]
+[32.342839, "o", "n"]
+[32.362694, "o", "u"]
+[32.379522, "o", "l"]
+[32.398439, "o", "l"]
+[32.419283, "o", " "]
+[32.436418, "o", "2"]
+[32.453731, "o", ">"]
+[32.471685, "o", "&"]
+[32.493326, "o", "1"]
+[32.5125, "o", " "]
+[32.534687, "o", "&"]
+[32.550563, "o", "&"]
+[32.566971, "o", " "]
+[32.58445, "o", "k"]
+[32.615337, "o", "w"]
+[32.637025, "o", "o"]
+[32.657437, "o", "k"]
+[32.675617, "o", "c"]
+[32.693343, "o", "t"]
+[32.71228, "o", "l"]
+[32.733001, "o", " "]
+[32.750036, "o", "c"]
+[32.768407, "o", "r"]
+[32.789682, "o", "e"]
+[32.808779, "o", "a"]
+[32.834309, "o", "t"]
+[32.852725, "o", "e"]
+[32.871221, "o", " "]
+[32.889714, "o", "c"]
+[32.909786, "o", "l"]
+[32.926252, "o", "u"]
+[32.943613, "o", "s"]
+[32.962011, "o", "t"]
+[32.979797, "o", "e"]
+[32.999566, "o", "r"]
+[33.023708, "o", " "]
+[33.044255, "o", ">"]
+[33.06192, "o", " "]
+[33.092741, "o", "/"]
+[33.108134, "o", "d"]
+[33.123918, "o", "e"]
+[33.142797, "o", "v"]
+[33.170481, "o", "/"]
+[33.210028, "o", "n"]
+[33.239817, "o", "u"]
+[33.269148, "o", "l"]
+[33.28864, "o", "l"]
+[33.307416, "o", " "]
+[33.326414, "o", "2"]
+[33.343924, "o", ">"]
+[33.361988, "o", "&"]
+[33.379563, "o", "1"]
+[33.904703, "o", "\r\n"]
+[36.531489, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[38.541591, "o", "\r\n"]
+[38.541765, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[39.061484, "o", "#"]
+[39.098867, "o", " "]
+[39.136453, "o", "R"]
+[39.171728, "o", "e"]
+[39.200673, "o", "s"]
+[39.228725, "o", "t"]
+[39.253674, "o", "o"]
+[39.284567, "o", "r"]
+[39.310999, "o", "e"]
+[39.337718, "o", " "]
+[39.367031, "o", "i"]
+[39.398117, "o", "s"]
+[39.42705, "o", " "]
+[39.461769, "o", "f"]
+[39.496531, "o", "r"]
+[39.526953, "o", "o"]
+[39.555201, "o", "m"]
+[39.583418, "o", " "]
+[39.613015, "o", "c"]
+[39.638707, "o", "l"]
+[39.667887, "o", "u"]
+[39.70159, "o", "s"]
+[39.737875, "o", "t"]
+[39.772956, "o", "e"]
+[39.817553, "o", "r"]
+[39.854955, "o", "."]
+[39.897722, "o", "y"]
+[39.935594, "o", "a"]
+[39.977309, "o", "m"]
+[40.023044, "o", "l"]
+[40.170274, "o", "\r\n"]
+[40.171078, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[41.183861, "o", "k"]
+[41.202042, "o", "w"]
+[41.220011, "o", "o"]
+[41.236361, "o", "k"]
+[41.254603, "o", "c"]
+[41.271882, "o", "t"]
+[41.287483, "o", "l"]
+[41.304948, "o", " "]
+[41.322106, "o", "s"]
+[41.33951, "o", "n"]
+[41.355622, "o", "a"]
+[41.372492, "o", "p"]
+[41.389085, "o", "s"]
+[41.405584, "o", "h"]
+[41.42263, "o", "o"]
+[41.438144, "o", "t"]
+[41.453045, "o", " "]
+[41.468278, "o", "r"]
+[41.481301, "o", "e"]
+[41.495291, "o", "p"]
+[41.51096, "o", "l"]
+[41.524943, "o", "a"]
+[41.540546, "o", "y"]
+[41.556608, "o", " "]
+[41.570393, "o", "-"]
+[41.584498, "o", "-"]
+[41.598349, "o", "s"]
+[41.6138, "o", "n"]
+[41.626664, "o", "a"]
+[41.642046, "o", "p"]
+[41.654976, "o", "s"]
+[41.670625, "o", "h"]
+[41.685097, "o", "o"]
+[41.700124, "o", "t"]
+[41.716336, "o", " "]
+[41.732126, "o", "-"]
+[41.748507, "o", "-"]
+[41.765049, "o", "p"]
+[41.778803, "o", "a"]
+[41.795072, "o", "t"]
+[41.811407, "o", "h"]
+[41.828464, "o", " "]
+[41.84453, "o", "c"]
+[41.861073, "o", "l"]
+[41.877821, "o", "u"]
+[41.892096, "o", "s"]
+[41.906255, "o", "t"]
+[41.921417, "o", "e"]
+[41.935513, "o", "r"]
+[41.949275, "o", "."]
+[41.96339, "o", "y"]
+[41.979745, "o", "a"]
+[41.995731, "o", "m"]
+[42.0118, "o", "l"]
+[42.531297, "o", "\r\n"]
+[43.142178, "o", "Restoring snapshot cluster=kwok\r\n"]
+[43.320045, "o", "Restored snapshot cluster=kwok\r\n"]
+[43.832477, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[45.840801, "o", "\r\n"]
+[45.841329, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[46.355696, "o", "#"]
+[46.386141, "o", " "]
+[46.414405, "o", "L"]
+[46.44495, "o", "e"]
+[46.477295, "o", "t"]
+[46.507009, "o", "'"]
+[46.539312, "o", "s"]
+[46.569146, "o", " "]
+[46.599965, "o", "h"]
+[46.630059, "o", "a"]
+[46.657733, "o", "v"]
+[46.687744, "o", "e"]
+[46.717566, "o", " "]
+[46.746862, "o", "a"]
+[46.774497, "o", " "]
+[46.803502, "o", "l"]
+[46.833077, "o", "o"]
+[46.863025, "o", "o"]
+[46.891048, "o", "k"]
+[46.92041, "o", " "]
+[46.950175, "o", "a"]
+[46.980033, "o", "t"]
+[47.010453, "o", " "]
+[47.040222, "o", "t"]
+[47.064638, "o", "h"]
+[47.090353, "o", "e"]
+[47.120391, "o", " "]
+[47.149687, "o", "p"]
+[47.179731, "o", "o"]
+[47.207633, "o", "d"]
+[47.234797, "o", " "]
+[47.262031, "o", "n"]
+[47.287687, "o", "a"]
+[47.312706, "o", "m"]
+[47.340237, "o", "e"]
+[47.367374, "o", " "]
+[47.398541, "o", "a"]
+[47.424756, "o", "g"]
+[47.449723, "o", "a"]
+[47.479893, "o", "i"]
+[47.510072, "o", "n"]
+[47.542109, "o", "."]
+[47.680204, "o", "\r\n"]
+[47.683653, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[48.697123, "o", "k"]
+[48.718027, "o", "u"]
+[48.734652, "o", "b"]
+[48.752317, "o", "e"]
+[48.769406, "o", "c"]
+[48.783701, "o", "t"]
+[48.800561, "o", "l"]
+[48.81713, "o", " "]
+[48.831041, "o", "g"]
+[48.847619, "o", "e"]
+[48.863716, "o", "t"]
+[48.879434, "o", " "]
+[48.895903, "o", "p"]
+[48.912911, "o", "o"]
+[48.928939, "o", "d"]
+[49.45395, "o", "\r\n"]
+[49.519683, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-428l4 1/1 Running 0 19s\r\napp-67f9df97bd-6px2x 1/1"]
+[49.519772, "o", " Running 0 19s\r\napp-67f9df97bd-nwdzs 1/1 Running 0 19s\r\n"]
+[49.520677, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[51.529294, "o", "\r\n"]
+[51.530592, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[52.043604, "o", "#"]
+[52.07534, "o", " "]
+[52.106672, "o", "D"]
+[52.13393, "o", "e"]
+[52.161311, "o", "l"]
+[52.192143, "o", "e"]
+[52.219347, "o", "t"]
+[52.246222, "o", "e"]
+[52.27564, "o", " "]
+[52.304761, "o", "t"]
+[52.332809, "o", "h"]
+[52.362056, "o", "e"]
+[52.391242, "o", " "]
+[52.420458, "o", "c"]
+[52.449382, "o", "l"]
+[52.479297, "o", "u"]
+[52.509638, "o", "s"]
+[52.538907, "o", "t"]
+[52.569175, "o", "e"]
+[52.595397, "o", "r"]
+[52.627901, "o", "."]
+[52.769766, "o", "\r\n"]
+[52.770905, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[53.780385, "o", "k"]
+[53.801564, "o", "w"]
+[53.821851, "o", "o"]
+[53.836947, "o", "k"]
+[53.850609, "o", "c"]
+[53.867503, "o", "t"]
+[53.885825, "o", "l"]
+[53.903608, "o", " "]
+[53.920651, "o", "d"]
+[53.937372, "o", "e"]
+[53.954107, "o", "l"]
+[53.971661, "o", "e"]
+[53.988177, "o", "t"]
+[54.003695, "o", "e"]
+[54.019209, "o", " "]
+[54.036108, "o", "c"]
+[54.053066, "o", "l"]
+[54.070579, "o", "u"]
+[54.086848, "o", "s"]
+[54.10044, "o", "t"]
+[54.1155, "o", "e"]
+[54.13128, "o", "r"]
+[54.655852, "o", "\r\n"]
+[54.69272, "o", "Cluster is stopping cluster=kwok\r\n"]
+[55.086452, "o", "Cluster is stopped elapsed=0.3s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"]
+[55.533622, "o", "Cluster is deleted elapsed=0.4s cluster=kwok\r\n"]
+[55.534417, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[57.542209, "o", "\r\n"]
+[57.54345, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[58.055558, "o", "#"]
+[58.08381, "o", " "]
+[58.110856, "o", "T"]
+[58.136486, "o", "h"]
+[58.166731, "o", "a"]
+[58.196097, "o", "t"]
+[58.221195, "o", "'"]
+[58.248962, "o", "s"]
+[58.272817, "o", " "]
+[58.304872, "o", "a"]
+[58.337488, "o", "l"]
+[58.367546, "o", "l"]
+[58.396401, "o", ","]
+[58.426879, "o", " "]
+[58.453862, "o", "e"]
+[58.484062, "o", "n"]
+[58.510419, "o", "j"]
+[58.537631, "o", "o"]
+[58.566687, "o", "y"]
+[58.602447, "o", " "]
+[58.632789, "o", "i"]
+[58.659025, "o", "t"]
+[58.690008, "o", "!"]
+[58.830623, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[59.844583, "o", "c"]
+[59.865303, "o", "l"]
+[59.88489, "o", "e"]
+[59.898152, "o", "a"]
+[59.912615, "o", "r"]
+[60.436605, "o", "\r\n"]
+[60.440407, "o", "\u001b[3J\u001b[H\u001b[2J"]
diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.demo b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.demo
new file mode 100644
index 000000000..20273d483
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.demo
@@ -0,0 +1,29 @@
+# Let's get started with kwokctl!
+kwokctl create cluster
+
+# Create the nodes.
+kwokctl scale node --replicas 2
+
+# Apply a deployment.
+kubectl create deployment app --image=app --replicas=3
+
+# Let's have a look at the pod name.
+kubectl get pod
+
+# Save it to cluster.yaml
+kwokctl snapshot record --snapshot --path cluster.yaml
+
+# Recreate cluster.
+kwokctl delete cluster > /dev/null 2>&1 && kwokctl create cluster > /dev/null 2>&1
+
+# Restore is from cluster.yaml
+kwokctl snapshot replay --snapshot --path cluster.yaml
+
+# Let's have a look at the pod name again.
+kubectl get pod
+
+# Delete the cluster.
+kwokctl delete cluster
+
+# That's all, enjoy it!
+clear
diff --git a/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.svg b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.svg
new file mode 100644
index 000000000..e4bffcf54
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.svg
@@ -0,0 +1 @@
+~/sigs.k8s.io/kwok$~/sigs.k8s.io/kwok$#~/sigs.k8s.io/kwok$#L~/sigs.k8s.io/kwok$#Le~/sigs.k8s.io/kwok$#Let~/sigs.k8s.io/kwok$#Let'~/sigs.k8s.io/kwok$#Let's~/sigs.k8s.io/kwok$#Let'sget~/sigs.k8s.io/kwok$#Let'sgetstarted~/sigs.k8s.io/kwok$#Let'sgetstartedwith~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokctl!~/sigs.k8s.io/kwok$k~/sigs.k8s.io/kwok$kw~/sigs.k8s.io/kwok$kwo~/sigs.k8s.io/kwok$kwok~/sigs.k8s.io/kwok$kwokc~/sigs.k8s.io/kwok$kwokct~/sigs.k8s.io/kwok$kwokctl~/sigs.k8s.io/kwok$kwokctlcreate~/sigs.k8s.io/kwok$kwokctlcreateclusterClusteriscreatingcluster=kwokClusteriscreatedelapsed=0.9scluster=kwokClusterisstartingcluster=kwokClusterisstartedelapsed=0.5scluster=kwokYoucannowuseyourclusterwith:kubectlcluster-info--contextkwok-kwokThanksforusingkwok!~/sigs.k8s.io/kwok$#Create~/sigs.k8s.io/kwok$#Createthe~/sigs.k8s.io/kwok$#Createthenodes.~/sigs.k8s.io/kwok$kwokctls~/sigs.k8s.io/kwok$kwokctlscale~/sigs.k8s.io/kwok$kwokctlscalenode~/sigs.k8s.io/kwok$kwokctlscalenode--replicas~/sigs.k8s.io/kwok$kwokctlscalenode--replicas2Noresourcefound,usedefaultresourceresource=nodecluster=kwokLoadresourcescounter=2elapsed=7msresource=nodesreplicas=2name=nodecluster=kwok~/sigs.k8s.io/kwok$#Apply~/sigs.k8s.io/kwok$#Applya~/sigs.k8s.io/kwok$#Applyadeployment.~/sigs.k8s.io/kwok$ku~/sigs.k8s.io/kwok$kub~/sigs.k8s.io/kwok$kube~/sigs.k8s.io/kwok$kubec~/sigs.k8s.io/kwok$kubect~/sigs.k8s.io/kwok$kubectl~/sigs.k8s.io/kwok$kubectlcreate~/sigs.k8s.io/kwok$kubectlcreatedeployment~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas=3deployment.apps/appcreated~/sigs.k8s.io/kwok$#Let'sh~/sigs.k8s.io/kwok$#Let'sha~/sigs.k8s.io/kwok$#Let'shav~/sigs.k8s.io/kwok$#Let'shave~/sigs.k8s.io/kwok$#Let'shavea~/sigs.k8s.io/kwok$#Let'shaveal~/sigs.k8s.io/kwok$#Let'shavealo~/sigs.k8s.io/kwok$#Let'shavealoo~/sigs.k8s.io/kwok$#Let'shavealook~/sigs.k8s.io/kwok$#Let'shavealooka~/sigs.k8s.io/kwok$#Let'shavealookat~/sigs.k8s.io/kwok$#Let'shavealookatt~/sigs.k8s.io/kwok$#Let'shavealookatth~/sigs.k8s.io/kwok$#Let'shavealookatthe~/sigs.k8s.io/kwok$#Let'shavealookatthep~/sigs.k8s.io/kwok$#Let'shavealookatthepo~/sigs.k8s.io/kwok$#Let'shavealookatthepod~/sigs.k8s.io/kwok$#Let'shavealookatthepodn~/sigs.k8s.io/kwok$#Let'shavealookatthepodna~/sigs.k8s.io/kwok$#Let'shavealookatthepodnam~/sigs.k8s.io/kwok$#Let'shavealookatthepodname~/sigs.k8s.io/kwok$#Let'shavealookatthepodname.~/sigs.k8s.io/kwok$kubectlg~/sigs.k8s.io/kwok$kubectlge~/sigs.k8s.io/kwok$kubectlget~/sigs.k8s.io/kwok$kubectlgetp~/sigs.k8s.io/kwok$kubectlgetpo~/sigs.k8s.io/kwok$kubectlgetpodNAMEREADYSTATUSRESTARTSAGEapp-67f9df97bd-428l41/1Running06sapp-67f9df97bd-6px2x1/1Running06sapp-67f9df97bd-nwdzs1/1Running06s~/sigs.k8s.io/kwok$#Save~/sigs.k8s.io/kwok$#Saveit~/sigs.k8s.io/kwok$#Saveitto~/sigs.k8s.io/kwok$#Saveittocluster.yaml~/sigs.k8s.io/kwok$kwokctlsn~/sigs.k8s.io/kwok$kwokctlsna~/sigs.k8s.io/kwok$kwokctlsnap~/sigs.k8s.io/kwok$kwokctlsnaps~/sigs.k8s.io/kwok$kwokctlsnapsh~/sigs.k8s.io/kwok$kwokctlsnapsho~/sigs.k8s.io/kwok$kwokctlsnapshot~/sigs.k8s.io/kwok$kwokctlsnapshotr~/sigs.k8s.io/kwok$kwokctlsnapshotre~/sigs.k8s.io/kwok$kwokctlsnapshotrecord~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--path~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster.yamlSavingsnapshotcluster=kwokSavedsnapshotcluster=kwok~/sigs.k8s.io/kwok$#R~/sigs.k8s.io/kwok$#Re~/sigs.k8s.io/kwok$#Recreate~/sigs.k8s.io/kwok$#Recreatecluster.~/sigs.k8s.io/kwok$kwokctld~/sigs.k8s.io/kwok$kwokctlde~/sigs.k8s.io/kwok$kwokctldel~/sigs.k8s.io/kwok$kwokctldele~/sigs.k8s.io/kwok$kwokctldelet~/sigs.k8s.io/kwok$kwokctldelete~/sigs.k8s.io/kwok$kwokctldeletec~/sigs.k8s.io/kwok$kwokctldeletecl~/sigs.k8s.io/kwok$kwokctldeleteclu~/sigs.k8s.io/kwok$kwokctldeleteclus~/sigs.k8s.io/kwok$kwokctldeleteclust~/sigs.k8s.io/kwok$kwokctldeletecluste~/sigs.k8s.io/kwok$kwokctldeletecluster~/sigs.k8s.io/kwok$kwokctldeletecluster>~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctl~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreate~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecluster>>/dev/null>/dev/null2>&1~/sigs.k8s.io/kwok$#Restore~/sigs.k8s.io/kwok$#Restoreis~/sigs.k8s.io/kwok$#Restoreisfrom~/sigs.k8s.io/kwok$#Restoreisfromcluster.yaml~/sigs.k8s.io/kwok$kwokctlsnapshotreplay~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--path~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster.yamlRestoringsnapshotcluster=kwokRestoredsnapshotcluster=kwok~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameagain.app-67f9df97bd-428l41/1Running019sapp-67f9df97bd-6px2x1/1Running019sapp-67f9df97bd-nwdzs1/1Running019s~/sigs.k8s.io/kwok$#Delete~/sigs.k8s.io/kwok$#Deletethe~/sigs.k8s.io/kwok$#Deletethecluster.Clusterisstoppingcluster=kwokClusterisstoppedelapsed=0.3scluster=kwokClusterisdeletingcluster=kwokClusterisdeletedelapsed=0.4scluster=kwok~/sigs.k8s.io/kwok$#That's~/sigs.k8s.io/kwok$#That'sall,~/sigs.k8s.io/kwok$#That'sall,enjoy~/sigs.k8s.io/kwok$#That'sall,enjoyit!~/sigs.k8s.io/kwok$clear~/sigs.k8s.io/kwok$#Let'sg~/sigs.k8s.io/kwok$#Let'sge~/sigs.k8s.io/kwok$#Let'sgets~/sigs.k8s.io/kwok$#Let'sgetst~/sigs.k8s.io/kwok$#Let'sgetsta~/sigs.k8s.io/kwok$#Let'sgetstar~/sigs.k8s.io/kwok$#Let'sgetstart~/sigs.k8s.io/kwok$#Let'sgetstarte~/sigs.k8s.io/kwok$#Let'sgetstartedw~/sigs.k8s.io/kwok$#Let'sgetstartedwi~/sigs.k8s.io/kwok$#Let'sgetstartedwit~/sigs.k8s.io/kwok$#Let'sgetstartedwithk~/sigs.k8s.io/kwok$#Let'sgetstartedwithkw~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwo~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwok~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokc~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokct~/sigs.k8s.io/kwok$#Let'sgetstartedwithkwokctl~/sigs.k8s.io/kwok$kwokctlc~/sigs.k8s.io/kwok$kwokctlcr~/sigs.k8s.io/kwok$kwokctlcre~/sigs.k8s.io/kwok$kwokctlcrea~/sigs.k8s.io/kwok$kwokctlcreat~/sigs.k8s.io/kwok$kwokctlcreatec~/sigs.k8s.io/kwok$kwokctlcreatecl~/sigs.k8s.io/kwok$kwokctlcreateclu~/sigs.k8s.io/kwok$kwokctlcreateclus~/sigs.k8s.io/kwok$kwokctlcreateclust~/sigs.k8s.io/kwok$kwokctlcreatecluste~/sigs.k8s.io/kwok$#C~/sigs.k8s.io/kwok$#Cr~/sigs.k8s.io/kwok$#Cre~/sigs.k8s.io/kwok$#Crea~/sigs.k8s.io/kwok$#Creat~/sigs.k8s.io/kwok$#Createt~/sigs.k8s.io/kwok$#Createth~/sigs.k8s.io/kwok$#Createthen~/sigs.k8s.io/kwok$#Createtheno~/sigs.k8s.io/kwok$#Createthenod~/sigs.k8s.io/kwok$#Createthenode~/sigs.k8s.io/kwok$#Createthenodes~/sigs.k8s.io/kwok$kwokctlsc~/sigs.k8s.io/kwok$kwokctlsca~/sigs.k8s.io/kwok$kwokctlscal~/sigs.k8s.io/kwok$kwokctlscalen~/sigs.k8s.io/kwok$kwokctlscaleno~/sigs.k8s.io/kwok$kwokctlscalenod~/sigs.k8s.io/kwok$kwokctlscalenode-~/sigs.k8s.io/kwok$kwokctlscalenode--~/sigs.k8s.io/kwok$kwokctlscalenode--r~/sigs.k8s.io/kwok$kwokctlscalenode--re~/sigs.k8s.io/kwok$kwokctlscalenode--rep~/sigs.k8s.io/kwok$kwokctlscalenode--repl~/sigs.k8s.io/kwok$kwokctlscalenode--repli~/sigs.k8s.io/kwok$kwokctlscalenode--replic~/sigs.k8s.io/kwok$kwokctlscalenode--replica~/sigs.k8s.io/kwok$#A~/sigs.k8s.io/kwok$#Ap~/sigs.k8s.io/kwok$#App~/sigs.k8s.io/kwok$#Appl~/sigs.k8s.io/kwok$#Applyad~/sigs.k8s.io/kwok$#Applyade~/sigs.k8s.io/kwok$#Applyadep~/sigs.k8s.io/kwok$#Applyadepl~/sigs.k8s.io/kwok$#Applyadeplo~/sigs.k8s.io/kwok$#Applyadeploy~/sigs.k8s.io/kwok$#Applyadeploym~/sigs.k8s.io/kwok$#Applyadeployme~/sigs.k8s.io/kwok$#Applyadeploymen~/sigs.k8s.io/kwok$#Applyadeployment~/sigs.k8s.io/kwok$kubectlc~/sigs.k8s.io/kwok$kubectlcr~/sigs.k8s.io/kwok$kubectlcre~/sigs.k8s.io/kwok$kubectlcrea~/sigs.k8s.io/kwok$kubectlcreat~/sigs.k8s.io/kwok$kubectlcreated~/sigs.k8s.io/kwok$kubectlcreatede~/sigs.k8s.io/kwok$kubectlcreatedep~/sigs.k8s.io/kwok$kubectlcreatedepl~/sigs.k8s.io/kwok$kubectlcreatedeplo~/sigs.k8s.io/kwok$kubectlcreatedeploy~/sigs.k8s.io/kwok$kubectlcreatedeploym~/sigs.k8s.io/kwok$kubectlcreatedeployme~/sigs.k8s.io/kwok$kubectlcreatedeploymen~/sigs.k8s.io/kwok$kubectlcreatedeploymenta~/sigs.k8s.io/kwok$kubectlcreatedeploymentap~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp-~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--i~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--im~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--ima~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--imag~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=a~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=ap~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app-~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--r~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--re~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--rep~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--repl~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--repli~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replic~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replica~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas~/sigs.k8s.io/kwok$kubectlcreatedeploymentapp--image=app--replicas=app-67f9df97bd-nwdzs~/sigs.k8s.io/kwok$#S~/sigs.k8s.io/kwok$#Sa~/sigs.k8s.io/kwok$#Sav~/sigs.k8s.io/kwok$#Savei~/sigs.k8s.io/kwok$#Saveitt~/sigs.k8s.io/kwok$#Saveittoc~/sigs.k8s.io/kwok$#Saveittocl~/sigs.k8s.io/kwok$#Saveittoclu~/sigs.k8s.io/kwok$#Saveittoclus~/sigs.k8s.io/kwok$#Saveittoclust~/sigs.k8s.io/kwok$#Saveittocluste~/sigs.k8s.io/kwok$#Saveittocluster~/sigs.k8s.io/kwok$#Saveittocluster.~/sigs.k8s.io/kwok$#Saveittocluster.y~/sigs.k8s.io/kwok$#Saveittocluster.ya~/sigs.k8s.io/kwok$#Saveittocluster.yam~/sigs.k8s.io/kwok$kwokctlsnapshotrec~/sigs.k8s.io/kwok$kwokctlsnapshotreco~/sigs.k8s.io/kwok$kwokctlsnapshotrecor~/sigs.k8s.io/kwok$kwokctlsnapshotrecord-~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--s~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--sn~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--sna~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snap~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snaps~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapsh~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapsho~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot-~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--p~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pa~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pat~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathc~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcl~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathclu~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathclus~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathclust~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluste~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster.~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster.y~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster.ya~/sigs.k8s.io/kwok$kwokctlsnapshotrecord--snapshot--pathcluster.yam~/sigs.k8s.io/kwok$#Rec~/sigs.k8s.io/kwok$#Recr~/sigs.k8s.io/kwok$#Recre~/sigs.k8s.io/kwok$#Recrea~/sigs.k8s.io/kwok$#Recreat~/sigs.k8s.io/kwok$#Recreatec~/sigs.k8s.io/kwok$#Recreatecl~/sigs.k8s.io/kwok$#Recreateclu~/sigs.k8s.io/kwok$#Recreateclus~/sigs.k8s.io/kwok$#Recreateclust~/sigs.k8s.io/kwok$#Recreatecluste~/sigs.k8s.io/kwok$#Recreatecluster~/sigs.k8s.io/kwok$kwokctldeletecluster>/~/sigs.k8s.io/kwok$kwokctldeletecluster>/d~/sigs.k8s.io/kwok$kwokctldeletecluster>/de~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/n~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/nu~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/nul~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&k~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kw~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwo~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwok~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokc~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokct~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlc~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcr~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcre~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcrea~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreat~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatec~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecl~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclu~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclus~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreateclust~/sigs.k8s.io/kwok$kwokctldeletecluster>/dev/null2>&1&&kwokctlcreatecluste>/>/d>/de>/dev>/dev/>/dev/n>/dev/nu>/dev/nul>/dev/null2>/dev/null2>>/dev/null2>&~/sigs.k8s.io/kwok$#Res~/sigs.k8s.io/kwok$#Rest~/sigs.k8s.io/kwok$#Resto~/sigs.k8s.io/kwok$#Restor~/sigs.k8s.io/kwok$#Restorei~/sigs.k8s.io/kwok$#Restoreisf~/sigs.k8s.io/kwok$#Restoreisfr~/sigs.k8s.io/kwok$#Restoreisfro~/sigs.k8s.io/kwok$#Restoreisfromc~/sigs.k8s.io/kwok$#Restoreisfromcl~/sigs.k8s.io/kwok$#Restoreisfromclu~/sigs.k8s.io/kwok$#Restoreisfromclus~/sigs.k8s.io/kwok$#Restoreisfromclust~/sigs.k8s.io/kwok$#Restoreisfromcluste~/sigs.k8s.io/kwok$#Restoreisfromcluster~/sigs.k8s.io/kwok$#Restoreisfromcluster.~/sigs.k8s.io/kwok$#Restoreisfromcluster.y~/sigs.k8s.io/kwok$#Restoreisfromcluster.ya~/sigs.k8s.io/kwok$#Restoreisfromcluster.yam~/sigs.k8s.io/kwok$kwokctlsnapshotrep~/sigs.k8s.io/kwok$kwokctlsnapshotrepl~/sigs.k8s.io/kwok$kwokctlsnapshotrepla~/sigs.k8s.io/kwok$kwokctlsnapshotreplay-~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--s~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--sn~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--sna~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snap~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snaps~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapsh~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapsho~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot-~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--p~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pa~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pat~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathc~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcl~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathclu~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathclus~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathclust~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluste~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster.~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster.y~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster.ya~/sigs.k8s.io/kwok$kwokctlsnapshotreplay--snapshot--pathcluster.yam~/sigs.k8s.io/kwok$#Let'shavealookatthepodnamea~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameag~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameaga~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameagai~/sigs.k8s.io/kwok$#Let'shavealookatthepodnameagainapp-67f9df97bd-6px2x1/1~/sigs.k8s.io/kwok$#D~/sigs.k8s.io/kwok$#De~/sigs.k8s.io/kwok$#Del~/sigs.k8s.io/kwok$#Dele~/sigs.k8s.io/kwok$#Delet~/sigs.k8s.io/kwok$#Deletet~/sigs.k8s.io/kwok$#Deleteth~/sigs.k8s.io/kwok$#Deletethec~/sigs.k8s.io/kwok$#Deletethecl~/sigs.k8s.io/kwok$#Deletetheclu~/sigs.k8s.io/kwok$#Deletetheclus~/sigs.k8s.io/kwok$#Deletetheclust~/sigs.k8s.io/kwok$#Deletethecluste~/sigs.k8s.io/kwok$#Deletethecluster~/sigs.k8s.io/kwok$#T~/sigs.k8s.io/kwok$#Th~/sigs.k8s.io/kwok$#Tha~/sigs.k8s.io/kwok$#That~/sigs.k8s.io/kwok$#That'~/sigs.k8s.io/kwok$#That'sa~/sigs.k8s.io/kwok$#That'sal~/sigs.k8s.io/kwok$#That'sall~/sigs.k8s.io/kwok$#That'sall,e~/sigs.k8s.io/kwok$#That'sall,en~/sigs.k8s.io/kwok$#That'sall,enj~/sigs.k8s.io/kwok$#That'sall,enjo~/sigs.k8s.io/kwok$#That'sall,enjoyi~/sigs.k8s.io/kwok$#That'sall,enjoyit~/sigs.k8s.io/kwok$c~/sigs.k8s.io/kwok$cl~/sigs.k8s.io/kwok$cle~/sigs.k8s.io/kwok$clea
\ No newline at end of file