mirror of
https://github.com/aljazceru/kata-containers.git
synced 2026-01-04 15:04:25 +01:00
hook: Move OCI hooks handling to the CLI
The CLI being the implementation of the OCI specification, and the hooks being OCI specific, it makes sense to move the handling of any OCI hooks to the CLI level. This changes allows the Kata API to become OCI agnostic. Fixes #599 Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
This commit is contained in:
@@ -157,43 +157,6 @@ func cmdEnvs(spec CompatOCISpec, envs []vc.EnvVar) []vc.EnvVar {
|
||||
return envs
|
||||
}
|
||||
|
||||
func newHook(h spec.Hook) vc.Hook {
|
||||
timeout := 0
|
||||
if h.Timeout != nil {
|
||||
timeout = *h.Timeout
|
||||
}
|
||||
|
||||
return vc.Hook{
|
||||
Path: h.Path,
|
||||
Args: h.Args,
|
||||
Env: h.Env,
|
||||
Timeout: timeout,
|
||||
}
|
||||
}
|
||||
|
||||
func containerHooks(spec CompatOCISpec) vc.Hooks {
|
||||
ociHooks := spec.Hooks
|
||||
if ociHooks == nil {
|
||||
return vc.Hooks{}
|
||||
}
|
||||
|
||||
var hooks vc.Hooks
|
||||
|
||||
for _, h := range ociHooks.Prestart {
|
||||
hooks.PreStartHooks = append(hooks.PreStartHooks, newHook(h))
|
||||
}
|
||||
|
||||
for _, h := range ociHooks.Poststart {
|
||||
hooks.PostStartHooks = append(hooks.PostStartHooks, newHook(h))
|
||||
}
|
||||
|
||||
for _, h := range ociHooks.Poststop {
|
||||
hooks.PostStopHooks = append(hooks.PostStopHooks, newHook(h))
|
||||
}
|
||||
|
||||
return hooks
|
||||
}
|
||||
|
||||
func newMount(m spec.Mount) vc.Mount {
|
||||
return vc.Mount{
|
||||
Source: m.Source,
|
||||
@@ -517,8 +480,6 @@ func SandboxConfig(ocispec CompatOCISpec, runtime RuntimeConfig, bundlePath, cid
|
||||
|
||||
Hostname: ocispec.Hostname,
|
||||
|
||||
Hooks: containerHooks(ocispec),
|
||||
|
||||
VMConfig: resources,
|
||||
|
||||
HypervisorType: runtime.HypervisorType,
|
||||
|
||||
Reference in New Issue
Block a user