nvidia-container-toolkit/cmd/nvidia-cdi-hook
Avi Deitcher 179d8655f9 Move nvidia-ctk hook command into own binary
This change creates an nvidia-cdi-hook binary for implementing
CDI hooks. This allows for these hooks to be separated from the
nvidia-ctk command which may, for example, require libnvidia-ml
to support other functionality.

The nvidia-ctk hook subcommand is maintained as an alias for the
time being to allow for existing CDI specifications referring to
this path to work as expected.

Signed-off-by: Avi Deitcher <avi@deitcher.net>
2024-05-21 12:19:44 +02:00
..
chmod Move nvidia-ctk hook command into own binary 2024-05-21 12:19:44 +02:00
commands Move nvidia-ctk hook command into own binary 2024-05-21 12:19:44 +02:00
create-symlinks Move nvidia-ctk hook command into own binary 2024-05-21 12:19:44 +02:00
update-ldcache Move nvidia-ctk hook command into own binary 2024-05-21 12:19:44 +02:00
main.go Move nvidia-ctk hook command into own binary 2024-05-21 12:19:44 +02:00
README.md Move nvidia-ctk hook command into own binary 2024-05-21 12:19:44 +02:00

NVIDIA CDI Hook

The CLI nvidia-cdi-hook provides container device runtime hook capabilities when called by a container runtime, as specific in a Container Device Interface file.

Generating a CDI

The CDI itself is created for an NVIDIA-capable device using the nvidia-ctk cdi generate command.

When nvidia-ctk cdi generate is run, the CDI specification is generated as a yaml file. The CDI specification provides instructions for a container runtime to set up devices, files and other resources for the container prior to starting it. Those instructions may include executing command-line tools to prepare the filesystem. The execution of such command-line tools is called a hook.

nvidia-cdi-hook is the CLI tool that is expected to be called by the container runtime, when specified by the CDI file.

See the nvidia-ctk documentation for more information on generating a CDI file.

Functionality

The nvidia-cdi-hook CLI provides the following functionality:

  • chmod - Change the permissions of a file or directory inside the directory path to be mounted into a container.
  • create-symlinks - Create symlinks inside the directory path to be mounted into a container.
  • update-ldcache - Update the dynamic linker cache inside the directory path to be mounted into a container.