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..3670d3e27
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.cast
@@ -0,0 +1,670 @@
+{"version": 2, "width": 86, "height": 24, "timestamp": 1716349527, "env": {}}
+[0.009207, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[0.517931, "o", "#"]
+[0.550864, "o", " "]
+[0.578622, "o", "L"]
+[0.603569, "o", "e"]
+[0.628167, "o", "t"]
+[0.657071, "o", "'"]
+[0.685881, "o", "s"]
+[0.714912, "o", " "]
+[0.744762, "o", "g"]
+[0.770163, "o", "e"]
+[0.7955, "o", "t"]
+[0.824144, "o", "t"]
+[0.849164, "o", "i"]
+[0.878195, "o", "n"]
+[0.905889, "o", "g"]
+[0.933831, "o", " "]
+[0.957426, "o", "s"]
+[0.985924, "o", "t"]
+[1.01391, "o", "a"]
+[1.04228, "o", "r"]
+[1.070098, "o", "t"]
+[1.101217, "o", "e"]
+[1.127347, "o", "d"]
+[1.152099, "o", " "]
+[1.180666, "o", "w"]
+[1.208782, "o", "i"]
+[1.236007, "o", "t"]
+[1.264084, "o", "h"]
+[1.292271, "o", " "]
+[1.319902, "o", "k"]
+[1.344516, "o", "w"]
+[1.372851, "o", "o"]
+[1.399037, "o", "k"]
+[1.428054, "o", "c"]
+[1.457245, "o", "t"]
+[1.487447, "o", "l"]
+[1.511926, "o", "!"]
+[1.648335, "o", "\r\n"]
+[1.648581, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[2.659756, "o", "k"]
+[2.67749, "o", "w"]
+[2.693662, "o", "o"]
+[2.711319, "o", "k"]
+[2.729003, "o", "c"]
+[2.7448, "o", "t"]
+[2.762464, "o", "l"]
+[2.77956, "o", " "]
+[2.795604, "o", "c"]
+[2.812367, "o", "r"]
+[2.829447, "o", "e"]
+[2.844366, "o", "a"]
+[2.859844, "o", "t"]
+[2.876163, "o", "e"]
+[2.892168, "o", " "]
+[2.909063, "o", "c"]
+[2.924299, "o", "l"]
+[2.939149, "o", "u"]
+[2.954249, "o", "s"]
+[2.967387, "o", "t"]
+[2.982298, "o", "e"]
+[2.995873, "o", "r"]
+[3.518939, "o", "\r\n"]
+[3.554471, "o", "Cluster is creating cluster=kwok\r\n"]
+[4.517483, "o", "Cluster is created elapsed=0.9s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"]
+[5.270967, "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.271908, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.280973, "o", "\r\n"]
+[7.281251, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.793243, "o", "#"]
+[7.817127, "o", " "]
+[7.840521, "o", "C"]
+[7.863334, "o", "r"]
+[7.888602, "o", "e"]
+[7.916881, "o", "a"]
+[7.945505, "o", "t"]
+[7.969817, "o", "e"]
+[7.997728, "o", " "]
+[8.022575, "o", "a"]
+[8.047863, "o", "n"]
+[8.075061, "o", " "]
+[8.104185, "o", "n"]
+[8.133514, "o", "o"]
+[8.16355, "o", "d"]
+[8.191146, "o", "e"]
+[8.220871, "o", "s"]
+[8.250691, "o", "."]
+[8.387584, "o", "\r\n"]
+[8.387743, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[9.400362, "o", "k"]
+[9.421703, "o", "w"]
+[9.438908, "o", "o"]
+[9.454356, "o", "k"]
+[9.47129, "o", "c"]
+[9.488059, "o", "t"]
+[9.504774, "o", "l"]
+[9.521056, "o", " "]
+[9.537917, "o", "s"]
+[9.552552, "o", "c"]
+[9.56895, "o", "a"]
+[9.58385, "o", "l"]
+[9.598847, "o", "e"]
+[9.611852, "o", " "]
+[9.625154, "o", "n"]
+[9.639986, "o", "o"]
+[9.652295, "o", "d"]
+[9.666706, "o", "e"]
+[9.682038, "o", " "]
+[9.696772, "o", "-"]
+[9.712898, "o", "-"]
+[9.727404, "o", "r"]
+[9.742489, "o", "e"]
+[9.755494, "o", "p"]
+[9.770379, "o", "l"]
+[9.784957, "o", "i"]
+[9.799709, "o", "c"]
+[9.813073, "o", "a"]
+[9.828038, "o", "s"]
+[9.841851, "o", " "]
+[9.857124, "o", "2"]
+[10.379868, "o", "\r\n"]
+[10.412977, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"]
+[10.458653, "o", "Load resources counter=2 elapsed=15ms resource=nodes replicas=2 name=node cluster=kwok\r\n"]
+[10.459842, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[12.469592, "o", "\r\n"]
+[12.470721, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[12.985212, "o", "#"]
+[13.01958, "o", " "]
+[13.049817, "o", "A"]
+[13.079167, "o", "p"]
+[13.104335, "o", "p"]
+[13.133468, "o", "l"]
+[13.162741, "o", "y"]
+[13.191846, "o", " "]
+[13.220829, "o", "a"]
+[13.249453, "o", " "]
+[13.273643, "o", "d"]
+[13.301268, "o", "e"]
+[13.328676, "o", "p"]
+[13.354508, "o", "l"]
+[13.383746, "o", "o"]
+[13.409747, "o", "y"]
+[13.435428, "o", "m"]
+[13.465027, "o", "e"]
+[13.493502, "o", "n"]
+[13.522013, "o", "t"]
+[13.55101, "o", "."]
+[13.689937, "o", "\r\n"]
+[13.692718, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[14.701443, "o", "k"]
+[14.721515, "o", "u"]
+[14.737729, "o", "b"]
+[14.75587, "o", "e"]
+[14.773676, "o", "c"]
+[14.79141, "o", "t"]
+[14.806893, "o", "l"]
+[14.822221, "o", " "]
+[14.839891, "o", "c"]
+[14.856746, "o", "r"]
+[14.871018, "o", "e"]
+[14.88766, "o", "a"]
+[14.902701, "o", "t"]
+[14.918206, "o", "e"]
+[14.934715, "o", " "]
+[14.949651, "o", "d"]
+[14.964626, "o", "e"]
+[14.9801, "o", "p"]
+[14.994109, "o", "l"]
+[15.009545, "o", "o"]
+[15.025481, "o", "y"]
+[15.040604, "o", "m"]
+[15.056281, "o", "e"]
+[15.069618, "o", "n"]
+[15.08518, "o", "t"]
+[15.098674, "o", " "]
+[15.11386, "o", "a"]
+[15.127247, "o", "p"]
+[15.140884, "o", "p"]
+[15.155981, "o", " "]
+[15.17124, "o", "-"]
+[15.186282, "o", "-"]
+[15.201533, "o", "i"]
+[15.214884, "o", "m"]
+[15.230202, "o", "a"]
+[15.245718, "o", "g"]
+[15.261336, "o", "e"]
+[15.275259, "o", "="]
+[15.291064, "o", "a"]
+[15.306567, "o", "p"]
+[15.32303, "o", "p"]
+[15.339153, "o", " "]
+[15.352236, "o", "-"]
+[15.368087, "o", "-"]
+[15.383848, "o", "r"]
+[15.398857, "o", "e"]
+[15.414603, "o", "p"]
+[15.429456, "o", "l"]
+[15.444481, "o", "i"]
+[15.4588, "o", "c"]
+[15.473773, "o", "a"]
+[15.488485, "o", "s"]
+[15.503294, "o", "="]
+[15.518525, "o", "3"]
+[16.041705, "o", "\r\n"]
+[16.123378, "o", "deployment.apps/app created\r\n"]
+[16.124349, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[18.133941, "o", "\r\n"]
+[18.134102, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[18.650394, "o", "#"]
+[18.678646, "o", " "]
+[18.709232, "o", "L"]
+[18.737163, "o", "e"]
+[18.76241, "o", "t"]
+[18.791433, "o", "'"]
+[18.819312, "o", "s"]
+[18.846099, "o", " "]
+[18.873581, "o", "h"]
+[18.900749, "o", "a"]
+[18.930389, "o", "v"]
+[18.956203, "o", "e"]
+[18.98155, "o", " "]
+[19.011253, "o", "a"]
+[19.036788, "o", " "]
+[19.062616, "o", "l"]
+[19.088126, "o", "o"]
+[19.113878, "o", "o"]
+[19.142411, "o", "k"]
+[19.167057, "o", " "]
+[19.193352, "o", "a"]
+[19.218449, "o", "t"]
+[19.247546, "o", " "]
+[19.27504, "o", "t"]
+[19.304374, "o", "h"]
+[19.333476, "o", "e"]
+[19.357613, "o", " "]
+[19.386533, "o", "p"]
+[19.415046, "o", "o"]
+[19.440852, "o", "d"]
+[19.469764, "o", " "]
+[19.498634, "o", "n"]
+[19.524226, "o", "a"]
+[19.553424, "o", "m"]
+[19.578817, "o", "e"]
+[19.606462, "o", "."]
+[19.740701, "o", "\r\n"]
+[19.741148, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[20.752316, "o", "k"]
+[20.770976, "o", "u"]
+[20.788748, "o", "b"]
+[20.806716, "o", "e"]
+[20.823197, "o", "c"]
+[20.840095, "o", "t"]
+[20.857267, "o", "l"]
+[20.87407, "o", " "]
+[20.891121, "o", "g"]
+[20.90703, "o", "e"]
+[20.92326, "o", "t"]
+[20.938661, "o", " "]
+[20.953442, "o", "p"]
+[20.970015, "o", "o"]
+[20.986221, "o", "d"]
+[21.512164, "o", "\r\n"]
+[21.583558, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-6t98r 1/1 Running 0 5s\r\napp-67f9df97bd-bltk4 1/1 Running"]
+[21.583585, "o", " 0 5s\r\napp-67f9df97bd-vdr2w 1/1 Running 0 5s\r\n"]
+[21.584557, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[23.588762, "o", "\r\n"]
+[23.589218, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[24.09757, "o", "#"]
+[24.130953, "o", " "]
+[24.161336, "o", "S"]
+[24.191029, "o", "a"]
+[24.21937, "o", "v"]
+[24.245032, "o", "e"]
+[24.27429, "o", " "]
+[24.302775, "o", "i"]
+[24.333187, "o", "t"]
+[24.361462, "o", " "]
+[24.387211, "o", "t"]
+[24.417028, "o", "o"]
+[24.443011, "o", " "]
+[24.467204, "o", "s"]
+[24.495332, "o", "n"]
+[24.520186, "o", "a"]
+[24.549116, "o", "p"]
+[24.575196, "o", "s"]
+[24.604193, "o", "h"]
+[24.633929, "o", "o"]
+[24.661992, "o", "t"]
+[24.691148, "o", "."]
+[24.720637, "o", "d"]
+[24.746175, "o", "b"]
+[24.881496, "o", "\r\n"]
+[24.884369, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[25.891114, "o", "k"]
+[25.911175, "o", "w"]
+[25.928662, "o", "o"]
+[25.945245, "o", "k"]
+[25.962623, "o", "c"]
+[25.980275, "o", "t"]
+[25.996953, "o", "l"]
+[26.014389, "o", " "]
+[26.031444, "o", "s"]
+[26.048225, "o", "n"]
+[26.063986, "o", "a"]
+[26.080754, "o", "p"]
+[26.097805, "o", "s"]
+[26.11263, "o", "h"]
+[26.129036, "o", "o"]
+[26.145373, "o", "t"]
+[26.161238, "o", " "]
+[26.177584, "o", "s"]
+[26.193989, "o", "a"]
+[26.209135, "o", "v"]
+[26.223201, "o", "e"]
+[26.239612, "o", " "]
+[26.256352, "o", "-"]
+[26.272242, "o", "-"]
+[26.288733, "o", "p"]
+[26.304558, "o", "a"]
+[26.317422, "o", "t"]
+[26.332558, "o", "h"]
+[26.347746, "o", " "]
+[26.362961, "o", "s"]
+[26.378554, "o", "n"]
+[26.3939, "o", "a"]
+[26.409303, "o", "p"]
+[26.425872, "o", "s"]
+[26.440869, "o", "h"]
+[26.457192, "o", "o"]
+[26.473322, "o", "t"]
+[26.489878, "o", "."]
+[26.506347, "o", "d"]
+[26.5216, "o", "b"]
+[27.04854, "o", "\r\n"]
+[27.245903, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[29.251525, "o", "\r\n"]
+[29.251668, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[29.766108, "o", "#"]
+[29.798771, "o", " "]
+[29.830302, "o", "R"]
+[29.856835, "o", "e"]
+[29.886668, "o", "c"]
+[29.915237, "o", "r"]
+[29.940969, "o", "e"]
+[29.970404, "o", "a"]
+[30.000299, "o", "t"]
+[30.028943, "o", "e"]
+[30.058239, "o", " "]
+[30.086647, "o", "c"]
+[30.112766, "o", "l"]
+[30.14024, "o", "u"]
+[30.169623, "o", "s"]
+[30.199175, "o", "t"]
+[30.224327, "o", "e"]
+[30.249261, "o", "r"]
+[30.388344, "o", "\r\n"]
+[30.389392, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[31.399953, "o", "k"]
+[31.419129, "o", "w"]
+[31.436506, "o", "o"]
+[31.452535, "o", "k"]
+[31.468173, "o", "c"]
+[31.485219, "o", "t"]
+[31.502866, "o", "l"]
+[31.520102, "o", " "]
+[31.536603, "o", "d"]
+[31.551143, "o", "e"]
+[31.570291, "o", "l"]
+[31.587379, "o", "e"]
+[31.602864, "o", "t"]
+[31.618911, "o", "e"]
+[31.634566, "o", " "]
+[31.647154, "o", "c"]
+[31.663594, "o", "l"]
+[31.68006, "o", "u"]
+[31.69569, "o", "s"]
+[31.712064, "o", "t"]
+[31.727118, "o", "e"]
+[31.742749, "o", "r"]
+[31.760485, "o", " "]
+[31.777191, "o", ">"]
+[31.790474, "o", " "]
+[31.806106, "o", "/"]
+[31.818933, "o", "d"]
+[31.833423, "o", "e"]
+[31.848255, "o", "v"]
+[31.86442, "o", "/"]
+[31.880383, "o", "n"]
+[31.892865, "o", "u"]
+[31.906234, "o", "l"]
+[31.92266, "o", "l"]
+[31.93699, "o", " "]
+[31.951891, "o", "2"]
+[31.968022, "o", ">"]
+[31.980983, "o", "&"]
+[31.996518, "o", "1"]
+[32.013074, "o", " "]
+[32.026778, "o", "&"]
+[32.043375, "o", "&"]
+[32.063327, "o", " "]
+[32.079724, "o", "k"]
+[32.092773, "o", "w"]
+[32.108938, "o", "o"]
+[32.124699, "o", "k"]
+[32.137379, "o", "c"]
+[32.154646, "o", "t"]
+[32.175116, "o", "l"]
+[32.187693, "o", " "]
+[32.202526, "o", "c"]
+[32.221115, "o", "r"]
+[32.235343, "o", "e"]
+[32.252262, "o", "a"]
+[32.267498, "o", "t"]
+[32.285161, "o", "e"]
+[32.300992, "o", " "]
+[32.31731, "o", "c"]
+[32.334604, "o", "l"]
+[32.350243, "o", "u"]
+[32.365815, "o", "s"]
+[32.382984, "o", "t"]
+[32.399362, "o", "e"]
+[32.413918, "o", "r"]
+[32.427099, "o", " "]
+[32.440672, "o", ">"]
+[32.453621, "o", " "]
+[32.471298, "o", "/"]
+[32.487111, "o", "d"]
+[32.501436, "o", "e"]
+[32.516056, "o", "v"]
+[32.529973, "o", "/"]
+[32.556763, "o", "n"]
+[32.572343, "o", "u"]
+[32.58921, "o", "l"]
+[32.605981, "o", "l"]
+[32.620743, "o", " "]
+[32.639267, "o", "2"]
+[32.655381, "o", ">"]
+[32.680715, "o", "&"]
+[32.702571, "o", "1"]
+[33.228739, "o", "\r\n"]
+[35.817578, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[37.826217, "o", "\r\n"]
+[37.827525, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[38.342101, "o", "#"]
+[38.376891, "o", " "]
+[38.404204, "o", "R"]
+[38.430075, "o", "e"]
+[38.460315, "o", "s"]
+[38.485179, "o", "t"]
+[38.5149, "o", "o"]
+[38.540776, "o", "r"]
+[38.569951, "o", "e"]
+[38.595595, "o", " "]
+[38.619926, "o", "i"]
+[38.648665, "o", "s"]
+[38.676409, "o", " "]
+[38.705045, "o", "f"]
+[38.735783, "o", "r"]
+[38.767741, "o", "o"]
+[38.7989, "o", "m"]
+[38.829957, "o", " "]
+[38.86082, "o", "s"]
+[38.891336, "o", "n"]
+[38.917224, "o", "a"]
+[38.945579, "o", "p"]
+[38.975724, "o", "s"]
+[39.002161, "o", "h"]
+[39.028054, "o", "o"]
+[39.056944, "o", "t"]
+[39.084714, "o", "."]
+[39.114774, "o", "d"]
+[39.144709, "o", "b"]
+[39.280644, "o", "\r\n"]
+[39.28079, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[40.291847, "o", "k"]
+[40.310485, "o", "w"]
+[40.325731, "o", "o"]
+[40.340731, "o", "k"]
+[40.353816, "o", "c"]
+[40.368582, "o", "t"]
+[40.38646, "o", "l"]
+[40.402541, "o", " "]
+[40.417722, "o", "s"]
+[40.435646, "o", "n"]
+[40.451003, "o", "a"]
+[40.467688, "o", "p"]
+[40.483355, "o", "s"]
+[40.498194, "o", "h"]
+[40.514445, "o", "o"]
+[40.528698, "o", "t"]
+[40.545002, "o", " "]
+[40.561025, "o", "r"]
+[40.577031, "o", "e"]
+[40.593768, "o", "s"]
+[40.610018, "o", "t"]
+[40.624832, "o", "o"]
+[40.639984, "o", "r"]
+[40.655415, "o", "e"]
+[40.672326, "o", " "]
+[40.689104, "o", "-"]
+[40.705303, "o", "-"]
+[40.721432, "o", "p"]
+[40.735367, "o", "a"]
+[40.751179, "o", "t"]
+[40.765786, "o", "h"]
+[40.781785, "o", " "]
+[40.798632, "o", "s"]
+[40.815076, "o", "n"]
+[40.832841, "o", "a"]
+[40.855435, "o", "p"]
+[40.873071, "o", "s"]
+[40.885461, "o", "h"]
+[40.900242, "o", "o"]
+[40.913108, "o", "t"]
+[40.927666, "o", "."]
+[40.942396, "o", "d"]
+[40.957058, "o", "b"]
+[41.476157, "o", "\r\n"]
+[43.68961, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[45.698634, "o", "\r\n"]
+[45.699987, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[46.213606, "o", "#"]
+[46.245267, "o", " "]
+[46.271753, "o", "L"]
+[46.297405, "o", "e"]
+[46.323006, "o", "t"]
+[46.352629, "o", "'"]
+[46.378459, "o", "s"]
+[46.40814, "o", " "]
+[46.436078, "o", "h"]
+[46.461754, "o", "a"]
+[46.491046, "o", "v"]
+[46.518716, "o", "e"]
+[46.548406, "o", " "]
+[46.57435, "o", "a"]
+[46.603858, "o", " "]
+[46.629274, "o", "l"]
+[46.65853, "o", "o"]
+[46.684637, "o", "o"]
+[46.710244, "o", "k"]
+[46.739649, "o", " "]
+[46.769176, "o", "a"]
+[46.794427, "o", "t"]
+[46.820202, "o", " "]
+[46.849117, "o", "t"]
+[46.877747, "o", "h"]
+[46.907398, "o", "e"]
+[46.93209, "o", " "]
+[46.960964, "o", "p"]
+[46.989785, "o", "o"]
+[47.020217, "o", "d"]
+[47.0471, "o", " "]
+[47.072718, "o", "n"]
+[47.09855, "o", "a"]
+[47.12799, "o", "m"]
+[47.154768, "o", "e"]
+[47.183429, "o", " "]
+[47.212558, "o", "a"]
+[47.241806, "o", "g"]
+[47.271102, "o", "a"]
+[47.297641, "o", "i"]
+[47.326961, "o", "n"]
+[47.356282, "o", "."]
+[47.495811, "o", "\r\n"]
+[47.495972, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[48.509837, "o", "k"]
+[48.531323, "o", "u"]
+[48.549133, "o", "b"]
+[48.567081, "o", "e"]
+[48.584521, "o", "c"]
+[48.600654, "o", "t"]
+[48.617247, "o", "l"]
+[48.632427, "o", " "]
+[48.648612, "o", "g"]
+[48.664194, "o", "e"]
+[48.677552, "o", "t"]
+[48.691313, "o", " "]
+[48.705386, "o", "p"]
+[48.721164, "o", "o"]
+[48.737631, "o", "d"]
+[49.265253, "o", "\r\n"]
+[49.333695, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-6t98r 1/1 Running 0 33s\r\napp-67f9df97bd-bltk4 1/1 Running 0 "]
+[49.333843, "o", " 33s\r\napp-67f9df97bd-vdr2w 1/1 Running 0 33s\r\n"]
+[49.334652, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[51.343474, "o", "\r\n"]
+[51.34521, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[51.858967, "o", "#"]
+[51.895465, "o", " "]
+[51.930038, "o", "D"]
+[51.957742, "o", "e"]
+[51.985999, "o", "l"]
+[52.01731, "o", "e"]
+[52.046001, "o", "t"]
+[52.07191, "o", "e"]
+[52.101384, "o", " "]
+[52.131307, "o", "t"]
+[52.157329, "o", "h"]
+[52.186814, "o", "e"]
+[52.21519, "o", " "]
+[52.245026, "o", "c"]
+[52.27556, "o", "l"]
+[52.305058, "o", "u"]
+[52.3353, "o", "s"]
+[52.365288, "o", "t"]
+[52.394842, "o", "e"]
+[52.424864, "o", "r"]
+[52.45478, "o", "."]
+[52.58669, "o", "\r\n"]
+[52.587976, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[53.598547, "o", "k"]
+[53.61519, "o", "w"]
+[53.630715, "o", "o"]
+[53.652597, "o", "k"]
+[53.673226, "o", "c"]
+[53.689178, "o", "t"]
+[53.706654, "o", "l"]
+[53.723774, "o", " "]
+[53.738841, "o", "d"]
+[53.754428, "o", "e"]
+[53.771934, "o", "l"]
+[53.789773, "o", "e"]
+[53.80681, "o", "t"]
+[53.824344, "o", "e"]
+[53.841727, "o", " "]
+[53.858842, "o", "c"]
+[53.875783, "o", "l"]
+[53.891986, "o", "u"]
+[53.908714, "o", "s"]
+[53.925196, "o", "t"]
+[53.941037, "o", "e"]
+[53.957699, "o", "r"]
+[54.479475, "o", "\r\n"]
+[54.511589, "o", "Cluster is stopping cluster=kwok\r\n"]
+[54.913644, "o", "Cluster is stopped elapsed=0.4s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"]
+[55.336666, "o", "Cluster is deleted elapsed=0.4s cluster=kwok\r\n"]
+[55.337526, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[57.347079, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[57.860627, "o", "#"]
+[57.893921, "o", " "]
+[57.924176, "o", "T"]
+[57.949662, "o", "h"]
+[57.975071, "o", "a"]
+[58.005605, "o", "t"]
+[58.031632, "o", "'"]
+[58.060034, "o", "s"]
+[58.088612, "o", " "]
+[58.117847, "o", "a"]
+[58.144151, "o", "l"]
+[58.170094, "o", "l"]
+[58.199243, "o", ","]
+[58.228546, "o", " "]
+[58.25846, "o", "e"]
+[58.285732, "o", "n"]
+[58.312642, "o", "j"]
+[58.339173, "o", "o"]
+[58.365485, "o", "y"]
+[58.391018, "o", " "]
+[58.416252, "o", "i"]
+[58.440797, "o", "t"]
+[58.469918, "o", "!"]
+[58.601173, "o", "\r\n"]
+[58.602611, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[59.613105, "o", "c"]
+[59.630935, "o", "l"]
+[59.645266, "o", "e"]
+[59.665171, "o", "a"]
+[59.682705, "o", "r"]
+[60.206867, "o", "\r\n"]
+[60.212787, "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..c948d70a7
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/etcd-snapshot.demo
@@ -0,0 +1,32 @@
+# Let's get started with kwokctl!
+kwokctl create cluster
+
+# Use context
+kubectl cluster-info --context kwok-kwok
+
+# 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..d04572ae1
--- /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..273f19431
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.cast
@@ -0,0 +1,819 @@
+{"version": 2, "width": 86, "height": 24, "timestamp": 1716349670, "env": {}}
+[0.009657, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[0.519183, "o", "#"]
+[0.551063, "o", " "]
+[0.581477, "o", "L"]
+[0.607661, "o", "e"]
+[0.637227, "o", "t"]
+[0.67363, "o", "'"]
+[0.706961, "o", "s"]
+[0.741272, "o", " "]
+[0.774375, "o", "g"]
+[0.802652, "o", "e"]
+[0.828321, "o", "t"]
+[0.858708, "o", "t"]
+[0.883622, "o", "i"]
+[0.912922, "o", "n"]
+[0.942502, "o", "g"]
+[0.972836, "o", " "]
+[0.999878, "o", "s"]
+[1.027584, "o", "t"]
+[1.057468, "o", "a"]
+[1.088313, "o", "r"]
+[1.118363, "o", "t"]
+[1.147875, "o", "e"]
+[1.177596, "o", "d"]
+[1.206748, "o", " "]
+[1.234778, "o", "w"]
+[1.264371, "o", "i"]
+[1.291932, "o", "t"]
+[1.317723, "o", "h"]
+[1.343444, "o", " "]
+[1.373028, "o", "k"]
+[1.398555, "o", "w"]
+[1.427785, "o", "o"]
+[1.457073, "o", "k"]
+[1.48596, "o", "c"]
+[1.510582, "o", "t"]
+[1.536456, "o", "l"]
+[1.566085, "o", "!"]
+[1.706381, "o", "\r\n"]
+[1.707245, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[2.717585, "o", "k"]
+[2.738841, "o", "w"]
+[2.755927, "o", "o"]
+[2.77186, "o", "k"]
+[2.789089, "o", "c"]
+[2.806172, "o", "t"]
+[2.821957, "o", "l"]
+[2.836621, "o", " "]
+[2.852619, "o", "c"]
+[2.869327, "o", "r"]
+[2.886044, "o", "e"]
+[2.902695, "o", "a"]
+[2.918796, "o", "t"]
+[2.933569, "o", "e"]
+[2.947901, "o", " "]
+[2.962805, "o", "c"]
+[2.977746, "o", "l"]
+[2.992994, "o", "u"]
+[3.007983, "o", "s"]
+[3.023476, "o", "t"]
+[3.039937, "o", "e"]
+[3.054028, "o", "r"]
+[3.580576, "o", "\r\n"]
+[3.61255, "o", "Cluster is creating cluster=kwok\r\n"]
+[4.557955, "o", "Cluster is created elapsed=0.9s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"]
+[5.198801, "o", "Cluster is started elapsed=0.6s 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.199552, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.211157, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.72021, "o", "#"]
+[7.750337, "o", " "]
+[7.779846, "o", "R"]
+[7.809105, "o", "e"]
+[7.838819, "o", "c"]
+[7.868322, "o", "o"]
+[7.897808, "o", "r"]
+[7.923254, "o", "d"]
+[7.949268, "o", " "]
+[7.974709, "o", "i"]
+[8.000104, "o", "t"]
+[8.0257, "o", " "]
+[8.051436, "o", "t"]
+[8.080466, "o", "o"]
+[8.109466, "o", " "]
+[8.133128, "o", "r"]
+[8.158311, "o", "e"]
+[8.186458, "o", "c"]
+[8.211368, "o", "o"]
+[8.241339, "o", "r"]
+[8.270582, "o", "d"]
+[8.299824, "o", "i"]
+[8.325219, "o", "n"]
+[8.354291, "o", "g"]
+[8.378211, "o", "."]
+[8.403312, "o", "y"]
+[8.430362, "o", "a"]
+[8.456621, "o", "m"]
+[8.484573, "o", "l"]
+[8.616835, "o", "\r\n"]
+[8.617676, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[9.627296, "o", "k"]
+[9.649201, "o", "w"]
+[9.666466, "o", "o"]
+[9.682281, "o", "k"]
+[9.700588, "o", "c"]
+[9.717693, "o", "t"]
+[9.733438, "o", "l"]
+[9.750489, "o", " "]
+[9.767507, "o", "s"]
+[9.782998, "o", "n"]
+[9.800284, "o", "a"]
+[9.816691, "o", "p"]
+[9.833161, "o", "s"]
+[9.848344, "o", "h"]
+[9.861399, "o", "o"]
+[9.876347, "o", "t"]
+[9.891482, "o", " "]
+[9.906611, "o", "r"]
+[9.920098, "o", "e"]
+[9.93526, "o", "c"]
+[9.948785, "o", "o"]
+[9.964462, "o", "r"]
+[9.97827, "o", "d"]
+[9.993445, "o", " "]
+[10.008476, "o", "-"]
+[10.023791, "o", "-"]
+[10.039001, "o", "p"]
+[10.053377, "o", "a"]
+[10.068256, "o", "t"]
+[10.081985, "o", "h"]
+[10.097711, "o", " "]
+[10.113646, "o", "r"]
+[10.129106, "o", "e"]
+[10.143968, "o", "c"]
+[10.159101, "o", "o"]
+[10.174105, "o", "r"]
+[10.188321, "o", "d"]
+[10.204348, "o", "i"]
+[10.218521, "o", "n"]
+[10.233598, "o", "g"]
+[10.248759, "o", "."]
+[10.263831, "o", "y"]
+[10.278901, "o", "a"]
+[10.292165, "o", "m"]
+[10.307032, "o", "l"]
+[10.321975, "o", " "]
+[10.336478, "o", "&"]
+[10.858326, "o", "\r\n"]
+[10.859085, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[10.878249, "o", "Saving snapshot and recording cluster=kwok\r\n"]
+[10.92621, "o", "Recording cluster=kwok\r\nPress Ctrl+C to stop recording resources cluster=kwok\r\n"]
+[12.864674, "o", "\r\n"]
+[12.864733, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[13.37376, "o", "#"]
+[13.399973, "o", " "]
+[13.429427, "o", "R"]
+[13.459232, "o", "e"]
+[13.488724, "o", "c"]
+[13.517976, "o", "o"]
+[13.544358, "o", "r"]
+[13.573033, "o", "d"]
+[13.598926, "o", " "]
+[13.62769, "o", "s"]
+[13.656648, "o", "o"]
+[13.686061, "o", "m"]
+[13.714728, "o", "e"]
+[13.744283, "o", " "]
+[13.773538, "o", "c"]
+[13.80249, "o", "h"]
+[13.827086, "o", "a"]
+[13.853663, "o", "n"]
+[13.879518, "o", "g"]
+[13.908905, "o", "e"]
+[13.937882, "o", "."]
+[14.077878, "o", "\r\n"]
+[14.078994, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[15.091435, "o", "k"]
+[15.106427, "o", "w"]
+[15.121288, "o", "o"]
+[15.134109, "o", "k"]
+[15.147962, "o", "c"]
+[15.162844, "o", "t"]
+[15.177573, "o", "l"]
+[15.192311, "o", " "]
+[15.207252, "o", "s"]
+[15.219676, "o", "c"]
+[15.232512, "o", "a"]
+[15.245247, "o", "l"]
+[15.26006, "o", "e"]
+[15.274879, "o", " "]
+[15.287326, "o", "n"]
+[15.302128, "o", "o"]
+[15.315739, "o", "d"]
+[15.331411, "o", "e"]
+[15.344456, "o", " "]
+[15.358484, "o", "-"]
+[15.373306, "o", "-"]
+[15.388352, "o", "r"]
+[15.401385, "o", "e"]
+[15.416326, "o", "p"]
+[15.430947, "o", "l"]
+[15.445107, "o", "i"]
+[15.460021, "o", "c"]
+[15.475024, "o", "a"]
+[15.488104, "o", "s"]
+[15.50296, "o", " "]
+[15.515614, "o", "2"]
+[16.039798, "o", "\r\n"]
+[16.073126, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"]
+[16.112634, "o", "Load resources counter=2 elapsed=14ms resource=nodes replicas=2 name=node cluster=kwok\r\n"]
+[16.113907, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[17.121268, "o", "k"]
+[17.137997, "o", "u"]
+[17.15291, "o", "b"]
+[17.168194, "o", "e"]
+[17.181963, "o", "c"]
+[17.197501, "o", "t"]
+[17.212623, "o", "l"]
+[17.227599, "o", " "]
+[17.240668, "o", "c"]
+[17.256025, "o", "r"]
+[17.270493, "o", "e"]
+[17.285827, "o", "a"]
+[17.300172, "o", "t"]
+[17.315436, "o", "e"]
+[17.329683, "o", " "]
+[17.343544, "o", "d"]
+[17.357651, "o", "e"]
+[17.371226, "o", "p"]
+[17.386161, "o", "l"]
+[17.40061, "o", "o"]
+[17.415633, "o", "y"]
+[17.430407, "o", "m"]
+[17.443961, "o", "e"]
+[17.458831, "o", "n"]
+[17.474053, "o", "t"]
+[17.488994, "o", " "]
+[17.503818, "o", "a"]
+[17.5186, "o", "p"]
+[17.533175, "o", "p"]
+[17.547818, "o", " "]
+[17.562213, "o", "-"]
+[17.57683, "o", "-"]
+[17.591766, "o", "i"]
+[17.604174, "o", "m"]
+[17.619056, "o", "a"]
+[17.633203, "o", "g"]
+[17.648235, "o", "e"]
+[17.662391, "o", "="]
+[17.677483, "o", "a"]
+[17.690263, "o", "p"]
+[17.705328, "o", "p"]
+[17.720424, "o", " "]
+[17.73553, "o", "-"]
+[17.750309, "o", "-"]
+[17.765217, "o", "r"]
+[17.780044, "o", "e"]
+[17.794804, "o", "p"]
+[17.809727, "o", "l"]
+[17.824098, "o", "i"]
+[17.838794, "o", "c"]
+[17.853398, "o", "a"]
+[17.868609, "o", "s"]
+[17.883545, "o", "="]
+[17.898471, "o", "3"]
+[18.42716, "o", "\r\n"]
+[18.50596, "o", "deployment.apps/app created\r\n"]
+[18.507017, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[19.516746, "o", "k"]
+[19.534475, "o", "u"]
+[19.550197, "o", "b"]
+[19.567562, "o", "e"]
+[19.583754, "o", "c"]
+[19.600197, "o", "t"]
+[19.615951, "o", "l"]
+[19.633003, "o", " "]
+[19.650214, "o", "d"]
+[19.665969, "o", "e"]
+[19.679406, "o", "l"]
+[19.694334, "o", "e"]
+[19.709018, "o", "t"]
+[19.72372, "o", "e"]
+[19.736554, "o", " "]
+[19.75125, "o", "d"]
+[19.764144, "o", "e"]
+[19.777986, "o", "p"]
+[19.791762, "o", "l"]
+[19.80614, "o", "o"]
+[19.820744, "o", "y"]
+[19.835393, "o", "m"]
+[19.849239, "o", "e"]
+[19.863802, "o", "n"]
+[19.878475, "o", "t"]
+[19.893353, "o", " "]
+[19.907392, "o", "a"]
+[19.922665, "o", "p"]
+[19.938279, "o", "p"]
+[20.455093, "o", "\r\n"]
+[20.521087, "o", "deployment.apps \"app\" deleted\r\n"]
+[20.532814, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[21.541123, "o", "k"]
+[21.558808, "o", "w"]
+[21.576822, "o", "o"]
+[21.594982, "o", "k"]
+[21.611026, "o", "c"]
+[21.627098, "o", "t"]
+[21.643472, "o", "l"]
+[21.659907, "o", " "]
+[21.676687, "o", "s"]
+[21.692021, "o", "c"]
+[21.708383, "o", "a"]
+[21.725002, "o", "l"]
+[21.741088, "o", "e"]
+[21.75742, "o", " "]
+[21.773031, "o", "n"]
+[21.789498, "o", "o"]
+[21.804371, "o", "d"]
+[21.818433, "o", "e"]
+[21.834886, "o", " "]
+[21.851122, "o", "-"]
+[21.867291, "o", "-"]
+[21.882575, "o", "r"]
+[21.897879, "o", "e"]
+[21.910947, "o", "p"]
+[21.924901, "o", "l"]
+[21.9379, "o", "i"]
+[21.951541, "o", "c"]
+[21.967796, "o", "a"]
+[21.982046, "o", "s"]
+[21.995823, "o", " "]
+[22.011399, "o", "0"]
+[22.533372, "o", "\r\n"]
+[22.571616, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"]
+[22.616268, "o", "Deleted resources counter=2 elapsed=19ms resource=nodes replicas=0 name=node cluster=kwok\r\n"]
+[22.617537, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[24.627293, "o", "\r\n"]
+[24.629314, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[25.146884, "o", "#"]
+[25.187288, "o", " "]
+[25.215544, "o", "F"]
+[25.245972, "o", "i"]
+[25.271085, "o", "n"]
+[25.300911, "o", "i"]
+[25.328586, "o", "s"]
+[25.358076, "o", "h"]
+[25.386167, "o", " "]
+[25.413198, "o", "t"]
+[25.43897, "o", "h"]
+[25.468941, "o", "e"]
+[25.494434, "o", " "]
+[25.524079, "o", "r"]
+[25.549557, "o", "e"]
+[25.578896, "o", "c"]
+[25.604877, "o", "o"]
+[25.630633, "o", "r"]
+[25.660216, "o", "d"]
+[25.689784, "o", "."]
+[25.821093, "o", "\r\n"]
+[25.821226, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[26.830563, "o", "p"]
+[26.85031, "o", "k"]
+[26.867867, "o", "i"]
+[26.882491, "o", "l"]
+[26.89907, "o", "l"]
+[26.915394, "o", " "]
+[26.932182, "o", "k"]
+[26.948804, "o", "w"]
+[26.965093, "o", "o"]
+[26.981106, "o", "k"]
+[26.995772, "o", "c"]
+[27.011769, "o", "t"]
+[27.027242, "o", "l"]
+[27.547505, "o", "\r\n"]
+[27.582951, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[29.592648, "o", "\r\n"]
+[29.593928, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[30.107228, "o", "#"]
+[30.137953, "o", " "]
+[30.167006, "o", "R"]
+[30.192945, "o", "e"]
+[30.227154, "o", "c"]
+[30.257464, "o", "r"]
+[30.284787, "o", "e"]
+[30.316602, "o", "a"]
+[30.343365, "o", "t"]
+[30.372772, "o", "e"]
+[30.402474, "o", " "]
+[30.432008, "o", "c"]
+[30.459576, "o", "l"]
+[30.489142, "o", "u"]
+[30.51878, "o", "s"]
+[30.544768, "o", "t"]
+[30.571909, "o", "e"]
+[30.597957, "o", "r"]
+[30.623687, "o", "."]
+[30.759253, "o", "\r\n"]
+[30.760433, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[31.775136, "o", "k"]
+[31.792945, "o", "w"]
+[31.810381, "o", "o"]
+[31.826969, "o", "k"]
+[31.843664, "o", "c"]
+[31.860707, "o", "t"]
+[31.877282, "o", "l"]
+[31.892665, "o", " "]
+[31.90852, "o", "d"]
+[31.922405, "o", "e"]
+[31.939169, "o", "l"]
+[31.954565, "o", "e"]
+[31.969997, "o", "t"]
+[31.985217, "o", "e"]
+[31.998211, "o", " "]
+[32.012635, "o", "c"]
+[32.026127, "o", "l"]
+[32.040354, "o", "u"]
+[32.055579, "o", "s"]
+[32.070725, "o", "t"]
+[32.083857, "o", "e"]
+[32.098751, "o", "r"]
+[32.114253, "o", " "]
+[32.129245, "o", ">"]
+[32.144315, "o", " "]
+[32.160234, "o", "/"]
+[32.177204, "o", "d"]
+[32.192756, "o", "e"]
+[32.20812, "o", "v"]
+[32.223287, "o", "/"]
+[32.23829, "o", "n"]
+[32.253369, "o", "u"]
+[32.267159, "o", "l"]
+[32.283246, "o", "l"]
+[32.299218, "o", " "]
+[32.313834, "o", "2"]
+[32.329689, "o", ">"]
+[32.345851, "o", "&"]
+[32.362392, "o", "1"]
+[32.378985, "o", " "]
+[32.39537, "o", "&"]
+[32.411757, "o", "&"]
+[32.427783, "o", " "]
+[32.443025, "o", "k"]
+[32.459359, "o", "w"]
+[32.475304, "o", "o"]
+[32.491566, "o", "k"]
+[32.50799, "o", "c"]
+[32.52384, "o", "t"]
+[32.539903, "o", "l"]
+[32.556079, "o", " "]
+[32.570785, "o", "c"]
+[32.585452, "o", "r"]
+[32.599817, "o", "e"]
+[32.615867, "o", "a"]
+[32.631927, "o", "t"]
+[32.646757, "o", "e"]
+[32.664984, "o", " "]
+[32.68482, "o", "c"]
+[32.701772, "o", "l"]
+[32.716682, "o", "u"]
+[32.731416, "o", "s"]
+[32.746609, "o", "t"]
+[32.76151, "o", "e"]
+[32.776474, "o", "r"]
+[32.79136, "o", " "]
+[32.806397, "o", ">"]
+[32.821577, "o", " "]
+[32.836642, "o", "/"]
+[32.849763, "o", "d"]
+[32.865257, "o", "e"]
+[32.880758, "o", "v"]
+[32.894889, "o", "/"]
+[32.910773, "o", "n"]
+[32.926833, "o", "u"]
+[32.941944, "o", "l"]
+[32.956964, "o", "l"]
+[32.969937, "o", " "]
+[32.985235, "o", "2"]
+[32.998232, "o", ">"]
+[33.013983, "o", "&"]
+[33.029799, "o", "1"]
+[33.556711, "o", "\r\n"]
+[35.838524, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[37.847451, "o", "\r\n"]
+[37.848837, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[38.359094, "o", "#"]
+[38.388749, "o", " "]
+[38.418902, "o", "L"]
+[38.448029, "o", "e"]
+[38.473391, "o", "t"]
+[38.501727, "o", "'"]
+[38.528949, "o", "s"]
+[38.559113, "o", " "]
+[38.58883, "o", "h"]
+[38.61475, "o", "a"]
+[38.639211, "o", "v"]
+[38.668353, "o", "e"]
+[38.698361, "o", " "]
+[38.726918, "o", "a"]
+[38.75257, "o", " "]
+[38.778616, "o", "l"]
+[38.806273, "o", "o"]
+[38.836149, "o", "o"]
+[38.865773, "o", "k"]
+[38.895252, "o", " "]
+[38.924465, "o", "a"]
+[38.9534, "o", "t"]
+[38.97839, "o", " "]
+[39.007221, "o", "t"]
+[39.037113, "o", "h"]
+[39.067329, "o", "e"]
+[39.096698, "o", " "]
+[39.124569, "o", "r"]
+[39.152152, "o", "e"]
+[39.175818, "o", "s"]
+[39.204536, "o", "o"]
+[39.229194, "o", "u"]
+[39.258269, "o", "r"]
+[39.287438, "o", "c"]
+[39.317567, "o", "e"]
+[39.34801, "o", " "]
+[39.375807, "o", "c"]
+[39.400843, "o", "h"]
+[39.426187, "o", "a"]
+[39.45257, "o", "n"]
+[39.482916, "o", "g"]
+[39.51187, "o", "e"]
+[39.541733, "o", "."]
+[39.672755, "o", "\r\n"]
+[39.673125, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[40.685318, "o", "k"]
+[40.704401, "o", "u"]
+[40.721042, "o", "b"]
+[40.73663, "o", "e"]
+[40.752588, "o", "c"]
+[40.767585, "o", "t"]
+[40.783279, "o", "l"]
+[40.798983, "o", " "]
+[40.814558, "o", "g"]
+[40.830317, "o", "e"]
+[40.846457, "o", "t"]
+[40.862705, "o", " "]
+[40.879195, "o", "n"]
+[40.895397, "o", "o"]
+[40.910925, "o", "d"]
+[40.925861, "o", "e"]
+[40.939775, "o", " "]
+[40.955653, "o", "-"]
+[40.971647, "o", "-"]
+[40.986242, "o", "w"]
+[41.002112, "o", "a"]
+[41.018143, "o", "t"]
+[41.035156, "o", "c"]
+[41.051692, "o", "h"]
+[41.06817, "o", " "]
+[41.084711, "o", "&"]
+[41.607749, "o", "\r\n"]
+[41.612484, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[42.626443, "o", "k"]
+[42.646118, "o", "u"]
+[42.663658, "o", "b"]
+[42.679596, "o", "e"]
+[42.697474, "o", "c"]
+[42.714197, "o", "t"]
+[42.730975, "o", "l"]
+[42.748234, "o", " "]
+[42.763223, "o", "g"]
+[42.779002, "o", "e"]
+[42.795244, "o", "t"]
+[42.808121, "o", " "]
+[42.823274, "o", "d"]
+[42.838319, "o", "e"]
+[42.853627, "o", "p"]
+[42.86883, "o", "l"]
+[42.883569, "o", "o"]
+[42.89869, "o", "y"]
+[42.91442, "o", "m"]
+[42.930271, "o", "e"]
+[42.94468, "o", "n"]
+[42.96042, "o", "t"]
+[42.976253, "o", " "]
+[42.990953, "o", "-"]
+[43.007253, "o", "-"]
+[43.021712, "o", "w"]
+[43.037338, "o", "a"]
+[43.053122, "o", "t"]
+[43.068705, "o", "c"]
+[43.082358, "o", "h"]
+[43.098644, "o", " "]
+[43.114665, "o", "&"]
+[43.636179, "o", "\r\n"]
+[43.641194, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[44.653879, "o", "k"]
+[44.671505, "o", "u"]
+[44.689419, "o", "b"]
+[44.706141, "o", "e"]
+[44.722618, "o", "c"]
+[44.738955, "o", "t"]
+[44.755257, "o", "l"]
+[44.772055, "o", " "]
+[44.788382, "o", "g"]
+[44.802669, "o", "e"]
+[44.817363, "o", "t"]
+[44.832964, "o", " "]
+[44.84688, "o", "p"]
+[44.863327, "o", "o"]
+[44.878501, "o", "d"]
+[44.892061, "o", " "]
+[44.90726, "o", "-"]
+[44.921711, "o", "-"]
+[44.936727, "o", "w"]
+[44.952541, "o", "a"]
+[44.96626, "o", "t"]
+[44.980824, "o", "c"]
+[44.994417, "o", "h"]
+[45.010181, "o", " "]
+[45.026396, "o", "&"]
+[45.55377, "o", "\r\n"]
+[45.555973, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[47.567503, "o", "\r\n"]
+[47.568524, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[48.083725, "o", "#"]
+[48.115495, "o", " "]
+[48.142733, "o", "R"]
+[48.172172, "o", "e"]
+[48.204999, "o", "p"]
+[48.237252, "o", "l"]
+[48.270638, "o", "a"]
+[48.30171, "o", "y"]
+[48.332013, "o", " "]
+[48.361547, "o", "i"]
+[48.392023, "o", "t"]
+[48.422087, "o", " "]
+[48.448548, "o", "f"]
+[48.474137, "o", "r"]
+[48.503015, "o", "o"]
+[48.532408, "o", "m"]
+[48.561696, "o", " "]
+[48.591083, "o", "c"]
+[48.616075, "o", "l"]
+[48.640935, "o", "u"]
+[48.669922, "o", "s"]
+[48.699672, "o", "t"]
+[48.728517, "o", "e"]
+[48.75353, "o", "r"]
+[48.779761, "o", "."]
+[48.80604, "o", "y"]
+[48.835471, "o", "a"]
+[48.861861, "o", "m"]
+[48.886799, "o", "l"]
+[49.021718, "o", "\r\n"]
+[49.022655, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[50.036631, "o", "k"]
+[50.056046, "o", "w"]
+[50.07379, "o", "o"]
+[50.089929, "o", "k"]
+[50.106455, "o", "c"]
+[50.121151, "o", "t"]
+[50.137553, "o", "l"]
+[50.154422, "o", " "]
+[50.171031, "o", "s"]
+[50.186873, "o", "n"]
+[50.203532, "o", "a"]
+[50.217628, "o", "p"]
+[50.231529, "o", "s"]
+[50.247579, "o", "h"]
+[50.263661, "o", "o"]
+[50.279631, "o", "t"]
+[50.295576, "o", " "]
+[50.311472, "o", "r"]
+[50.32622, "o", "e"]
+[50.340095, "o", "p"]
+[50.355108, "o", "l"]
+[50.370036, "o", "a"]
+[50.385279, "o", "y"]
+[50.400064, "o", " "]
+[50.41548, "o", "-"]
+[50.428627, "o", "-"]
+[50.442135, "o", "p"]
+[50.457491, "o", "a"]
+[50.472068, "o", "t"]
+[50.485858, "o", "h"]
+[50.501402, "o", " "]
+[50.515682, "o", "r"]
+[50.529618, "o", "e"]
+[50.54489, "o", "c"]
+[50.560661, "o", "o"]
+[50.574987, "o", "r"]
+[50.590877, "o", "d"]
+[50.607156, "o", "i"]
+[50.623319, "o", "n"]
+[50.639884, "o", "g"]
+[50.655726, "o", "."]
+[50.67195, "o", "y"]
+[50.688902, "o", "a"]
+[50.704837, "o", "m"]
+[50.720672, "o", "l"]
+[51.242502, "o", "\r\n"]
+[51.815958, "o", "Restoring snapshot and replaying cluster=kwok\r\n"]
+[51.972408, "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"]
+[51.972525, "o", "\u001b[0;31mERROR\u001b[0m Failed to get key err=\"error not in terminal\" cluster=kwok\r\n"]
+[57.091819, "o", "NAME STATUS ROLES AGE VERSION\r\nnode-000000 Unknown agent 1s \r\n"]
+[57.122919, "o", "node-000001 Unknown agent 1s \r\n"]
+[57.184842, "o", "node-000000 Unknown agent 1s \r\n"]
+[57.187708, "o", "node-000001 Unknown agent 1s \r\n"]
+[57.188822, "o", "node-000000 Ready agent 1s kwok-v0.5.2\r\n"]
+[57.190629, "o", "node-000001 Ready agent 1s kwok-v0.5.2\r\n"]
+[59.506593, "o", "NAME READY UP-TO-DATE AVAILABLE AGE\r\napp 0/3 0 0 1s\r\n"]
+[59.571386, "o", "app 0/3 0 0 1s\r\n"]
+[59.574577, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-8dsgm 0/1 Pending 0 "]
+[59.574601, "o", "1s\r\n"]
+[59.588672, "o", "app-67f9df97bd-d5v7p 0/1 Pending 0 1s\r\n"]
+[59.589771, "o", "app-67f9df97bd-6cdtz 0/1 Pending 0 1s\r\n"]
+[59.627875, "o", "app-67f9df97bd-8dsgm 0/1 Pending 0 1s\r\n"]
+[59.628777, "o", "app 0/3 0 0 1s\r\n"]
+[59.646496, "o", "app-67f9df97bd-d5v7p 0/1 Pending 0 1s\r\n"]
+[59.647506, "o", "app-67f9df97bd-6cdtz 0/1 Pending 0 1s\r\n"]
+[59.652188, "o", "app-67f9df97bd-d5v7p 1/1 Running 0 1s\r\n"]
+[59.653613, "o", "app-67f9df97bd-8dsgm 1/1 Running 0 1s\r\n"]
+[59.654548, "o", "app-67f9df97bd-6cdtz 1/1 Running 0 1s\r\n"]
+[59.65552, "o", "app 0/3 3 0 1s\r\n"]
+[59.658229, "o", "app 1/3 3 1 1s\r\n"]
+[59.659327, "o", "app 3/3 3 3 1s"]
+[59.659372, "o", "\r\n"]
+[61.519793, "o", "app 3/3 3 3 3s\r\n"]
+[61.536878, "o", "app-67f9df97bd-6cdtz 1/1 Terminating 0 3s\r\n"]
+[61.538649, "o", "app-67f9df97bd-d5v7p 1/1 Terminating 0 3s\r\n"]
+[61.542042, "o", "app-67f9df97bd-8dsgm 1/1 Terminating 0 3s\r\n"]
+[61.544239, "o", "app-67f9df97bd-6cdtz 1/1 Terminating 0 3s\r\n"]
+[61.54765, "o", "app-67f9df97bd-d5v7p 1/1 Terminating 0 3s\r\n"]
+[61.549412, "o", "app-67f9df97bd-8dsgm 1/1 Terminating 0 3s\r\n"]
+[61.551116, "o", "app-67f9df97bd-6cdtz 1/1 Terminating 0 3s\r\n"]
+[61.552843, "o", "app-67f9df97bd-d5v7p 1/1 Terminating 0 3s\r\n"]
+[61.553884, "o", "app-67f9df97bd-8dsgm 1/1 Terminating 0 3s\r\n"]
+[63.615781, "o", "node-000000 Ready agent 8s kwok-v0.5.2\r\n"]
+[63.623477, "o", "node-000001 Ready agent 8s kwok-v0.5.2\r\n"]
+[67.579557, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[69.590776, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[70.104261, "o", "#"]
+[70.134265, "o", " "]
+[70.160011, "o", "D"]
+[70.185803, "o", "e"]
+[70.211289, "o", "l"]
+[70.24037, "o", "e"]
+[70.266579, "o", "t"]
+[70.295842, "o", "e"]
+[70.322092, "o", " "]
+[70.351381, "o", "t"]
+[70.380476, "o", "h"]
+[70.409733, "o", "e"]
+[70.439326, "o", " "]
+[70.468738, "o", "c"]
+[70.49382, "o", "l"]
+[70.52339, "o", "u"]
+[70.553373, "o", "s"]
+[70.583147, "o", "t"]
+[70.608317, "o", "e"]
+[70.633733, "o", "r"]
+[70.663016, "o", "."]
+[70.807795, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[71.819158, "o", "k"]
+[71.837872, "o", "w"]
+[71.853381, "o", "o"]
+[71.869878, "o", "k"]
+[71.886121, "o", "c"]
+[71.902689, "o", "t"]
+[71.919201, "o", "l"]
+[71.935789, "o", " "]
+[71.952498, "o", "d"]
+[71.969003, "o", "e"]
+[71.984949, "o", "l"]
+[72.001775, "o", "e"]
+[72.018054, "o", "t"]
+[72.035067, "o", "e"]
+[72.052082, "o", " "]
+[72.068913, "o", "c"]
+[72.084145, "o", "l"]
+[72.098642, "o", "u"]
+[72.113655, "o", "s"]
+[72.128656, "o", "t"]
+[72.147887, "o", "e"]
+[72.179268, "o", "r"]
+[72.701803, "o", "\r\n"]
+[72.736677, "o", "Cluster is stopping cluster=kwok\r\n"]
+[73.110512, "o", "Cluster is stopped elapsed=0.3s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"]
+[73.531785, "o", "Cluster is deleted elapsed=0.4s cluster=kwok\r\n"]
+[73.532617, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[75.541305, "o", "\r\n"]
+[75.541745, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[76.053675, "o", "#"]
+[76.081412, "o", " "]
+[76.109831, "o", "T"]
+[76.13671, "o", "h"]
+[76.160317, "o", "a"]
+[76.185313, "o", "t"]
+[76.209809, "o", "'"]
+[76.241437, "o", "s"]
+[76.268683, "o", " "]
+[76.297419, "o", "a"]
+[76.329232, "o", "l"]
+[76.37641, "o", "l"]
+[76.402847, "o", ","]
+[76.429075, "o", " "]
+[76.459537, "o", "e"]
+[76.489269, "o", "n"]
+[76.516587, "o", "j"]
+[76.546843, "o", "o"]
+[76.576586, "o", "y"]
+[76.604658, "o", " "]
+[76.634459, "o", "i"]
+[76.661905, "o", "t"]
+[76.689825, "o", "!"]
+[76.826048, "o", "\r\n"]
+[76.826958, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[77.840459, "o", "c"]
+[77.860545, "o", "l"]
+[77.877586, "o", "e"]
+[77.894657, "o", "a"]
+[77.911521, "o", "r"]
+[78.443225, "o", "\r\n"]
+[78.448094, "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..e2b269c71
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-recording.demo
@@ -0,0 +1,34 @@
+# Let's get started with kwokctl!
+kwokctl create cluster
+
+# Use context
+kubectl cluster-info --context kwok-kwok
+
+# 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..bf04f7fd4
--- /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'sgetting~/sigs.k8s.io/kwok$#Let'sgettingstarted~/sigs.k8s.io/kwok$#Let'sgettingstartedwith~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokctl!~/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.6scluster=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=14msresource=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=19msresource=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-8dsgm0/1Pending01sapp-67f9df97bd-d5v7p0/1Pending01sapp-67f9df97bd-6cdtz0/1Pending01sapp-67f9df97bd-d5v7p1/1Running01sapp-67f9df97bd-8dsgm1/1Running01sapp-67f9df97bd-6cdtz1/1Running01sapp0/3301sapp1/3311sapp3/3331sapp3/3333sapp-67f9df97bd-6cdtz1/1Terminating03sapp-67f9df97bd-d5v7p1/1Terminating03sapp-67f9df97bd-8dsgm1/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'sget~/sigs.k8s.io/kwok$#Let'sgett~/sigs.k8s.io/kwok$#Let'sgetti~/sigs.k8s.io/kwok$#Let'sgettin~/sigs.k8s.io/kwok$#Let'sgettings~/sigs.k8s.io/kwok$#Let'sgettingst~/sigs.k8s.io/kwok$#Let'sgettingsta~/sigs.k8s.io/kwok$#Let'sgettingstar~/sigs.k8s.io/kwok$#Let'sgettingstart~/sigs.k8s.io/kwok$#Let'sgettingstarte~/sigs.k8s.io/kwok$#Let'sgettingstartedw~/sigs.k8s.io/kwok$#Let'sgettingstartedwi~/sigs.k8s.io/kwok$#Let'sgettingstartedwit~/sigs.k8s.io/kwok$#Let'sgettingstartedwithk~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkw~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwo~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwok~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokc~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokct~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokctl~/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.yamapp-67f9df97bd-8dsgm0/1Pending0~/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..04ac3b7a8
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.cast
@@ -0,0 +1,700 @@
+{"version": 2, "width": 86, "height": 24, "timestamp": 1716349602, "env": {}}
+[0.009714, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[0.518226, "o", "#"]
+[0.546299, "o", " "]
+[0.579011, "o", "L"]
+[0.613515, "o", "e"]
+[0.64326, "o", "t"]
+[0.671353, "o", "'"]
+[0.698388, "o", "s"]
+[0.725414, "o", " "]
+[0.75351, "o", "g"]
+[0.783002, "o", "e"]
+[0.811794, "o", "t"]
+[0.841773, "o", "t"]
+[0.87023, "o", "i"]
+[0.90015, "o", "n"]
+[0.929228, "o", "g"]
+[0.955616, "o", " "]
+[0.985111, "o", "s"]
+[1.01063, "o", "t"]
+[1.038225, "o", "a"]
+[1.062113, "o", "r"]
+[1.087416, "o", "t"]
+[1.11573, "o", "e"]
+[1.139692, "o", "d"]
+[1.168982, "o", " "]
+[1.194085, "o", "w"]
+[1.224282, "o", "i"]
+[1.251894, "o", "t"]
+[1.279529, "o", "h"]
+[1.314429, "o", " "]
+[1.342249, "o", "k"]
+[1.368842, "o", "w"]
+[1.400011, "o", "o"]
+[1.430761, "o", "k"]
+[1.457258, "o", "c"]
+[1.48251, "o", "t"]
+[1.509079, "o", "l"]
+[1.539574, "o", "!"]
+[1.681111, "o", "\r\n"]
+[1.681873, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[2.693557, "o", "k"]
+[2.711576, "o", "w"]
+[2.728436, "o", "o"]
+[2.745204, "o", "k"]
+[2.759929, "o", "c"]
+[2.776668, "o", "t"]
+[2.791001, "o", "l"]
+[2.807494, "o", " "]
+[2.823471, "o", "c"]
+[2.839139, "o", "r"]
+[2.85521, "o", "e"]
+[2.871315, "o", "a"]
+[2.887371, "o", "t"]
+[2.903728, "o", "e"]
+[2.92029, "o", " "]
+[2.9368, "o", "c"]
+[2.953375, "o", "l"]
+[2.970281, "o", "u"]
+[2.984421, "o", "s"]
+[3.000939, "o", "t"]
+[3.017368, "o", "e"]
+[3.033658, "o", "r"]
+[3.555423, "o", "\r\n"]
+[3.588958, "o", "Cluster is creating cluster=kwok\r\n"]
+[4.459084, "o", "Cluster is created elapsed=0.8s cluster=kwok\r\nCluster is starting cluster=kwok\r\n"]
+[5.146782, "o", "Cluster is started elapsed=0.6s 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.147643, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.157, "o", "\r\n"]
+[7.158047, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[7.67291, "o", "#"]
+[7.702122, "o", " "]
+[7.732357, "o", "C"]
+[7.762453, "o", "r"]
+[7.789118, "o", "e"]
+[7.814731, "o", "a"]
+[7.844272, "o", "t"]
+[7.873941, "o", "e"]
+[7.903147, "o", " "]
+[7.932031, "o", "a"]
+[7.958963, "o", "n"]
+[7.987158, "o", " "]
+[8.016738, "o", "n"]
+[8.042003, "o", "o"]
+[8.06688, "o", "d"]
+[8.092004, "o", "e"]
+[8.117015, "o", "s"]
+[8.146274, "o", "."]
+[8.282812, "o", "\r\n"]
+[8.283103, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[9.292688, "o", "k"]
+[9.307945, "o", "w"]
+[9.322311, "o", "o"]
+[9.339388, "o", "k"]
+[9.357815, "o", "c"]
+[9.374463, "o", "t"]
+[9.390515, "o", "l"]
+[9.406182, "o", " "]
+[9.423217, "o", "s"]
+[9.438798, "o", "c"]
+[9.456381, "o", "a"]
+[9.472113, "o", "l"]
+[9.489183, "o", "e"]
+[9.504323, "o", " "]
+[9.521065, "o", "n"]
+[9.538222, "o", "o"]
+[9.554858, "o", "d"]
+[9.57169, "o", "e"]
+[9.587143, "o", " "]
+[9.603076, "o", "-"]
+[9.617967, "o", "-"]
+[9.634341, "o", "r"]
+[9.649241, "o", "e"]
+[9.66563, "o", "p"]
+[9.681675, "o", "l"]
+[9.696327, "o", "i"]
+[9.712054, "o", "c"]
+[9.72693, "o", "a"]
+[9.741809, "o", "s"]
+[9.754359, "o", " "]
+[9.767516, "o", "2"]
+[10.290666, "o", "\r\n"]
+[10.324302, "o", "No resource found, use default resource resource=node cluster=kwok\r\n"]
+[10.369098, "o", "Load resources counter=2 elapsed=22ms resource=nodes replicas=2 name=node cluster=kwok\r\n"]
+[10.370272, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[12.383749, "o", "\r\n"]
+[12.383922, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[12.898971, "o", "#"]
+[12.930452, "o", " "]
+[12.960537, "o", "A"]
+[12.986087, "o", "p"]
+[13.015438, "o", "p"]
+[13.041412, "o", "l"]
+[13.067027, "o", "y"]
+[13.091848, "o", " "]
+[13.118472, "o", "a"]
+[13.142055, "o", " "]
+[13.166234, "o", "d"]
+[13.194384, "o", "e"]
+[13.220744, "o", "p"]
+[13.249417, "o", "l"]
+[13.279114, "o", "o"]
+[13.305373, "o", "y"]
+[13.334634, "o", "m"]
+[13.358995, "o", "e"]
+[13.38816, "o", "n"]
+[13.412791, "o", "t"]
+[13.438138, "o", "."]
+[13.571885, "o", "\r\n"]
+[13.572818, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[14.585758, "o", "k"]
+[14.605122, "o", "u"]
+[14.622588, "o", "b"]
+[14.63951, "o", "e"]
+[14.656217, "o", "c"]
+[14.672861, "o", "t"]
+[14.689137, "o", "l"]
+[14.705626, "o", " "]
+[14.721849, "o", "c"]
+[14.737159, "o", "r"]
+[14.751472, "o", "e"]
+[14.766751, "o", "a"]
+[14.780639, "o", "t"]
+[14.796167, "o", "e"]
+[14.811703, "o", " "]
+[14.827011, "o", "d"]
+[14.841943, "o", "e"]
+[14.858133, "o", "p"]
+[14.873882, "o", "l"]
+[14.889667, "o", "o"]
+[14.905797, "o", "y"]
+[14.921896, "o", "m"]
+[14.938376, "o", "e"]
+[14.952542, "o", "n"]
+[14.968477, "o", "t"]
+[14.984482, "o", " "]
+[14.997947, "o", "a"]
+[15.012002, "o", "p"]
+[15.027523, "o", "p"]
+[15.043857, "o", " "]
+[15.058287, "o", "-"]
+[15.072752, "o", "-"]
+[15.088558, "o", "i"]
+[15.103146, "o", "m"]
+[15.116215, "o", "a"]
+[15.131223, "o", "g"]
+[15.1439, "o", "e"]
+[15.159088, "o", "="]
+[15.17194, "o", "a"]
+[15.187088, "o", "p"]
+[15.201207, "o", "p"]
+[15.216309, "o", " "]
+[15.231409, "o", "-"]
+[15.244775, "o", "-"]
+[15.26026, "o", "r"]
+[15.275609, "o", "e"]
+[15.291723, "o", "p"]
+[15.305713, "o", "l"]
+[15.321564, "o", "i"]
+[15.337777, "o", "c"]
+[15.354156, "o", "a"]
+[15.371575, "o", "s"]
+[15.386884, "o", "="]
+[15.400544, "o", "3"]
+[15.925598, "o", "\r\n"]
+[16.003494, "o", "deployment.apps/app created\r\n"]
+[16.004438, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[18.014825, "o", "\r\n"]
+[18.016152, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[18.528387, "o", "#"]
+[18.566261, "o", " "]
+[18.595471, "o", "L"]
+[18.621033, "o", "e"]
+[18.650319, "o", "t"]
+[18.680239, "o", "'"]
+[18.709815, "o", "s"]
+[18.737869, "o", " "]
+[18.767488, "o", "h"]
+[18.797255, "o", "a"]
+[18.827028, "o", "v"]
+[18.854445, "o", "e"]
+[18.879193, "o", " "]
+[18.904359, "o", "a"]
+[18.929451, "o", " "]
+[18.954465, "o", "l"]
+[18.979277, "o", "o"]
+[19.005667, "o", "o"]
+[19.031372, "o", "k"]
+[19.056926, "o", " "]
+[19.086209, "o", "a"]
+[19.114946, "o", "t"]
+[19.144267, "o", " "]
+[19.173746, "o", "t"]
+[19.203632, "o", "h"]
+[19.229193, "o", "e"]
+[19.258885, "o", " "]
+[19.284172, "o", "p"]
+[19.313751, "o", "o"]
+[19.339238, "o", "d"]
+[19.366968, "o", " "]
+[19.39262, "o", "n"]
+[19.420393, "o", "a"]
+[19.450045, "o", "m"]
+[19.475583, "o", "e"]
+[19.504222, "o", "."]
+[19.643593, "o", "\r\n"]
+[19.644504, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[20.657776, "o", "k"]
+[20.676109, "o", "u"]
+[20.692533, "o", "b"]
+[20.709497, "o", "e"]
+[20.724009, "o", "c"]
+[20.740245, "o", "t"]
+[20.756489, "o", "l"]
+[20.773094, "o", " "]
+[20.78905, "o", "g"]
+[20.805297, "o", "e"]
+[20.820917, "o", "t"]
+[20.835982, "o", " "]
+[20.852008, "o", "p"]
+[20.868016, "o", "o"]
+[20.883447, "o", "d"]
+[21.403082, "o", "\r\n"]
+[21.474402, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-4wp4g 1/1 Running 0 5s\r\napp-67f9df97bd-88dfh 1/1 Running 0 5s\r\napp-67f9df97bd-jjvfk 1/1 Running 0 "]
+[21.474446, "o", "5s\r\n"]
+[21.475384, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[23.484276, "o", "\r\n"]
+[23.484429, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[23.999135, "o", "#"]
+[24.030305, "o", " "]
+[24.059151, "o", "S"]
+[24.088897, "o", "a"]
+[24.118853, "o", "v"]
+[24.151232, "o", "e"]
+[24.181627, "o", " "]
+[24.209383, "o", "i"]
+[24.234657, "o", "t"]
+[24.262781, "o", " "]
+[24.288946, "o", "t"]
+[24.313761, "o", "o"]
+[24.342156, "o", " "]
+[24.376007, "o", "c"]
+[24.403569, "o", "l"]
+[24.430843, "o", "u"]
+[24.458959, "o", "s"]
+[24.489546, "o", "t"]
+[24.519724, "o", "e"]
+[24.546116, "o", "r"]
+[24.576028, "o", "."]
+[24.605617, "o", "y"]
+[24.635453, "o", "a"]
+[24.661845, "o", "m"]
+[24.689652, "o", "l"]
+[24.8309, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[25.843561, "o", "k"]
+[25.863154, "o", "w"]
+[25.880114, "o", "o"]
+[25.894647, "o", "k"]
+[25.91173, "o", "c"]
+[25.92686, "o", "t"]
+[25.941969, "o", "l"]
+[25.959231, "o", " "]
+[25.975976, "o", "s"]
+[25.993154, "o", "n"]
+[26.010199, "o", "a"]
+[26.025167, "o", "p"]
+[26.041486, "o", "s"]
+[26.057504, "o", "h"]
+[26.071835, "o", "o"]
+[26.088087, "o", "t"]
+[26.101996, "o", " "]
+[26.117639, "o", "r"]
+[26.135114, "o", "e"]
+[26.150464, "o", "c"]
+[26.164673, "o", "o"]
+[26.180192, "o", "r"]
+[26.196195, "o", "d"]
+[26.211873, "o", " "]
+[26.228233, "o", "-"]
+[26.243823, "o", "-"]
+[26.26018, "o", "s"]
+[26.275667, "o", "n"]
+[26.290306, "o", "a"]
+[26.306023, "o", "p"]
+[26.321788, "o", "s"]
+[26.336539, "o", "h"]
+[26.352725, "o", "o"]
+[26.368317, "o", "t"]
+[26.385577, "o", " "]
+[26.402336, "o", "-"]
+[26.41754, "o", "-"]
+[26.432441, "o", "p"]
+[26.448719, "o", "a"]
+[26.464729, "o", "t"]
+[26.478616, "o", "h"]
+[26.495327, "o", " "]
+[26.511564, "o", "c"]
+[26.527148, "o", "l"]
+[26.543526, "o", "u"]
+[26.559634, "o", "s"]
+[26.574031, "o", "t"]
+[26.586857, "o", "e"]
+[26.600765, "o", "r"]
+[26.616349, "o", "."]
+[26.631901, "o", "y"]
+[26.647972, "o", "a"]
+[26.662183, "o", "m"]
+[26.678301, "o", "l"]
+[27.199941, "o", "\r\n"]
+[27.23517, "o", "Saving snapshot cluster=kwok\r\n"]
+[27.29905, "o", "Saved snapshot cluster=kwok\r\n"]
+[27.300007, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[29.304697, "o", "\r\n"]
+[29.305559, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[29.819009, "o", "#"]
+[29.848084, "o", " "]
+[29.878607, "o", "R"]
+[29.908881, "o", "e"]
+[29.939632, "o", "c"]
+[29.966873, "o", "r"]
+[29.992137, "o", "e"]
+[30.021658, "o", "a"]
+[30.050672, "o", "t"]
+[30.078492, "o", "e"]
+[30.108747, "o", " "]
+[30.137044, "o", "c"]
+[30.163564, "o", "l"]
+[30.189352, "o", "u"]
+[30.215092, "o", "s"]
+[30.244596, "o", "t"]
+[30.274665, "o", "e"]
+[30.301225, "o", "r"]
+[30.32728, "o", "."]
+[30.461645, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[31.472777, "o", "k"]
+[31.492336, "o", "w"]
+[31.508511, "o", "o"]
+[31.526276, "o", "k"]
+[31.54333, "o", "c"]
+[31.560508, "o", "t"]
+[31.577147, "o", "l"]
+[31.5918, "o", " "]
+[31.608563, "o", "d"]
+[31.624916, "o", "e"]
+[31.638264, "o", "l"]
+[31.654051, "o", "e"]
+[31.670249, "o", "t"]
+[31.686367, "o", "e"]
+[31.70272, "o", " "]
+[31.718802, "o", "c"]
+[31.734846, "o", "l"]
+[31.751708, "o", "u"]
+[31.768064, "o", "s"]
+[31.784089, "o", "t"]
+[31.800538, "o", "e"]
+[31.816543, "o", "r"]
+[31.832552, "o", " "]
+[31.848638, "o", ">"]
+[31.864678, "o", " "]
+[31.881269, "o", "/"]
+[31.895949, "o", "d"]
+[31.912238, "o", "e"]
+[31.928532, "o", "v"]
+[31.945113, "o", "/"]
+[31.96162, "o", "n"]
+[31.978224, "o", "u"]
+[31.99396, "o", "l"]
+[32.009536, "o", "l"]
+[32.02275, "o", " "]
+[32.038592, "o", "2"]
+[32.054418, "o", ">"]
+[32.068158, "o", "&"]
+[32.081924, "o", "1"]
+[32.095339, "o", " "]
+[32.110918, "o", "&"]
+[32.127981, "o", "&"]
+[32.144286, "o", " "]
+[32.159533, "o", "k"]
+[32.174608, "o", "w"]
+[32.189581, "o", "o"]
+[32.204982, "o", "k"]
+[32.219542, "o", "c"]
+[32.235412, "o", "t"]
+[32.249045, "o", "l"]
+[32.264818, "o", " "]
+[32.278835, "o", "c"]
+[32.293547, "o", "r"]
+[32.308278, "o", "e"]
+[32.323748, "o", "a"]
+[32.337502, "o", "t"]
+[32.352867, "o", "e"]
+[32.368493, "o", " "]
+[32.384165, "o", "c"]
+[32.399737, "o", "l"]
+[32.416045, "o", "u"]
+[32.432546, "o", "s"]
+[32.448523, "o", "t"]
+[32.462581, "o", "e"]
+[32.47811, "o", "r"]
+[32.494255, "o", " "]
+[32.509663, "o", ">"]
+[32.526275, "o", " "]
+[32.542772, "o", "/"]
+[32.558784, "o", "d"]
+[32.572582, "o", "e"]
+[32.588755, "o", "v"]
+[32.604953, "o", "/"]
+[32.619833, "o", "n"]
+[32.633467, "o", "u"]
+[32.649048, "o", "l"]
+[32.665181, "o", "l"]
+[32.678904, "o", " "]
+[32.694069, "o", "2"]
+[32.70853, "o", ">"]
+[32.722546, "o", "&"]
+[32.738206, "o", "1"]
+[33.256557, "o", "\r\n"]
+[35.831941, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[37.84083, "o", "\r\n"]
+[37.842635, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[38.354071, "o", "#"]
+[38.385204, "o", " "]
+[38.416035, "o", "R"]
+[38.445903, "o", "e"]
+[38.476413, "o", "s"]
+[38.506127, "o", "t"]
+[38.531715, "o", "o"]
+[38.557324, "o", "r"]
+[38.586942, "o", "e"]
+[38.61121, "o", " "]
+[38.634412, "o", "i"]
+[38.657041, "o", "s"]
+[38.684049, "o", " "]
+[38.708006, "o", "f"]
+[38.735471, "o", "r"]
+[38.760089, "o", "o"]
+[38.784652, "o", "m"]
+[38.810619, "o", " "]
+[38.837627, "o", "c"]
+[38.864077, "o", "l"]
+[38.891089, "o", "u"]
+[38.914876, "o", "s"]
+[38.941338, "o", "t"]
+[38.968767, "o", "e"]
+[38.997377, "o", "r"]
+[39.027637, "o", "."]
+[39.056666, "o", "y"]
+[39.084879, "o", "a"]
+[39.110293, "o", "m"]
+[39.134925, "o", "l"]
+[39.276786, "o", "\r\n"]
+[39.27791, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[40.290114, "o", "k"]
+[40.310439, "o", "w"]
+[40.32829, "o", "o"]
+[40.344229, "o", "k"]
+[40.361112, "o", "c"]
+[40.377839, "o", "t"]
+[40.391654, "o", "l"]
+[40.4059, "o", " "]
+[40.421773, "o", "s"]
+[40.437701, "o", "n"]
+[40.45399, "o", "a"]
+[40.470455, "o", "p"]
+[40.486579, "o", "s"]
+[40.503059, "o", "h"]
+[40.519443, "o", "o"]
+[40.536457, "o", "t"]
+[40.553066, "o", " "]
+[40.569372, "o", "r"]
+[40.58281, "o", "e"]
+[40.598865, "o", "p"]
+[40.616084, "o", "l"]
+[40.6324, "o", "a"]
+[40.648484, "o", "y"]
+[40.662702, "o", " "]
+[40.678352, "o", "-"]
+[40.694879, "o", "-"]
+[40.710545, "o", "s"]
+[40.727354, "o", "n"]
+[40.74443, "o", "a"]
+[40.760057, "o", "p"]
+[40.775663, "o", "s"]
+[40.790028, "o", "h"]
+[40.803926, "o", "o"]
+[40.820171, "o", "t"]
+[40.835252, "o", " "]
+[40.850227, "o", "-"]
+[40.865378, "o", "-"]
+[40.878273, "o", "p"]
+[40.893736, "o", "a"]
+[40.908114, "o", "t"]
+[40.92402, "o", "h"]
+[40.940565, "o", " "]
+[40.956923, "o", "c"]
+[40.973482, "o", "l"]
+[40.989387, "o", "u"]
+[41.005377, "o", "s"]
+[41.020643, "o", "t"]
+[41.036081, "o", "e"]
+[41.051945, "o", "r"]
+[41.067758, "o", "."]
+[41.083004, "o", "y"]
+[41.098153, "o", "a"]
+[41.114127, "o", "m"]
+[41.131476, "o", "l"]
+[41.655628, "o", "\r\n"]
+[42.237453, "o", "Restoring snapshot cluster=kwok\r\n"]
+[42.40651, "o", "Restored snapshot cluster=kwok\r\n"]
+[42.92127, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[44.930296, "o", "\r\n"]
+[44.931354, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[45.448331, "o", "#"]
+[45.480088, "o", " "]
+[45.511024, "o", "L"]
+[45.544672, "o", "e"]
+[45.57526, "o", "t"]
+[45.599327, "o", "'"]
+[45.628053, "o", "s"]
+[45.658277, "o", " "]
+[45.68585, "o", "h"]
+[45.71568, "o", "a"]
+[45.745791, "o", "v"]
+[45.776259, "o", "e"]
+[45.806603, "o", " "]
+[45.836071, "o", "a"]
+[45.862701, "o", " "]
+[45.892511, "o", "l"]
+[45.922188, "o", "o"]
+[45.949636, "o", "o"]
+[45.979092, "o", "k"]
+[46.007813, "o", " "]
+[46.033329, "o", "a"]
+[46.06064, "o", "t"]
+[46.088751, "o", " "]
+[46.115176, "o", "t"]
+[46.144526, "o", "h"]
+[46.175747, "o", "e"]
+[46.207269, "o", " "]
+[46.244602, "o", "p"]
+[46.284206, "o", "o"]
+[46.315967, "o", "d"]
+[46.343638, "o", " "]
+[46.374126, "o", "n"]
+[46.402182, "o", "a"]
+[46.431699, "o", "m"]
+[46.460643, "o", "e"]
+[46.487392, "o", " "]
+[46.514036, "o", "a"]
+[46.542075, "o", "g"]
+[46.572415, "o", "a"]
+[46.602251, "o", "i"]
+[46.628883, "o", "n"]
+[46.659389, "o", "."]
+[46.795268, "o", "\r\n"]
+[46.79584, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[47.801969, "o", "k"]
+[47.823673, "o", "u"]
+[47.839644, "o", "b"]
+[47.854733, "o", "e"]
+[47.871267, "o", "c"]
+[47.887634, "o", "t"]
+[47.90459, "o", "l"]
+[47.922158, "o", " "]
+[47.938758, "o", "g"]
+[47.955379, "o", "e"]
+[47.971391, "o", "t"]
+[47.986222, "o", " "]
+[48.002834, "o", "p"]
+[48.017, "o", "o"]
+[48.032739, "o", "d"]
+[48.557419, "o", "\r\n"]
+[48.6329, "o", "NAME READY STATUS RESTARTS AGE\r\napp-67f9df97bd-4wp4g 1/1 Running 0 18s\r\napp-67f9df97bd-88dfh 1/1 Running 0 18s\r\napp-67f9df97bd-jjvfk"]
+[48.632927, "o", " 1/1 Running 0 18s\r\n"]
+[48.633924, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[50.643516, "o", "\r\n\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[51.159037, "o", "#"]
+[51.188072, "o", " "]
+[51.213312, "o", "D"]
+[51.241145, "o", "e"]
+[51.271399, "o", "l"]
+[51.300828, "o", "e"]
+[51.33057, "o", "t"]
+[51.359297, "o", "e"]
+[51.384649, "o", " "]
+[51.41276, "o", "t"]
+[51.43775, "o", "h"]
+[51.466195, "o", "e"]
+[51.491995, "o", " "]
+[51.520798, "o", "c"]
+[51.550118, "o", "l"]
+[51.579704, "o", "u"]
+[51.607851, "o", "s"]
+[51.633774, "o", "t"]
+[51.659609, "o", "e"]
+[51.688469, "o", "r"]
+[51.712492, "o", "."]
+[51.848641, "o", "\r\n"]
+[51.851296, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[52.863719, "o", "k"]
+[52.883724, "o", "w"]
+[52.899546, "o", "o"]
+[52.916376, "o", "k"]
+[52.93254, "o", "c"]
+[52.949165, "o", "t"]
+[52.965945, "o", "l"]
+[52.982481, "o", " "]
+[52.998428, "o", "d"]
+[53.014596, "o", "e"]
+[53.029837, "o", "l"]
+[53.046334, "o", "e"]
+[53.062642, "o", "t"]
+[53.078732, "o", "e"]
+[53.09493, "o", " "]
+[53.111439, "o", "c"]
+[53.126835, "o", "l"]
+[53.142542, "o", "u"]
+[53.157942, "o", "s"]
+[53.173736, "o", "t"]
+[53.188965, "o", "e"]
+[53.204501, "o", "r"]
+[53.728769, "o", "\r\n"]
+[53.760915, "o", "Cluster is stopping cluster=kwok\r\n"]
+[54.197323, "o", "Cluster is stopped elapsed=0.4s cluster=kwok\r\nCluster is deleting cluster=kwok\r\n"]
+[54.581943, "o", "Cluster is deleted elapsed=0.3s cluster=kwok\r\n"]
+[54.582754, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[56.588839, "o", "\r\n"]
+[56.589331, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[57.097847, "o", "#"]
+[57.130752, "o", " "]
+[57.163309, "o", "T"]
+[57.193801, "o", "h"]
+[57.220307, "o", "a"]
+[57.249982, "o", "t"]
+[57.279101, "o", "'"]
+[57.308599, "o", "s"]
+[57.336931, "o", " "]
+[57.366504, "o", "a"]
+[57.391961, "o", "l"]
+[57.421803, "o", "l"]
+[57.448393, "o", ","]
+[57.477271, "o", " "]
+[57.503692, "o", "e"]
+[57.53279, "o", "n"]
+[57.559481, "o", "j"]
+[57.587701, "o", "o"]
+[57.616737, "o", "y"]
+[57.641931, "o", " "]
+[57.665471, "o", "i"]
+[57.693487, "o", "t"]
+[57.720913, "o", "!"]
+[57.855369, "o", "\r\n"]
+[57.85677, "o", "\u001b[1;96m~/sigs.k8s.io/kwok\u001b[1;94m$\u001b[0m "]
+[58.869083, "o", "c"]
+[58.889111, "o", "l"]
+[58.906802, "o", "e"]
+[58.923764, "o", "a"]
+[58.940468, "o", "r"]
+[59.461643, "o", "\r\n"]
+[59.468738, "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..c854906ac
--- /dev/null
+++ b/site/content/en/docs/user/kwokctl-snapshot/yaml-snapshot.demo
@@ -0,0 +1,32 @@
+# Let's get started with kwokctl!
+kwokctl create cluster
+
+# Use context.
+kubectl cluster-info --context kwok-kwok
+
+# 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..d50aee4ad
--- /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'sgetting~/sigs.k8s.io/kwok$#Let'sgettingstarted~/sigs.k8s.io/kwok$#Let'sgettingstartedwith~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokctl!~/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.6scluster=kwokYoucannowuseyourclusterwith:kubectlcluster-info--contextkwok-kwokThanksforusingkwok!~/sigs.k8s.io/kwok$#Create~/sigs.k8s.io/kwok$#Createan~/sigs.k8s.io/kwok$#Createannodes.~/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=22msresource=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-4wp4g1/1Running05sapp-67f9df97bd-88dfh1/1Running05sapp-67f9df97bd-jjvfk1/1Running05s~/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-4wp4g1/1Running018sapp-67f9df97bd-88dfh1/1Running018sapp-67f9df97bd-jjvfk1/1Running018s~/sigs.k8s.io/kwok$#Delete~/sigs.k8s.io/kwok$#Deletethe~/sigs.k8s.io/kwok$#Deletethecluster.Clusterisstoppingcluster=kwokClusterisstoppedelapsed=0.4scluster=kwokClusterisdeletingcluster=kwokClusterisdeletedelapsed=0.3scluster=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'sget~/sigs.k8s.io/kwok$#Let'sgett~/sigs.k8s.io/kwok$#Let'sgetti~/sigs.k8s.io/kwok$#Let'sgettin~/sigs.k8s.io/kwok$#Let'sgettings~/sigs.k8s.io/kwok$#Let'sgettingst~/sigs.k8s.io/kwok$#Let'sgettingsta~/sigs.k8s.io/kwok$#Let'sgettingstar~/sigs.k8s.io/kwok$#Let'sgettingstart~/sigs.k8s.io/kwok$#Let'sgettingstarte~/sigs.k8s.io/kwok$#Let'sgettingstartedw~/sigs.k8s.io/kwok$#Let'sgettingstartedwi~/sigs.k8s.io/kwok$#Let'sgettingstartedwit~/sigs.k8s.io/kwok$#Let'sgettingstartedwithk~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkw~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwo~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwok~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokc~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokct~/sigs.k8s.io/kwok$#Let'sgettingstartedwithkwokctl~/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$#Createa~/sigs.k8s.io/kwok$#Createann~/sigs.k8s.io/kwok$#Createanno~/sigs.k8s.io/kwok$#Createannod~/sigs.k8s.io/kwok$#Createannode~/sigs.k8s.io/kwok$#Createannodes~/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-jjvfk1/1Running0~/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-jjvfk~/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