diff --git a/oci/container.go b/oci/container.go index dddc7987..8eaf292b 100644 --- a/oci/container.go +++ b/oci/container.go @@ -45,6 +45,14 @@ type Container struct { stopSignal string imageName string imageRef string + volumes []ContainerVolume +} + +// ContainerVolume is a bind mount for the container. +type ContainerVolume struct { + ContainerPath string `json:"container_path"` + HostPath string `json:"host_path"` + Readonly bool `json:"readonly"` } // ContainerState represents the status of a container. @@ -198,3 +206,14 @@ func (c *Container) State() *ContainerState { defer c.opLock.Unlock() return c.state } + +// AddVolume adds a volume to list of container volumes. +func (c *Container) AddVolume(v ContainerVolume) { + c.volumes = append(c.volumes, v) +} + +// Volumes returns the list of container volumes. +func (c *Container) Volumes() []ContainerVolume { + return c.volumes + +} diff --git a/pkg/annotations/annotations.go b/pkg/annotations/annotations.go index 0cdba43c..0b8a5ea1 100644 --- a/pkg/annotations/annotations.go +++ b/pkg/annotations/annotations.go @@ -69,6 +69,9 @@ const ( // StdinOnce is the stdin_once annotation StdinOnce = "io.kubernetes.cri-o.StdinOnce" + + // Volumes is the volumes annotatoin + Volumes = "io.kubernetes.cri-o.Volumes" ) // ContainerType values