automation-tests/cmd/podman/common/create_opts.go

92 lines
2.2 KiB
Go

package common
import (
"github.com/containers/podman/v5/cmd/podman/registry"
"github.com/containers/podman/v5/libpod/define"
"github.com/containers/podman/v5/pkg/domain/entities"
)
func ulimits() []string {
if !registry.IsRemote() {
return podmanConfig.ContainersConfDefaultsRO.Ulimits()
}
return nil
}
func cgroupConfig() string {
if !registry.IsRemote() {
return podmanConfig.ContainersConfDefaultsRO.Cgroups()
}
return ""
}
func devices() []string {
if !registry.IsRemote() {
return podmanConfig.ContainersConfDefaultsRO.Devices()
}
return nil
}
func Env() []string {
if !registry.IsRemote() {
return podmanConfig.ContainersConfDefaultsRO.Env()
}
return nil
}
func pidsLimit() int64 {
if !registry.IsRemote() {
return podmanConfig.ContainersConfDefaultsRO.PidsLimit()
}
return -1
}
func policy() string {
if !registry.IsRemote() {
return podmanConfig.ContainersConfDefaultsRO.Engine.PullPolicy
}
return ""
}
func shmSize() string {
if !registry.IsRemote() {
return podmanConfig.ContainersConfDefaultsRO.ShmSize()
}
return ""
}
func volumes() []string {
if !registry.IsRemote() {
return podmanConfig.ContainersConfDefaultsRO.Volumes()
}
return nil
}
func LogDriver() string {
if !registry.IsRemote() {
return podmanConfig.ContainersConfDefaultsRO.Containers.LogDriver
}
return ""
}
// DefineCreateDefaults is used to initialize ctr create options before flag initialization
func DefineCreateDefaults(opts *entities.ContainerCreateOptions) {
opts.LogDriver = LogDriver()
opts.CgroupsMode = cgroupConfig()
opts.MemorySwappiness = -1
opts.ImageVolume = podmanConfig.ContainersConfDefaultsRO.Engine.ImageVolumeMode
opts.Pull = policy()
opts.ReadWriteTmpFS = true
opts.SdNotifyMode = define.SdNotifyModeContainer
opts.StopTimeout = podmanConfig.ContainersConfDefaultsRO.Engine.StopTimeout
opts.Systemd = "true"
opts.Timezone = podmanConfig.ContainersConfDefaultsRO.TZ()
opts.Umask = podmanConfig.ContainersConfDefaultsRO.Umask()
opts.Ulimit = ulimits()
opts.SeccompPolicy = "default"
opts.Volume = volumes()
opts.HealthLogDestination = define.DefaultHealthCheckLocalDestination
opts.HealthMaxLogCount = define.DefaultHealthMaxLogCount
opts.HealthMaxLogSize = define.DefaultHealthMaxLogSize
}