@@ -250,17 +250,23 @@ _Note: For Solaris, uid and gid specify the uid and gid of the process inside th
250250
251251** ` hooks ` ** (object, optional) configures callbacks for container lifecycle events.
252252Lifecycle hooks allow custom events for different points in a container's runtime.
253- Presently there are ` Prestart ` , ` Poststart ` and ` Poststop ` .
254253
255- * [ ` Prestart ` ] ( #prestart ) is a list of hooks to be run before the container process is executed
256- * [ ` Poststart ` ] ( #poststart ) is a list of hooks to be run immediately after the container process is started
257- * [ ` Poststop ` ] ( #poststop ) is a list of hooks to be run after the container process exits
254+ * ** ` hooks ` ** (object, optional) MAY contain any of the following properties:
255+ * ** ` prestart ` ** (array, optional) is an array of [ pre-start hooks] ( #prestart ) .
256+ Entries in the array contain the following properties:
257+ * ** ` path ` ** (string, required) with similar semantics to [ IEEE Std 1003.1-2001 ` execv ` 's * path* ] [ ieee-1003.1-2001-xsh-exec ] .
258+ This specification extends the IEEE standard in that ** ` path ` ** MUST be absolute.
259+ * ** ` args ` ** (array of strings, required) with the same semantics as [ IEEE Std 1003.1-2001 ` execv ` 's * argv* ] [ ieee-1003.1-2001-xsh-exec ] .
260+ * ** ` env ` ** (array of strings, optional) with the same semantics as [ IEEE Std 1003.1-2001's ` environ ` ] [ ieee-1003.1-2001-xbd-c8.1 ] .
261+ * ** ` timeout ` ** (int, optional) is the number of seconds before aborting the hook.
262+ * ** ` poststart ` ** (array, optional) is an array of [ post-start hooks] ( #poststart ) .
263+ Entries in the array have the same schema as pre-start entries.
264+ * ** ` poststop ` ** (array, optional) is an array of [ post-stop hooks] ( #poststop ) .
265+ Entries in the array have the same schema as pre-start entries.
258266
259267Hooks allow one to run code before/after various lifecycle events of the container.
260268Hooks MUST be called in the listed order.
261- The state of the container is passed to the hooks over stdin, so the hooks could get the information they need to do their work.
262-
263- Hook paths are absolute and are executed from the host's filesystem in the [ runtime namespace] [ runtime-namespace ] .
269+ The [ state] ( runtime.md#state ) of the container is passed to the hooks over stdin, so the hooks could get the information they need to do their work.
264270
265271### Prestart
266272
@@ -312,11 +318,6 @@ If a hook returns a non-zero exit code, then an error is logged and the remainin
312318 }
313319```
314320
315- ` path ` is required for a hook.
316- ` args ` and ` env ` are optional.
317- ` timeout ` is the number of seconds before aborting the hook.
318- The semantics are the same as ` Path ` , ` Args ` and ` Env ` in [ golang Cmd] ( https://golang.org/pkg/os/exec/#Cmd ) .
319-
320321## Annotations
321322
322323** ` annotations ` ** (object, optional) contains arbitrary metadata for the container.
0 commit comments