Skip to content

Latest commit

 

History

History
 
 

hook-injector

OCI Hook Injector Plugin

The OCI runtime configuration supports hooks, which are custom actions related to the lifecycle of a container. This plugin performs OCI hook injection into containers using the Hook Manager package of podman. CRI-O has native hook injection support using the same package. This plugin essentially achieves CRI-O compatible OCI hook injection for other runtimes using NRI.

Testing

You can test this plugin using a Kubernetes cluster/node with a container runtime that has NRI support enabled (Enabling NRI in Containerd). Once you've enabled NRI on your runtime, you can use the sample hook configuration, placing it at /etc/containers/oci/hooks.d, and the sample hook, placing it at /usr/local/sbin/.

Note: OCI hook configuration details and default file paths can be found in the OCI Configuration Package Documentation

Start the plugin directly on the target node by running hook-injector -idx 10 from the folder containing the binary. Alternatively, you can create a symbolic link to the hook-injector binary in the plugin path configured for the runtime, with the idx as the prefix (ex. 10-hook-injector)

Additional details on hook configuration can be found in the OCI hook configuration documentation.

Finally, create a test pod using the sample pod spec and check for the log output of the hook, which will be at /tmp/demo-hook.log