diff --git a/Makefile b/Makefile
index ae7a6028..1d7d2d90 100644
--- a/Makefile
+++ b/Makefile
@@ -71,20 +71,3 @@ image-build: build
.PHONY: image-push
image-push: image-build
$(DOCKER_BIN) push $(IMAGE_REPO):$(IMAGE_TAG)
-
-.PRECIOUS: %.cast
-%.cast: %.demo
- @WORK_DIR=$(shell dirname $<) \
- ./hack/democtl.sh "$<" "$@" \
- --ps1='\033[1;96m~/nvidia/knavigator\033[1;94m$$\033[0m '
-
-.PRECIOUS: %.svg
-%.svg: %.cast
- @./hack/democtl.sh "$<" "$@" \
- --term xresources \
- --profile ./.xresources
- rm -f $(shell dirname $<)/*.cast
-
-%.mp4: %.cast
- @./hack/democtl.sh "$<" "$@"
- rm -f $(shell dirname $<)/*.cast
diff --git a/README.md b/README.md
index 84f9ac0c..bfa9f071 100644
--- a/README.md
+++ b/README.md
@@ -39,14 +39,6 @@ Alternatively, in server or package configurations, Knavigator can receive a ser
Regardless of the configuration mode, Knavigator executes tasks sequentially. Each task is dependent on the successful completion of the preceding one. Therefore, if any task fails during execution, the entire test is marked as failed. This ensures comprehensive testing and accurate reporting of results, maintaining the integrity of the testing process.
-### Demo
-
-Here's a demo showing how to install and configure `Knavigator`, and run an example test that deploys a k8s job in a `minikube` cluster.
-
-
-
-
-
### Documentation
- [Deployment](docs/deployment.md)
diff --git a/demos/Makefile b/demos/Makefile
deleted file mode 100644
index d887fce8..00000000
--- a/demos/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-.PRECIOUS: %.cast
-%.cast: %.demo
- make -C .. ./demo/$@
-
-.PRECIOUS: %.svg
-%.svg: %.cast
- make -C .. ./demo/$@
-
-%.mp4: %.svg
- make -C .. ./demo/$@
-
-.PHONY: all
-all: $(patsubst %.demo,%.svg,$(wildcard *.demo))
-
-.PHONY: clean
-clean:
- @-rm -f *.svg
diff --git a/demos/basic.demo b/demos/basic.demo
deleted file mode 100644
index b1c0e7e6..00000000
--- a/demos/basic.demo
+++ /dev/null
@@ -1,33 +0,0 @@
-# Demo: how to install, configure and use Knvavigator in a local k8s cluster, such as minikube or KinD
-
-# Show the cluster infomation
-kubectl cluster-info
-
-kubectl get nodes
-
-# Install KWOK node simulator
-
-KWOK_REPO=kubernetes-sigs/kwok
-KWOK_LATEST_RELEASE="v0.6.0"
-kubectl apply -f https://github.com/${KWOK_REPO}/releases/download/${KWOK_LATEST_RELEASE}/kwok.yaml
-kubectl apply -f https://github.com/${KWOK_REPO}/releases/download/${KWOK_LATEST_RELEASE}/stage-fast.yaml
-kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/kustomize/stage/pod/chaos/pod-init-container-running-failed.yaml
-kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/kustomize/stage/pod/chaos/pod-container-running-failed.yaml
-kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/kustomize/stage/pod/general/pod-complete.yaml
-
-# Build Knavigator
-make build
-
-# Run Knavigator with an example test
-./bin/knavigator --workflow resources/tests/k8s/test-job.yml
-
-# Show the job running
-kubectl get job
-
-# Show the pods running
-kubectl get pod -o wide
-
-# Clean up
-kubectl delete job job1
-
-# That's it. Thank you!
diff --git a/demos/basic.svg b/demos/basic.svg
deleted file mode 100644
index 5b48c5fe..00000000
--- a/demos/basic.svg
+++ /dev/null
@@ -1 +0,0 @@
-~/nvidia/knavigator $ ~/nvidia/knavigator $ # ~/nvidia/knavigator $ # Demo: ~/nvidia/knavigator $ # Demo: how ~/nvidia/knavigator $ # Demo: how to ~/nvidia/knavigator $ # Demo: how to install, ~/nvidia/knavigator $ # Demo: how to install, configure ~/nvidia/knavigator $ # Demo: how to install, configure and ~/nvidia/knavigator $ # Demo: how to install, configure and use ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigator ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigator in ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigator in a ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigator in a local k8s k8s cluster, k8s cluster, such k8s cluster, such as k8s cluster, such as minikube k8s cluster, such as minikube or k8s cluster, such as minikube or KinD ~/nvidia/knavigator $ # S ~/nvidia/knavigator $ # Sh ~/nvidia/knavigator $ # Sho ~/nvidia/knavigator $ # Show ~/nvidia/knavigator $ # Show t ~/nvidia/knavigator $ # Show th ~/nvidia/knavigator $ # Show the ~/nvidia/knavigator $ # Show the cluster ~/nvidia/knavigator $ # Show the cluster infomation ~/nvidia/knavigator $ k ~/nvidia/knavigator $ ku ~/nvidia/knavigator $ kub ~/nvidia/knavigator $ kube ~/nvidia/knavigator $ kubec ~/nvidia/knavigator $ kubect ~/nvidia/knavigator $ kubectl ~/nvidia/knavigator $ kubectl cluster-info Kubernetes control plane is running at https://127.0.0.1:58301 CoreDNS is running at https://127.0.0.1:58301/api/v1/namespaces/kube-system/services/k ube-dns:dns/proxy To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. ~/nvidia/knavigator $ kubectl g ~/nvidia/knavigator $ kubectl ge ~/nvidia/knavigator $ kubectl get ~/nvidia/knavigator $ kubectl get n ~/nvidia/knavigator $ kubectl get no ~/nvidia/knavigator $ kubectl get nod ~/nvidia/knavigator $ kubectl get node ~/nvidia/knavigator $ kubectl get nodes NAME STATUS ROLES AGE VERSION minikube Ready control-plane 50m v1.30.0 ~/nvidia/knavigator $ # Install ~/nvidia/knavigator $ # Install KWOK ~/nvidia/knavigator $ # Install KWOK node ~/nvidia/knavigator $ # Install KWOK node simulator ~/nvidia/knavigator $ K ~/nvidia/knavigator $ KW ~/nvidia/knavigator $ KWO ~/nvidia/knavigator $ KWOK ~/nvidia/knavigator $ KWOK_ ~/nvidia/knavigator $ KWOK_REPO=kubernetes-sigs/kwok ~/nvidia/knavigator $ KWOK_LATEST_RELEASE="v0.5.2" ~/nvidia/knavigator $ kubectl a ~/nvidia/knavigator $ kubectl ap ~/nvidia/knavigator $ kubectl app ~/nvidia/knavigator $ kubectl appl ~/nvidia/knavigator $ kubectl apply ~/nvidia/knavigator $ kubectl apply - ~/nvidia/knavigator $ kubectl apply -f ~/nvidia/knavigator $ kubectl apply -f " ~/nvidia/knavigator $ kubectl apply -f "h ~/nvidia/knavigator $ kubectl apply -f "ht ~/nvidia/knavigator $ kubectl apply -f "htt ~/nvidia/knavigator $ kubectl apply -f "http ~/nvidia/knavigator $ kubectl apply -f "https ~/nvidia/knavigator $ kubectl apply -f "https: ~/nvidia/knavigator $ kubectl apply -f "https:/ ~/nvidia/knavigator $ kubectl apply -f "https:// ~/nvidia/knavigator $ kubectl apply -f "https://g ~/nvidia/knavigator $ kubectl apply -f "https://gi ~/nvidia/knavigator $ kubectl apply -f "https://git ~/nvidia/knavigator $ kubectl apply -f "https://gith ~/nvidia/knavigator $ kubectl apply -f "https://githu ~/nvidia/knavigator $ kubectl apply -f "https://github ~/nvidia/knavigator $ kubectl apply -f "https://github. ~/nvidia/knavigator $ kubectl apply -f "https://github.c ~/nvidia/knavigator $ kubectl apply -f "https://github.co ~/nvidia/knavigator $ kubectl apply -f "https://github.com ~/nvidia/knavigator $ kubectl apply -f "https://github.com/ ~/nvidia/knavigator $ kubectl apply -f "https://github.com/$ ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${ ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${K ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KW ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWO ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_ ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_R ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_RE ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REP ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO} ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/ ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/r ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/re ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/rel ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/rele ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/relea ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/releas ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/release ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/releases ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/releases/ ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/releases/d ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/releases/do ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/releases/dow ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/releases/down ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/releases/downl ~/nvidia/knavigator $ kubectl apply -f "https://github.com/${KWOK_REPO}/releases/downlo a ad ad/ ad/$ ad/${ ad/${K ad/${KW ad/${KWO ad/${KWOK ad/${KWOK_ ad/${KWOK_L ad/${KWOK_LA ad/${KWOK_LAT ad/${KWOK_LATE ad/${KWOK_LATES ad/${KWOK_LATEST ad/${KWOK_LATEST_ ad/${KWOK_LATEST_R ad/${KWOK_LATEST_RE ad/${KWOK_LATEST_REL ad/${KWOK_LATEST_RELE ad/${KWOK_LATEST_RELEA ad/${KWOK_LATEST_RELEAS ad/${KWOK_LATEST_RELEASE ad/${KWOK_LATEST_RELEASE} ad/${KWOK_LATEST_RELEASE}/ ad/${KWOK_LATEST_RELEASE}/kwok.yaml" customresourcedefinition.apiextensions.k8s.io/attaches.kwok.x-k8s.io created customresourcedefinition.apiextensions.k8s.io/clusterattaches.kwok.x-k8s.io created customresourcedefinition.apiextensions.k8s.io/clusterexecs.kwok.x-k8s.io created customresourcedefinition.apiextensions.k8s.io/clusterlogs.kwok.x-k8s.io created customresourcedefinition.apiextensions.k8s.io/clusterportforwards.kwok.x-k8s.io create d customresourcedefinition.apiextensions.k8s.io/clusterresourceusages.kwok.x-k8s.io crea ted customresourcedefinition.apiextensions.k8s.io/execs.kwok.x-k8s.io created customresourcedefinition.apiextensions.k8s.io/logs.kwok.x-k8s.io created customresourcedefinition.apiextensions.k8s.io/metrics.kwok.x-k8s.io created customresourcedefinition.apiextensions.k8s.io/portforwards.kwok.x-k8s.io created customresourcedefinition.apiextensions.k8s.io/resourceusages.kwok.x-k8s.io created customresourcedefinition.apiextensions.k8s.io/stages.kwok.x-k8s.io created serviceaccount/kwok-controller created clusterrole.rbac.authorization.k8s.io/kwok-controller created clusterrolebinding.rbac.authorization.k8s.io/kwok-controller created service/kwok-controller created deployment.apps/kwok-controller created ad/${KWOK_LATEST_RELEASE}/stage-fast.yaml" stage.kwok.x-k8s.io/node-heartbeat-with-lease created stage.kwok.x-k8s.io/node-initialize created stage.kwok.x-k8s.io/pod-complete created stage.kwok.x-k8s.io/pod-delete created stage.kwok.x-k8s.io/pod-ready created ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-complete.yml stage.kwok.x-k8s.io/pod-complete configured ~/nvidia/knavigator $ kubectl apply -f h ~/nvidia/knavigator $ kubectl apply -f ht ~/nvidia/knavigator $ kubectl apply -f htt ~/nvidia/knavigator $ kubectl apply -f http ~/nvidia/knavigator $ kubectl apply -f https ~/nvidia/knavigator $ kubectl apply -f https: ~/nvidia/knavigator $ kubectl apply -f https:/ ~/nvidia/knavigator $ kubectl apply -f https:// ~/nvidia/knavigator $ kubectl apply -f https://g ~/nvidia/knavigator $ kubectl apply -f https://gi ~/nvidia/knavigator $ kubectl apply -f https://git ~/nvidia/knavigator $ kubectl apply -f https://gith ~/nvidia/knavigator $ kubectl apply -f https://githu ~/nvidia/knavigator $ kubectl apply -f https://github ~/nvidia/knavigator $ kubectl apply -f https://github. ~/nvidia/knavigator $ kubectl apply -f https://github.c ~/nvidia/knavigator $ kubectl apply -f https://github.co ~/nvidia/knavigator $ kubectl apply -f https://github.com ~/nvidia/knavigator $ kubectl apply -f https://github.com/ ~/nvidia/knavigator $ kubectl apply -f https://github.com/$ ~/nvidia/knavigator $ kubectl apply -f https://github.com/${ ~/nvidia/knavigator $ kubectl apply -f https://github.com/${K ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KW ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWO ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_ ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_R ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_RE ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REP ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO} ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/ ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/r ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/ra ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/ ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/m ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/ma ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/mai ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/main ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/ ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/k ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/ku ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/kus ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/kust ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/kusto ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/kustom ~/nvidia/knavigator $ kubectl apply -f https://github.com/${KWOK_REPO}/raw/main/kustomi z ze ze/ ze/s ze/st ze/sta ze/stag ze/stage ze/stage/ ze/stage/p ze/stage/po ze/stage/pod ze/stage/pod/ ze/stage/pod/c ze/stage/pod/ch ze/stage/pod/cha ze/stage/pod/chao ze/stage/pod/chaos ze/stage/pod/chaos/ ze/stage/pod/chaos/p ze/stage/pod/chaos/po ze/stage/pod/chaos/pod ze/stage/pod/chaos/pod- ze/stage/pod/chaos/pod-init-container-running-failed.yaml stage.kwok.x-k8s.io/pod-init-container-running-failed created ze/stage/pod/chaos/pod-container-running-failed.yaml stage.kwok.x-k8s.io/pod-container-running-failed created ~/nvidia/knavigator $ # Add ~/nvidia/knavigator $ # Add virtual ~/nvidia/knavigator $ # Add virtual nodes ~/nvidia/knavigator $ # Add virtual nodes to ~/nvidia/knavigator $ # Add virtual nodes to the ~/nvidia/knavigator $ # Add virtual nodes to the cluster ~/nvidia/knavigator $ helm ~/nvidia/knavigator $ helm install ~/nvidia/knavigator $ helm install virtual-nodes ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f charts/virtual -nodes/values-example.yaml NAME: virtual-nodes LAST DEPLOYED: Fri May 17 09:36:43 2024 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None NAME STATUS ROLES AGE VERSION minikube Ready control-plane 51m v1.30.0 virtual-cpu.x86-0 Ready agent 2s fake virtual-cpu.x86-1 Ready agent 2s fake virtual-dgxa100.80g-0 Ready agent 2s fake virtual-dgxh100.80g-0 Ready agent 2s fake ~/nvidia/knavigator $ # Build ~/nvidia/knavigator $ # Build Knavigator ~/nvidia/knavigator $ make ~/nvidia/knavigator $ make build Building knavigator ~/nvidia/knavigator $ # Run ~/nvidia/knavigator $ # Run Knavigator ~/nvidia/knavigator $ # Run Knavigator with ~/nvidia/knavigator $ # Run Knavigator with an ~/nvidia/knavigator $ # Run Knavigator with an example ~/nvidia/knavigator $ # Run Knavigator with an example test ~/nvidia/knavigator $ ./bin/knavigator ~/nvidia/knavigator $ ./bin/knavigator --tasks ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/test-job.yml I0517 09:37:10.847956 89914 k8s_config.go:42] "Using external kubeconfig" I0517 09:37:10.854344 89914 main.go:79] "Starting test" name="test-k8s-job" I0517 09:37:10.854351 89914 engine.go:107] "Creating task" name="RegisterObj" id="re gister" I0517 09:37:10.854912 89914 engine.go:240] "Starting task" id="RegisterObj/register" I0517 09:37:10.854916 89914 engine.go:246] "Task completed" id="RegisterObj/register " duration="500ns" I0517 09:37:10.854919 89914 engine.go:107] "Creating task" name="SubmitObj" id="job" I0517 09:37:10.854964 89914 engine.go:240] "Starting task" id="SubmitObj/job" I0517 09:37:10.877444 89914 engine.go:246] "Task completed" id="SubmitObj/job" durat ion="22.467792ms" I0517 09:37:10.877453 89914 engine.go:107] "Creating task" name="CheckPod" id="statu s" I0517 09:37:10.877509 89914 engine.go:240] "Starting task" id="CheckPod/status" I0517 09:37:10.877516 89914 check_pod_task.go:158] "Create pod informer" #pod=2 time out="5s" I0517 09:37:10.913069 89914 check_pod_task.go:256] "Accounted for all pods" I0517 09:37:10.913127 89914 engine.go:246] "Task completed" id="CheckPod/status" dur ation="35.604875ms" ~/nvidia/knavigator $ # Show the job ~/nvidia/knavigator $ # Show the job running ~/nvidia/knavigator $ kubectl get job NAME STATUS COMPLETIONS DURATION AGE job1 Running 0/2 6s 6s ~/nvidia/knavigator $ # Clean ~/nvidia/knavigator $ # Clean up ~/nvidia/knavigator $ kubectl delete ~/nvidia/knavigator $ kubectl delete job ~/nvidia/knavigator $ kubectl delete job job1 job.batch "job1" deleted ~/nvidia/knavigator $ # That's ~/nvidia/knavigator $ # That's it. ~/nvidia/knavigator $ # That's it. Thank ~/nvidia/knavigator $ # That's it. Thank you! ~/nvidia/knavigator $ # D ~/nvidia/knavigator $ # De ~/nvidia/knavigator $ # Dem ~/nvidia/knavigator $ # Demo ~/nvidia/knavigator $ # Demo: h ~/nvidia/knavigator $ # Demo: ho ~/nvidia/knavigator $ # Demo: how t ~/nvidia/knavigator $ # Demo: how to i ~/nvidia/knavigator $ # Demo: how to in ~/nvidia/knavigator $ # Demo: how to ins ~/nvidia/knavigator $ # Demo: how to inst ~/nvidia/knavigator $ # Demo: how to insta ~/nvidia/knavigator $ # Demo: how to instal ~/nvidia/knavigator $ # Demo: how to install ~/nvidia/knavigator $ # Demo: how to install, c ~/nvidia/knavigator $ # Demo: how to install, co ~/nvidia/knavigator $ # Demo: how to install, con ~/nvidia/knavigator $ # Demo: how to install, conf ~/nvidia/knavigator $ # Demo: how to install, confi ~/nvidia/knavigator $ # Demo: how to install, config ~/nvidia/knavigator $ # Demo: how to install, configu ~/nvidia/knavigator $ # Demo: how to install, configur ~/nvidia/knavigator $ # Demo: how to install, configure a ~/nvidia/knavigator $ # Demo: how to install, configure an ~/nvidia/knavigator $ # Demo: how to install, configure and u ~/nvidia/knavigator $ # Demo: how to install, configure and us ~/nvidia/knavigator $ # Demo: how to install, configure and use K ~/nvidia/knavigator $ # Demo: how to install, configure and use Kn ~/nvidia/knavigator $ # Demo: how to install, configure and use Knv ~/nvidia/knavigator $ # Demo: how to install, configure and use Knva ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvav ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavi ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavig ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvaviga ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigat ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigato ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigator i ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigator in a l ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigator in a lo ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigator in a loc ~/nvidia/knavigator $ # Demo: how to install, configure and use Knvavigator in a loca k k8 k8s c k8s cl k8s clu k8s clus k8s clust k8s cluste k8s cluster k8s cluster, s k8s cluster, su k8s cluster, suc k8s cluster, such a k8s cluster, such as m k8s cluster, such as mi k8s cluster, such as min k8s cluster, such as mini k8s cluster, such as minik k8s cluster, such as miniku k8s cluster, such as minikub k8s cluster, such as minikube o k8s cluster, such as minikube or K k8s cluster, such as minikube or Ki k8s cluster, such as minikube or Kin ~/nvidia/knavigator $ # Show the c ~/nvidia/knavigator $ # Show the cl ~/nvidia/knavigator $ # Show the clu ~/nvidia/knavigator $ # Show the clus ~/nvidia/knavigator $ # Show the clust ~/nvidia/knavigator $ # Show the cluste ~/nvidia/knavigator $ # Show the cluster i ~/nvidia/knavigator $ # Show the cluster in ~/nvidia/knavigator $ # Show the cluster inf ~/nvidia/knavigator $ # Show the cluster info ~/nvidia/knavigator $ # Show the cluster infom ~/nvidia/knavigator $ # Show the cluster infoma ~/nvidia/knavigator $ # Show the cluster infomat ~/nvidia/knavigator $ # Show the cluster infomati ~/nvidia/knavigator $ # Show the cluster infomatio ~/nvidia/knavigator $ kubectl c ~/nvidia/knavigator $ kubectl cl ~/nvidia/knavigator $ kubectl clu ~/nvidia/knavigator $ kubectl clus ~/nvidia/knavigator $ kubectl clust ~/nvidia/knavigator $ kubectl cluste ~/nvidia/knavigator $ kubectl cluster ~/nvidia/knavigator $ kubectl cluster- ~/nvidia/knavigator $ kubectl cluster-i ~/nvidia/knavigator $ kubectl cluster-in ~/nvidia/knavigator $ kubectl cluster-inf ~/nvidia/knavigator $ # I ~/nvidia/knavigator $ # In ~/nvidia/knavigator $ # Ins ~/nvidia/knavigator $ # Inst ~/nvidia/knavigator $ # Insta ~/nvidia/knavigator $ # Instal ~/nvidia/knavigator $ # Install K ~/nvidia/knavigator $ # Install KW ~/nvidia/knavigator $ # Install KWO ~/nvidia/knavigator $ # Install KWOK n ~/nvidia/knavigator $ # Install KWOK no ~/nvidia/knavigator $ # Install KWOK nod ~/nvidia/knavigator $ # Install KWOK node s ~/nvidia/knavigator $ # Install KWOK node si ~/nvidia/knavigator $ # Install KWOK node sim ~/nvidia/knavigator $ # Install KWOK node simu ~/nvidia/knavigator $ # Install KWOK node simul ~/nvidia/knavigator $ # Install KWOK node simula ~/nvidia/knavigator $ # Install KWOK node simulat ~/nvidia/knavigator $ # Install KWOK node simulato ~/nvidia/knavigator $ KWOK_R ~/nvidia/knavigator $ KWOK_RE ~/nvidia/knavigator $ KWOK_REP ~/nvidia/knavigator $ KWOK_REPO ~/nvidia/knavigator $ KWOK_REPO= ~/nvidia/knavigator $ KWOK_REPO=k ~/nvidia/knavigator $ KWOK_REPO=ku ~/nvidia/knavigator $ KWOK_REPO=kub ~/nvidia/knavigator $ KWOK_REPO=kube ~/nvidia/knavigator $ KWOK_REPO=kuber ~/nvidia/knavigator $ KWOK_REPO=kubern ~/nvidia/knavigator $ KWOK_REPO=kuberne ~/nvidia/knavigator $ KWOK_REPO=kubernet ~/nvidia/knavigator $ KWOK_REPO=kubernete ~/nvidia/knavigator $ KWOK_REPO=kubernetes ~/nvidia/knavigator $ KWOK_REPO=kubernetes- ~/nvidia/knavigator $ KWOK_REPO=kubernetes-s ~/nvidia/knavigator $ KWOK_REPO=kubernetes-si ~/nvidia/knavigator $ KWOK_REPO=kubernetes-sig ~/nvidia/knavigator $ KWOK_REPO=kubernetes-sigs ~/nvidia/knavigator $ KWOK_REPO=kubernetes-sigs/ ~/nvidia/knavigator $ KWOK_REPO=kubernetes-sigs/k ~/nvidia/knavigator $ KWOK_REPO=kubernetes-sigs/kw ~/nvidia/knavigator $ KWOK_REPO=kubernetes-sigs/kwo ~/nvidia/knavigator $ KWOK_L ~/nvidia/knavigator $ KWOK_LA ~/nvidia/knavigator $ KWOK_LAT ~/nvidia/knavigator $ KWOK_LATE ~/nvidia/knavigator $ KWOK_LATES ~/nvidia/knavigator $ KWOK_LATEST ~/nvidia/knavigator $ KWOK_LATEST_ ~/nvidia/knavigator $ KWOK_LATEST_R ~/nvidia/knavigator $ KWOK_LATEST_RE ~/nvidia/knavigator $ KWOK_LATEST_REL ~/nvidia/knavigator $ KWOK_LATEST_RELE ~/nvidia/knavigator $ KWOK_LATEST_RELEA ~/nvidia/knavigator $ KWOK_LATEST_RELEAS ~/nvidia/knavigator $ KWOK_LATEST_RELEASE ~/nvidia/knavigator $ KWOK_LATEST_RELEASE= ~/nvidia/knavigator $ KWOK_LATEST_RELEASE=" ~/nvidia/knavigator $ KWOK_LATEST_RELEASE="v ~/nvidia/knavigator $ KWOK_LATEST_RELEASE="v0 ~/nvidia/knavigator $ KWOK_LATEST_RELEASE="v0. ~/nvidia/knavigator $ KWOK_LATEST_RELEASE="v0.5 ~/nvidia/knavigator $ KWOK_LATEST_RELEASE="v0.5. ~/nvidia/knavigator $ KWOK_LATEST_RELEASE="v0.5.2 ad/${KWOK_LATEST_RELEASE}/k ad/${KWOK_LATEST_RELEASE}/kw ad/${KWOK_LATEST_RELEASE}/kwo ad/${KWOK_LATEST_RELEASE}/kwok ad/${KWOK_LATEST_RELEASE}/kwok. ad/${KWOK_LATEST_RELEASE}/kwok.y ad/${KWOK_LATEST_RELEASE}/kwok.ya ad/${KWOK_LATEST_RELEASE}/kwok.yam ad/${KWOK_LATEST_RELEASE}/kwok.yaml ad/${KWOK_LATEST_RELEASE}/s ad/${KWOK_LATEST_RELEASE}/st ad/${KWOK_LATEST_RELEASE}/sta ad/${KWOK_LATEST_RELEASE}/stag ad/${KWOK_LATEST_RELEASE}/stage ad/${KWOK_LATEST_RELEASE}/stage- ad/${KWOK_LATEST_RELEASE}/stage-f ad/${KWOK_LATEST_RELEASE}/stage-fa ad/${KWOK_LATEST_RELEASE}/stage-fas ad/${KWOK_LATEST_RELEASE}/stage-fast ad/${KWOK_LATEST_RELEASE}/stage-fast. ad/${KWOK_LATEST_RELEASE}/stage-fast.y ad/${KWOK_LATEST_RELEASE}/stage-fast.ya ad/${KWOK_LATEST_RELEASE}/stage-fast.yam ad/${KWOK_LATEST_RELEASE}/stage-fast.yaml ~/nvidia/knavigator $ kubectl apply -f c ~/nvidia/knavigator $ kubectl apply -f ch ~/nvidia/knavigator $ kubectl apply -f cha ~/nvidia/knavigator $ kubectl apply -f char ~/nvidia/knavigator $ kubectl apply -f chart ~/nvidia/knavigator $ kubectl apply -f charts ~/nvidia/knavigator $ kubectl apply -f charts/ ~/nvidia/knavigator $ kubectl apply -f charts/o ~/nvidia/knavigator $ kubectl apply -f charts/ov ~/nvidia/knavigator $ kubectl apply -f charts/ove ~/nvidia/knavigator $ kubectl apply -f charts/over ~/nvidia/knavigator $ kubectl apply -f charts/overr ~/nvidia/knavigator $ kubectl apply -f charts/overri ~/nvidia/knavigator $ kubectl apply -f charts/overrid ~/nvidia/knavigator $ kubectl apply -f charts/override ~/nvidia/knavigator $ kubectl apply -f charts/overrides ~/nvidia/knavigator $ kubectl apply -f charts/overrides/ ~/nvidia/knavigator $ kubectl apply -f charts/overrides/k ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kw ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwo ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/ ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/p ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/po ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod- ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-c ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-co ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-com ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-comp ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-compl ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-comple ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-complet ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-complete ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-complete. ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-complete.y ~/nvidia/knavigator $ kubectl apply -f charts/overrides/kwok/pod-complete.ym ze/stage/pod/chaos/pod-i ze/stage/pod/chaos/pod-in ze/stage/pod/chaos/pod-ini ze/stage/pod/chaos/pod-init ze/stage/pod/chaos/pod-init- ze/stage/pod/chaos/pod-init-c ze/stage/pod/chaos/pod-init-co ze/stage/pod/chaos/pod-init-con ze/stage/pod/chaos/pod-init-cont ze/stage/pod/chaos/pod-init-conta ze/stage/pod/chaos/pod-init-contai ze/stage/pod/chaos/pod-init-contain ze/stage/pod/chaos/pod-init-containe ze/stage/pod/chaos/pod-init-container ze/stage/pod/chaos/pod-init-container- ze/stage/pod/chaos/pod-init-container-r ze/stage/pod/chaos/pod-init-container-ru ze/stage/pod/chaos/pod-init-container-run ze/stage/pod/chaos/pod-init-container-runn ze/stage/pod/chaos/pod-init-container-runni ze/stage/pod/chaos/pod-init-container-runnin ze/stage/pod/chaos/pod-init-container-running ze/stage/pod/chaos/pod-init-container-running- ze/stage/pod/chaos/pod-init-container-running-f ze/stage/pod/chaos/pod-init-container-running-fa ze/stage/pod/chaos/pod-init-container-running-fai ze/stage/pod/chaos/pod-init-container-running-fail ze/stage/pod/chaos/pod-init-container-running-faile ze/stage/pod/chaos/pod-init-container-running-failed ze/stage/pod/chaos/pod-init-container-running-failed. ze/stage/pod/chaos/pod-init-container-running-failed.y ze/stage/pod/chaos/pod-init-container-running-failed.ya ze/stage/pod/chaos/pod-init-container-running-failed.yam ze/stage/pod/chaos/pod-c ze/stage/pod/chaos/pod-co ze/stage/pod/chaos/pod-con ze/stage/pod/chaos/pod-cont ze/stage/pod/chaos/pod-conta ze/stage/pod/chaos/pod-contai ze/stage/pod/chaos/pod-contain ze/stage/pod/chaos/pod-containe ze/stage/pod/chaos/pod-container ze/stage/pod/chaos/pod-container- ze/stage/pod/chaos/pod-container-r ze/stage/pod/chaos/pod-container-ru ze/stage/pod/chaos/pod-container-run ze/stage/pod/chaos/pod-container-runn ze/stage/pod/chaos/pod-container-runni ze/stage/pod/chaos/pod-container-runnin ze/stage/pod/chaos/pod-container-running ze/stage/pod/chaos/pod-container-running- ze/stage/pod/chaos/pod-container-running-f ze/stage/pod/chaos/pod-container-running-fa ze/stage/pod/chaos/pod-container-running-fai ze/stage/pod/chaos/pod-container-running-fail ze/stage/pod/chaos/pod-container-running-faile ze/stage/pod/chaos/pod-container-running-failed ze/stage/pod/chaos/pod-container-running-failed. ze/stage/pod/chaos/pod-container-running-failed.y ze/stage/pod/chaos/pod-container-running-failed.ya ze/stage/pod/chaos/pod-container-running-failed.yam ~/nvidia/knavigator $ # A ~/nvidia/knavigator $ # Ad ~/nvidia/knavigator $ # Add v ~/nvidia/knavigator $ # Add vi ~/nvidia/knavigator $ # Add vir ~/nvidia/knavigator $ # Add virt ~/nvidia/knavigator $ # Add virtu ~/nvidia/knavigator $ # Add virtua ~/nvidia/knavigator $ # Add virtual n ~/nvidia/knavigator $ # Add virtual no ~/nvidia/knavigator $ # Add virtual nod ~/nvidia/knavigator $ # Add virtual node ~/nvidia/knavigator $ # Add virtual nodes t ~/nvidia/knavigator $ # Add virtual nodes to t ~/nvidia/knavigator $ # Add virtual nodes to th ~/nvidia/knavigator $ # Add virtual nodes to the c ~/nvidia/knavigator $ # Add virtual nodes to the cl ~/nvidia/knavigator $ # Add virtual nodes to the clu ~/nvidia/knavigator $ # Add virtual nodes to the clus ~/nvidia/knavigator $ # Add virtual nodes to the clust ~/nvidia/knavigator $ # Add virtual nodes to the cluste ~/nvidia/knavigator $ h ~/nvidia/knavigator $ he ~/nvidia/knavigator $ hel ~/nvidia/knavigator $ helm i ~/nvidia/knavigator $ helm in ~/nvidia/knavigator $ helm ins ~/nvidia/knavigator $ helm inst ~/nvidia/knavigator $ helm insta ~/nvidia/knavigator $ helm instal ~/nvidia/knavigator $ helm install v ~/nvidia/knavigator $ helm install vi ~/nvidia/knavigator $ helm install vir ~/nvidia/knavigator $ helm install virt ~/nvidia/knavigator $ helm install virtu ~/nvidia/knavigator $ helm install virtua ~/nvidia/knavigator $ helm install virtual ~/nvidia/knavigator $ helm install virtual- ~/nvidia/knavigator $ helm install virtual-n ~/nvidia/knavigator $ helm install virtual-no ~/nvidia/knavigator $ helm install virtual-nod ~/nvidia/knavigator $ helm install virtual-node ~/nvidia/knavigator $ helm install virtual-nodes c ~/nvidia/knavigator $ helm install virtual-nodes ch ~/nvidia/knavigator $ helm install virtual-nodes cha ~/nvidia/knavigator $ helm install virtual-nodes char ~/nvidia/knavigator $ helm install virtual-nodes chart ~/nvidia/knavigator $ helm install virtual-nodes charts ~/nvidia/knavigator $ helm install virtual-nodes charts/ ~/nvidia/knavigator $ helm install virtual-nodes charts/v ~/nvidia/knavigator $ helm install virtual-nodes charts/vi ~/nvidia/knavigator $ helm install virtual-nodes charts/vir ~/nvidia/knavigator $ helm install virtual-nodes charts/virt ~/nvidia/knavigator $ helm install virtual-nodes charts/virtu ~/nvidia/knavigator $ helm install virtual-nodes charts/virtua ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual- ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-n ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-no ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nod ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-node ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes - ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f c ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f ch ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f cha ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f char ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f chart ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f charts ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f charts/ ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f charts/v ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f charts/vi ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f charts/vir ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f charts/virt ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f charts/virtu ~/nvidia/knavigator $ helm install virtual-nodes charts/virtual-nodes -f charts/virtua - -n -no -nod -node -nodes -nodes/ -nodes/v -nodes/va -nodes/val -nodes/valu -nodes/value -nodes/values -nodes/values- -nodes/values-e -nodes/values-ex -nodes/values-exa -nodes/values-exam -nodes/values-examp -nodes/values-exampl -nodes/values-example -nodes/values-example. -nodes/values-example.y -nodes/values-example.ya -nodes/values-example.yam virtual-cpu.x86-1 ~/nvidia/knavigator $ # B ~/nvidia/knavigator $ # Bu ~/nvidia/knavigator $ # Bui ~/nvidia/knavigator $ # Buil ~/nvidia/knavigator $ # Build K ~/nvidia/knavigator $ # Build Kn ~/nvidia/knavigator $ # Build Kna ~/nvidia/knavigator $ # Build Knav ~/nvidia/knavigator $ # Build Knavi ~/nvidia/knavigator $ # Build Knavig ~/nvidia/knavigator $ # Build Knaviga ~/nvidia/knavigator $ # Build Knavigat ~/nvidia/knavigator $ # Build Knavigato ~/nvidia/knavigator $ m ~/nvidia/knavigator $ ma ~/nvidia/knavigator $ mak ~/nvidia/knavigator $ make b ~/nvidia/knavigator $ make bu ~/nvidia/knavigator $ make bui ~/nvidia/knavigator $ make buil ~/nvidia/knavigator $ # R ~/nvidia/knavigator $ # Ru ~/nvidia/knavigator $ # Run K ~/nvidia/knavigator $ # Run Kn ~/nvidia/knavigator $ # Run Kna ~/nvidia/knavigator $ # Run Knav ~/nvidia/knavigator $ # Run Knavi ~/nvidia/knavigator $ # Run Knavig ~/nvidia/knavigator $ # Run Knaviga ~/nvidia/knavigator $ # Run Knavigat ~/nvidia/knavigator $ # Run Knavigato ~/nvidia/knavigator $ # Run Knavigator w ~/nvidia/knavigator $ # Run Knavigator wi ~/nvidia/knavigator $ # Run Knavigator wit ~/nvidia/knavigator $ # Run Knavigator with a ~/nvidia/knavigator $ # Run Knavigator with an e ~/nvidia/knavigator $ # Run Knavigator with an ex ~/nvidia/knavigator $ # Run Knavigator with an exa ~/nvidia/knavigator $ # Run Knavigator with an exam ~/nvidia/knavigator $ # Run Knavigator with an examp ~/nvidia/knavigator $ # Run Knavigator with an exampl ~/nvidia/knavigator $ # Run Knavigator with an example t ~/nvidia/knavigator $ # Run Knavigator with an example te ~/nvidia/knavigator $ # Run Knavigator with an example tes ~/nvidia/knavigator $ . ~/nvidia/knavigator $ ./ ~/nvidia/knavigator $ ./b ~/nvidia/knavigator $ ./bi ~/nvidia/knavigator $ ./bin ~/nvidia/knavigator $ ./bin/ ~/nvidia/knavigator $ ./bin/k ~/nvidia/knavigator $ ./bin/kn ~/nvidia/knavigator $ ./bin/kna ~/nvidia/knavigator $ ./bin/knav ~/nvidia/knavigator $ ./bin/knavi ~/nvidia/knavigator $ ./bin/knavig ~/nvidia/knavigator $ ./bin/knaviga ~/nvidia/knavigator $ ./bin/knavigat ~/nvidia/knavigator $ ./bin/knavigato ~/nvidia/knavigator $ ./bin/knavigator - ~/nvidia/knavigator $ ./bin/knavigator -- ~/nvidia/knavigator $ ./bin/knavigator --t ~/nvidia/knavigator $ ./bin/knavigator --ta ~/nvidia/knavigator $ ./bin/knavigator --tas ~/nvidia/knavigator $ ./bin/knavigator --task ~/nvidia/knavigator $ ./bin/knavigator --tasks r ~/nvidia/knavigator $ ./bin/knavigator --tasks re ~/nvidia/knavigator $ ./bin/knavigator --tasks res ~/nvidia/knavigator $ ./bin/knavigator --tasks reso ~/nvidia/knavigator $ ./bin/knavigator --tasks resou ~/nvidia/knavigator $ ./bin/knavigator --tasks resour ~/nvidia/knavigator $ ./bin/knavigator --tasks resourc ~/nvidia/knavigator $ ./bin/knavigator --tasks resource ~/nvidia/knavigator $ ./bin/knavigator --tasks resources ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/ ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/t ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/te ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tes ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/test ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/ ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8 ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/ ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/t ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/te ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/tes ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/test ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/test- ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/test-j ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/test-jo ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/test-job ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/test-job. ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/test-job.y ~/nvidia/knavigator $ ./bin/knavigator --tasks resources/tests/k8s/test-job.ym ~/nvidia/knavigator $ # Show the j ~/nvidia/knavigator $ # Show the jo ~/nvidia/knavigator $ # Show the job r ~/nvidia/knavigator $ # Show the job ru ~/nvidia/knavigator $ # Show the job run ~/nvidia/knavigator $ # Show the job runn ~/nvidia/knavigator $ # Show the job runni ~/nvidia/knavigator $ # Show the job runnin ~/nvidia/knavigator $ kubectl get j ~/nvidia/knavigator $ kubectl get jo ~/nvidia/knavigator $ # C ~/nvidia/knavigator $ # Cl ~/nvidia/knavigator $ # Cle ~/nvidia/knavigator $ # Clea ~/nvidia/knavigator $ # Clean u ~/nvidia/knavigator $ kubectl d ~/nvidia/knavigator $ kubectl de ~/nvidia/knavigator $ kubectl del ~/nvidia/knavigator $ kubectl dele ~/nvidia/knavigator $ kubectl delet ~/nvidia/knavigator $ kubectl delete j ~/nvidia/knavigator $ kubectl delete jo ~/nvidia/knavigator $ kubectl delete job j ~/nvidia/knavigator $ kubectl delete job jo ~/nvidia/knavigator $ kubectl delete job job ~/nvidia/knavigator $ # T ~/nvidia/knavigator $ # Th ~/nvidia/knavigator $ # Tha ~/nvidia/knavigator $ # That ~/nvidia/knavigator $ # That' ~/nvidia/knavigator $ # That's i ~/nvidia/knavigator $ # That's it ~/nvidia/knavigator $ # That's it. T ~/nvidia/knavigator $ # That's it. Th ~/nvidia/knavigator $ # That's it. Tha ~/nvidia/knavigator $ # That's it. Than ~/nvidia/knavigator $ # That's it. Thank y ~/nvidia/knavigator $ # That's it. Thank yo ~/nvidia/knavigator $ # That's it. Thank you
\ No newline at end of file
diff --git a/hack/democtl.sh b/hack/democtl.sh
deleted file mode 100755
index a56ab7e2..00000000
--- a/hack/democtl.sh
+++ /dev/null
@@ -1,381 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2024 The Kubernetes Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-set -o errexit
-set -o nounset
-set -o pipefail
-
-SIMULATE=false
-COLS=86
-ROWS=24
-SVG_TERM=""
-SVG_PROFILE=""
-
-function color() {
- local color="${1}"
- local text="${2}"
- echo -e "\033[1;${color}m${text}\033[0m"
-}
-
-export PLAY_PS1="$ "
-
-CACHE_DIR=${TMPDIR:-/tmp}/democtl
-SELFPATH="$(realpath "$0")"
-ARGS=()
-
-export PYTHONPATH="${CACHE_DIR}/py_modules"
-export PATH="${PYTHONPATH}/bin:${CACHE_DIR}/node_modules/.bin:${PATH}:${PATH}"
-
-function usage() {
- echo "Usage: ${0} [--help] [options...]"
- echo " input file"
- echo " output file"
- echo " --help show this help"
- echo " --cols=${COLS} cols of the terminal"
- echo " --rows=${ROWS} rows of the terminal"
- echo " --ps1=${PLAY_PS1} ps1 of the recording"
- echo " --term=${SVG_TERM} terminal type"
- echo " --profile=${SVG_PROFILE} terminal profile"
-}
-
-# args parses the arguments.
-function args() {
- local arg
-
- while [[ $# -gt 0 ]]; do
- arg="$1"
- case "${arg}" in
- --internal-simulate)
- SIMULATE="true"
- shift
- ;;
- --cols | --cols=*)
- [[ "${arg#*=}" != "${arg}" ]] && COLS="${arg#*=}" || { COLS="${2}" && shift; } || :
- shift
- ;;
- --rows | --rows=*)
- [[ "${arg#*=}" != "${arg}" ]] && ROWS="${arg#*=}" || { ROWS="${2}" && shift; } || :
- shift
- ;;
- --ps1 | --ps1=*)
- [[ "${arg#*=}" != "${arg}" ]] && PLAY_PS1="${arg#*=}" || { PLAY_PS1="${2}" && shift; } || :
- shift
- ;;
- --term | --term=*)
- [[ "${arg#*=}" != "${arg}" ]] && SVG_TERM="${arg#*=}" || { SVG_TERM="${2}" && shift; } || :
- shift
- ;;
- --profile | --profile=*)
- [[ "${arg#*=}" != "${arg}" ]] && SVG_PROFILE="${arg#*=}" || { SVG_PROFILE="${2}" && shift; } || :
- shift
- ;;
- --help)
- usage
- exit 0
- ;;
- --*)
- echo "Unknown argument: ${arg}"
- usage
- exit 1
- ;;
- *)
- ARGS+=("${arg}")
- shift
- ;;
- esac
- done
-}
-
-# command_exist checks if the command exists.
-function command_exist() {
- local command="${1}"
- type "${command}" >/dev/null 2>&1
-}
-
-# install_asciinema installs asciinema.
-function install_asciinema() {
- if command_exist asciinema; then
- return 0
- elif command_exist pip3; then
- pip3 install asciinema --target "${PYTHONPATH}" >&2
- else
- echo "asciinema is not installed" >&2
- return 1
- fi
-}
-
-# install_svg_term_cli installs svg-term-cli.
-function install_svg_term_cli() {
- if command_exist svg-term; then
- return 0
- elif command_exist npm; then
- npm install --save-dev svg-term-cli --prefix "${CACHE_DIR}" >&2
- else
- echo "svg-term is not installed" >&2
- return 1
- fi
-}
-
-# install_svg_to_video installs svg-to-video.
-function install_svg_to_video() {
- if command_exist svg-to-video; then
- return 0
- elif command_exist npm; then
- npm install --save-dev https://github.com/wzshiming/svg-to-video --prefix "${CACHE_DIR}" >&2
- else
- echo "svg-to-video is not installed" >&2
- return 1
- fi
-}
-
-# ext_file returns the extension of the input file.
-function ext_file() {
- local file="${1}"
- echo "${file##*.}"
-}
-
-# ext_replace replaces the extension of the input file with the output extension.
-function ext_replace() {
- local file="${1}"
- local ext="${2}"
- echo "${file%.*}.${ext}"
-}
-
-# demo2cast converts the input demo file to the output cast file.
-function demo2cast() {
- local input="${1}"
- local output="${2}"
- echo "Recording ${input} to ${output}" >&2
-
- asciinema rec \
- "${output}" \
- --overwrite \
- --cols "${COLS}" \
- --rows "${ROWS}" \
- --env "" \
- --command "bash ${SELFPATH} ${input} --internal-simulate --ps1='${PLAY_PS1}'"
-}
-
-# cast2svg converts the input cast file to the output svg file.
-function cast2svg() {
- local input="${1}"
- local output="${2}"
- local args=()
- echo "Converting ${input} to ${output}" >&2
-
- if [[ "${SVG_TERM}" != "" ]]; then
- args+=("--term" "${SVG_TERM}")
- fi
-
- if [[ "${SVG_PROFILE}" != "" ]]; then
- args+=("--profile" "${SVG_PROFILE}")
- fi
- svg-term \
- --in "${input}" \
- --out "${output}" \
- --window \
- "${args[@]}"
-}
-
-# svg2video converts the input svg file to the output video file.
-function svg2video() {
- local input="${1}"
- local output="${2}"
- echo "Converting ${input} to ${output}" >&2
-
- svg-to-video \
- "${input}" \
- "${output}" \
- --delay-start 5 \
- --headless
-}
-
-# convert converts the input file to the output file.
-# The input file can be a demo, cast, or svg file.
-# The output file can be a cast, svg, or mp4 file.
-function convert() {
- local input="${1}"
- local output="${2}"
-
- local castfile
- local viedofile
-
- local outext
- local inext
-
- outext=$(ext_file "${output}")
- inext=$(ext_file "${input}")
- case "${outext}" in
- cast)
- case "${inext}" in
- demo)
- install_asciinema
-
- demo2cast "${input}" "${output}"
- return 0
- ;;
- *)
- echo "Unsupported input file type: ${inext}"
- return 1
- ;;
- esac
- ;;
- svg)
- case "${inext}" in
- cast)
- install_svg_term_cli
-
- cast2svg "${input}" "${output}"
- return 0
- ;;
- demo)
- install_asciinema
- install_svg_term_cli
-
- castfile=$(ext_replace "${output}" "cast")
- demo2cast "${input}" "${castfile}"
- cast2svg "${castfile}" "${output}"
- return 0
- ;;
- *)
- echo "Unsupported input file type: ${inext}"
- return 1
- ;;
- esac
- ;;
- mp4)
- case "${inext}" in
- svg)
- install_svg_to_video
-
- svg2video "${input}" "${output}"
- return 0
- ;;
- cast)
- install_svg_term_cli
- install_svg_to_video
-
- viedofile=$(ext_replace "${output}" "svg")
- cast2svg "${input}" "${viedofile}"
- svg2video "${viedofile}" "${output}"
- return 0
- ;;
- demo)
- install_asciinema
- install_svg_term_cli
- install_svg_to_video
-
- viedofile=$(ext_replace "${output}" "svg")
- castfile=$(ext_replace "${output}" "cast")
- demo2cast "${input}" "${castfile}"
- cast2svg "${castfile}" "${viedofile}"
- svg2video "${viedofile}" "${output}"
- return 0
- ;;
- *)
- echo "Unsupported input file type: ${inext}"
- return 1
- ;;
- esac
- ;;
- *)
- echo "Unsupported output file type: ${outext}"
- return 1
- ;;
- esac
-}
-
-# br prints a new line.
-# this function is used to simulate typing.
-function br() {
- echo
-}
-
-# ps1 prints the ps1 with a delay.
-# this function is used to simulate typing.
-function ps1() {
- local delay="${1}"
- echo -e -n "${PLAY_PS1}"
- if [[ "${delay}" != "" ]]; then
- sleep "${delay}"
- fi
-}
-
-# type_message prints a message to stdout at a human hand speed.
-# this function is used to simulate typing.
-function type_message() {
- local message="$1"
- local delay="${2:-0.02}"
- local entry_delay="${3:-0.1}"
- for ((i = 0; i < ${#message}; i++)); do
- echo -n "${message:$i:1}"
- sleep "${delay}"
- done
- sleep "${entry_delay}"
- br
-}
-
-# type_and_exec_command prints a command to stdout and executes it.
-# this function is used to simulate typing.
-function type_and_exec_command() {
- local command="$*"
- type_message "${command}" 0.01 0.5
- eval "${command}"
-}
-
-# play_file plays a file line by line.
-# this function is used to simulate typing.
-function play_file() {
- local file="$1"
- while read -r line; do
- if [[ "${line}" =~ ^# ]]; then
- ps1 0.5
- type_message "${line}"
- elif [[ "${line}" == "" ]]; then
- ps1 2
- br
- else
- ps1 1
- type_and_exec_command "${line}"
- fi
- done <"${file}"
-}
-
-function main() {
- if [[ "${#ARGS[*]}" -lt 1 ]]; then
- usage
- exit 1
- fi
-
- INPUT_FILE="${ARGS[0]}"
-
- # Only for asciinema recording command.
- if [[ "${SIMULATE}" == "true" ]]; then
- play_file "${INPUT_FILE}"
- exit 0
- fi
-
- if [[ "${#ARGS[*]}" -gt 1 ]]; then
- OUTPUT_FILE="${ARGS[1]}"
- else
- # If the output file is not specified, use the same name as the input file.
- OUTPUT_FILE="$(ext_replace "${INPUT_FILE}" "svg")"
- fi
-
- convert "${INPUT_FILE}" "${OUTPUT_FILE}"
-}
-
-args "$@"
-main