kata-containers/src/tools/kata-ctl
stevenhorsman d3e0ecc394 kata-ctl: Allow empty const
Due to the way that multi-arch support is done, on various platforms
we will get a clippy error:
```
error: this expression always evaluates to false
```
which might not be true on those other platforms, so
allow this code pattern to suppress the clippy error

Signed-off-by: stevenhorsman <steven@uk.ibm.com>
2025-02-06 08:53:51 +00:00
..
src kata-ctl: Allow empty const 2025-02-06 08:53:51 +00:00
.gitignore gitignore: Add gitignore file 2022-10-25 20:34:40 -07:00
Cargo.lock cargo: Update time crate 2025-02-05 15:16:47 +00:00
Cargo.toml deps: Update ttrpc to v0.8.4 2025-01-22 13:05:43 +01:00
Cross.toml cross-compile: Include documentation and configuration for cross-compile 2023-05-04 14:13:00 -07:00
Makefile build: allow rootfs builds w/o git or VERSION file deps 2024-06-13 22:46:52 +00:00
README.md kata-ctl: Moved log-parser-rs into kata-ctl 2023-12-07 21:35:28 -06:00
VERSION versions: Add kata-ctl version entry 2022-10-10 13:42:35 +01: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. |