mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-11 06:03:57 +08:00
43b36dc4ac
Wire through CRIU's support to change the mount context on restore. This is especially useful if restoring a container in a different pod. Single container restore uses the same SELinux process label and same mount context as during checkpointing. If a container is being restored into an existing pod the process label and the mount context needs to be changed to the context of the pod. Changing process label on restore is already supported by runc. This patch adds the possibility to change the mount context. Signed-off-by: Adrian Reber <areber@redhat.com>
35 lines
1.9 KiB
Go
35 lines
1.9 KiB
Go
package libcontainer
|
|
|
|
import criu "github.com/checkpoint-restore/go-criu/v5/rpc"
|
|
|
|
type CriuPageServerInfo struct {
|
|
Address string // IP address of CRIU page server
|
|
Port int32 // port number of CRIU page server
|
|
}
|
|
|
|
type VethPairName struct {
|
|
ContainerInterfaceName string
|
|
HostInterfaceName string
|
|
}
|
|
|
|
type CriuOpts struct {
|
|
ImagesDirectory string // directory for storing image files
|
|
WorkDirectory string // directory to cd and write logs/pidfiles/stats to
|
|
ParentImage string // directory for storing parent image files in pre-dump and dump
|
|
LeaveRunning bool // leave container in running state after checkpoint
|
|
TcpEstablished bool // checkpoint/restore established TCP connections
|
|
ExternalUnixConnections bool // allow external unix connections
|
|
ShellJob bool // allow to dump and restore shell jobs
|
|
FileLocks bool // handle file locks, for safety
|
|
PreDump bool // call criu predump to perform iterative checkpoint
|
|
PageServer CriuPageServerInfo // allow to dump to criu page server
|
|
VethPairs []VethPairName // pass the veth to criu when restore
|
|
ManageCgroupsMode criu.CriuCgMode // dump or restore cgroup mode
|
|
EmptyNs uint32 // don't c/r properties for namespace from this mask
|
|
AutoDedup bool // auto deduplication for incremental dumps
|
|
LazyPages bool // restore memory pages lazily using userfaultfd
|
|
StatusFd int // fd for feedback when lazy server is ready
|
|
LsmProfile string // LSM profile used to restore the container
|
|
LsmMountContext string // LSM mount context value to use during restore
|
|
}
|