nvidia-container-toolkit/cmd/nvidia-cdi-hook
Evan Lezar 267fb5987f
Some checks failed
CodeQL / Analyze Go code with CodeQL (push) Has been cancelled
Golang / check (push) Has been cancelled
Golang / Unit test (push) Has been cancelled
Golang / Build (push) Has been cancelled
image / packages (${{github.event_name == 'pull_request'}}, centos7-aarch64) (push) Has been cancelled
image / packages (${{github.event_name == 'pull_request'}}, centos7-x86_64) (push) Has been cancelled
image / packages (${{github.event_name == 'pull_request'}}, centos8-ppc64le) (push) Has been cancelled
image / packages (${{github.event_name == 'pull_request'}}, ubuntu18.04-amd64) (push) Has been cancelled
image / packages (${{github.event_name == 'pull_request'}}, ubuntu18.04-arm64) (push) Has been cancelled
image / packages (${{github.event_name == 'pull_request'}}, ubuntu18.04-ppc64le) (push) Has been cancelled
image / image (packaging, ${{github.event_name == 'pull_request'}}) (push) Has been cancelled
image / image (ubi8, ${{github.event_name == 'pull_request'}}) (push) Has been cancelled
image / image (ubuntu20.04, ${{github.event_name == 'pull_request'}}) (push) Has been cancelled
Merge pull request #950 from elezar/seal-ldconfig
Use memfd when running ldconfig
2025-02-28 22:12:57 +02:00
..
chmod Move nvidia-ctk hook command into own binary 2024-05-21 12:19:44 +02:00
commands Add enable-cuda-compat hook to allow compat libs to be discovered 2025-02-27 17:26:15 +02:00
create-symlinks Force symlink creation in create-symlink hook 2024-11-05 09:39:11 -08:00
cudacompat Add enable-cuda-compat hook if required 2025-02-27 17:26:15 +02:00
update-ldcache Use libcontainer execseal to run ldconfig 2025-02-28 14:47:31 +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.