Files
kata-containers/src/tools/kata-ctl
James O. D. Hunt 5637f11a8c kata-ctl: Add option to dump config files
Add a `--show-default-config-paths` command line option for parity with
`kata-runtime`.

Note that this requires the `KataCtlCli.command` to be optional so that
the user can run simply:

```bash
$ kata-ctl --show-default-config-paths
```

... without also specifying a (sub-)command.

Fixes: #8640.

Signed-off-by: James O. D. Hunt <james.o.hunt@intel.com>
2023-12-12 14:20:04 +00:00
..
2022-10-25 20:34:40 -07:00

Kata Containers control tool

Overview

The kata-ctl tool is a rust rewrite of the kata-runtime utility program.

The program provides a number of utility commands for:

  • Using advanced Kata Containers features.
  • Problem determination and debugging.

Audience and environment

Users and administrators.

Build the tool

$ make

Install the tool

$ make install

If you would like to install the tool to a specific directory, then you can provide it through the INSTALL_PATH variable.

$ make install INSTALL_PATH=/path/to/your/custom/install/directory

Run the tool

$ kata-ctl ...

For example, to determine if your system is capable of running Kata Containers, run:

$ kata-ctl check all

Full details

For a usage statement, run:

$ kata-ctl --help

Cross-builds

For developers that want to build and test the kata-ctl tool on various architectures, the makefile included does have support for that. This would however, require installing the cross compile toolchain for the target architecture on the host along with required libraries.

Cross is an open source tool that offers zero setup cross compile and requires no changes to the system installation for cross-compiling rust binaries. It makes use of docker containers for cross-compilation.

You can install cross with:

cargo install -f cross

cross relies on docker or podman. For dependencies take a look at: https://github.com/cross-rs/cross#dependencies

There is an included cross configuration file Cross.yaml that can be used to compile kata-ctl for various targets. This configuration helps install required dependencies inside a docker container.

For example, to compile for target s390x-unknown-linux-gnu included in Cross.yaml simple run:

cross build --target=s390x-unknown-linux-gnu

You may also need to add the target on your host system prior to the above step as:

rustup target add s390x-unknown-linux-gnu

Documentation for included tools:

| Component | Description | | log-parser | Tool that aid in analyzing logs from the kata runtime. |