diff --git a/README.md b/README.md index 9c93d208..310c53da 100644 --- a/README.md +++ b/README.md @@ -37,28 +37,29 @@ The plan is to use OCI projects and best of breed libraries for different aspect It is currently in active development in the Kubernetes community through the [design proposal](https://github.com/kubernetes/kubernetes/pull/26788). Questions and issues should be raised in the Kubernetes [sig-node Slack channel](https://kubernetes.slack.com/archives/sig-node). ## Commands -| Command | Description | -| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | -| [crio(8)](/docs/crio.8.md) | OCI Kubernetes Container Runtime daemon | -| [kpod(1)](/docs/kpod.1.md) | Simple management tool for pods and images | -| [kpod-cp(1)](/docs/kpod-cp.1.md) | Copy files/folders between a container and the local filesystem | -| [kpod-diff(1)](/docs/kpod-diff.1.md) | Inspect changes on a container or image's filesystem | -| [kpod-export(1)](/docs/kpod-export.1.md) | Export container's filesystem contents as a tar archive | -| [kpod-history(1)](/docs/kpod-history.1.md) | Shows the history of an image | -| [kpod-images(1)](/docs/kpod-images.1.md) | List images in local storage | -| [kpod-info(1)](/docs/kpod-info.1.md) | Display system information | -| [kpod-inspect(1)](/docs/kpod-inspect.1.md) | Display the configuration of a container or image | -| [kpod-load(1)](/docs/kpod-load.1.md) | Load an image from docker archive or oci | -| [kpod-logs(1)](/docs/kpod-logs.1.md) | Display the logs of a container | -| [kpod-mount(1)](/docs/kpod-mount.1.md) | Mount a working container's root filesystem | -| [kpod-pull(1)](/docs/kpod-pull.1.md) | Pull an image from a registry | -| [kpod-push(1)](/docs/kpod-push.1.md) | Push an image to a specified destination | -| [kpod-rmi(1)](/docs/kpod-rmi.1.md) | Removes one or more images | -| [kpod-save(1)](/docs/kpod-save.1.md) | Saves an image to an archive | -| [kpod-stats(1)](/docs/kpod-stats.1.md) | Display a live stream of one or more containers' resource usage statistics | -| [kpod-tag(1)](/docs/kpod-tag.1.md) | Add an additional name to a local image | -| [kpod-umount(1)](/docs/kpod-umount.1.md) | Unmount a working container's root filesystem | -| [kpod-version(1)](/docs/kpod-version.1.md) | Display the Kpod version information | +| Command | Description | Demo| +| ---------------------------------------------------- | --------------------------------------------------------------------------|-----| +| [crio(8)](/docs/crio.8.md) | OCI Kubernetes Container Runtime daemon || +| [kpod(1)](/docs/kpod.1.md) | Simple management tool for pods and images || +| [kpod-cp(1)](/docs/kpod-cp.1.md) | Copy files/folders between a container and the local filesystem || +| [kpod-diff(1)](/docs/kpod-diff.1.md) | Inspect changes on a container or image's filesystem || +| [kpod-export(1)](/docs/kpod-export.1.md) | Export container's filesystem contents as a tar archive || +| [kpod-history(1)](/docs/kpod-history.1.md) | Shows the history of an image || +| [kpod-images(1)](/docs/kpod-images.1.md) | List images in local storage |[![...](/docs/play.png)](https://asciinema.org/a/133649)| +| [kpod-info(1)](/docs/kpod-info.1.md) | Display system information || +| [kpod-inspect(1)](/docs/kpod-inspect.1.md) | Display the configuration of a container or image |[![...](/docs/play.png)](https://asciinema.org/a/133418)| +| [kpod-load(1)](/docs/kpod-load.1.md) | Load an image from docker archive or oci |[![...](/docs/play.png)](https://asciinema.org/a/kp8kOaexEhEa20P1KLZ3L5X4g)| +| [kpod-logs(1)](/docs/kpod-logs.1.md) | Display the logs of a container || +| [kpod-mount(1)](/docs/kpod-mount.1.md) | Mount a working container's root filesystem || +| [kpod-pull(1)](/docs/kpod-pull.1.md) | Pull an image from a registry |[![...](/docs/play.png)](https://asciinema.org/a/lr4zfoynHJOUNu1KaXa1dwG2X)| +| [kpod-push(1)](/docs/kpod-push.1.md) | Push an image to a specified destination |[![...](/docs/play.png)](https://asciinema.org/a/133276)| +| [kpod-rename(1)](/docs/kpod-rename.1.md) | Rename a container || +| [kpod-rmi(1)](/docs/kpod-rmi.1.md) | Removes one or more images |[![...](/docs/play.png)](https://asciinema.org/a/133799)| +| [kpod-save(1)](/docs/kpod-save.1.md) | Saves an image to an archive |[![...](/docs/play.png)](https://asciinema.org/a/kp8kOaexEhEa20P1KLZ3L5X4g)| +| [kpod-stats(1)](/docs/kpod-stats.1.md) | Display a live stream of one or more containers' resource usage statistics|| +| [kpod-tag(1)](/docs/kpod-tag.1.md) | Add an additional name to a local image |[![...](/docs/play.png)](https://asciinema.org/a/133803)| +| [kpod-umount(1)](/docs/kpod-umount.1.md) | Unmount a working container's root filesystem || +| [kpod-version(1)](/docs/kpod-version.1.md) | Display the version information |[![...](/docs/play.png)](https://asciinema.org/a/mfrn61pjZT9Fc8L4NbfdSqfgu)| ## Configuration | File | Description | diff --git a/completions/bash/kpod b/completions/bash/kpod index e70fca27..ee7f037c 100644 --- a/completions/bash/kpod +++ b/completions/bash/kpod @@ -10,16 +10,53 @@ __kpod_list_containers() { COMPREPLY=($(compgen -W "$(kpod ps -aq)" -- $cur)) } -_kpod_history() { - local options_with_args=" +_kpod_diff() { + local options_with_args=" --format " - local boolean_options=" + local boolean_options=" + " + _complete_ "$options_with_args" "$boolean_options" + + case "$cur" in + -*) + COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) + ;; + *) + __kpod_list_images + ;; + esac +} + +_kpod_export() { + local options_with_args=" + --output + -o + " + local boolean_options=" + " + _complete_ "$options_with_args" "$boolean_options" + + case "$cur" in + -*) + COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) + ;; + *) + __kpod_list_images + ;; + esac +} + +_kpod_history() { + local options_with_args=" + --format + " + local boolean_options=" --human -H --no-trunc --quiet -q " - _complete_ "$options_with_args" "$boolean_options" + _complete_ "$options_with_args" "$boolean_options" case "$cur" in -*) @@ -47,6 +84,9 @@ _kpod_info() { -*) COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) ;; + *) + __kpod_list_images + ;; esac } @@ -76,12 +116,26 @@ _kpod_images() { esac } -_kpod_launch() { - local options_with_args=" +_kpod_inspect() { + local boolean_options=" + --help + -h " - local boolean_options=" - " - _complete_ "$options_with_args" "$boolean_options" + local options_with_args=" + --format + -f + --type + -t + --size + " + + local all_options="$options_with_args $boolean_options" + + case "$cur" in + -*) + COMPREPLY=($(compgen -W "$boolean_options $options_with_args" -- "$cur")) + ;; + esac } _kpod_logs() { @@ -314,15 +368,20 @@ _kpod_kpod() { --version -v " commands=" + diff + export history images info - launch + inspect load + logs mount pull push + rename rmi + save stats tag umount diff --git a/docs/kpod.1.md b/docs/kpod.1.md index d420ab40..d4635a45 100644 --- a/docs/kpod.1.md +++ b/docs/kpod.1.md @@ -70,6 +70,9 @@ Display a container or image's configuration ### load Load an image from docker archive +### logs +Display the logs of a container + ### mount Mount a working container's root filesystem @@ -88,6 +91,9 @@ Removes one or more locally stored images ### save Save an image to docker-archive or oci +### stats +Display a live stream of one or more containers' resource usage statistics + ### tag Add an additional name to a local image diff --git a/docs/play.png b/docs/play.png new file mode 100644 index 00000000..9be2868f Binary files /dev/null and b/docs/play.png differ diff --git a/transfer.md b/transfer.md index d197d43c..268a5785 100644 --- a/transfer.md +++ b/transfer.md @@ -27,9 +27,9 @@ Following provides equivalent with cri-o tools for gathering information or jump | `docker exec` | [`crioctl ctr exec`](./docs/crio.8.md) | | `docker info` | [`kpod info`](./docs/kpod-info.1.md) | | `docker inspect` | [`kpod inspect`](./docs/kpod-inspect.1.md) | -| `docker logs` | `journalctl ...` | +| `docker logs` | [`kpod logs`](./docs/kpod-logs.1.md) | | `docker ps` | [`crioctl ctr list`](./docs/crio.8.md) or [`runc list`](https://github.com/opencontainers/runc/blob/master/man/runc-list.8.md) | -| `docker stats` | `crioctl ctr status`| +| `docker stats` | [`kpod stats`](./docs/kpod-stats.1.md) or `crioctl ctr status`| If you were already using steps like `kubectl exec` (or `oc exec` on OpenShift), they will continue to function the same way. @@ -48,6 +48,7 @@ There are other equivalents for these tools | `docker load` | [`kpod load`](./docs/kpod-load.1.md) | | `docker pull` | [`kpod pull`](./docs/kpod-pull.1.md) | | `docker push` | [`kpod push`](./docs/kpod-push.1.md) | +| `docker rename` | [`kpod rename`](./docs/kpod-rename.1.md) | | `docker rmi` | [`kpod rmi`](./docs/kpod-rmi.1.md) | | `docker save` | [`kpod save`](./docs/kpod-save.1.md) | | `docker tag` | [`kpod tag`](./docs/kpod-tag.1.md) |