mirror of
https://github.com/containers/podman.git
synced 2026-03-18 22:57:36 -04:00
Vendor in the latest HEAd of containers/common to implicitly support the tag@digest notation for images. To remain compatible with Docker, the tag will be stripped off the image reference and is entirely ignored. Fixes: #6721 Signed-off-by: Valentin Rothberg <rothberg@redhat.com>
59 lines
992 B
Go
59 lines
992 B
Go
// +build systemd
|
|
|
|
package config
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"strings"
|
|
"sync"
|
|
|
|
"github.com/containers/common/pkg/cgroupv2"
|
|
"github.com/containers/storage/pkg/unshare"
|
|
)
|
|
|
|
var (
|
|
systemdOnce sync.Once
|
|
usesSystemd bool
|
|
)
|
|
|
|
func defaultCgroupManager() string {
|
|
if !useSystemd() {
|
|
return CgroupfsCgroupsManager
|
|
}
|
|
enabled, err := cgroupv2.Enabled()
|
|
if err == nil && !enabled && unshare.IsRootless() {
|
|
return CgroupfsCgroupsManager
|
|
}
|
|
|
|
return SystemdCgroupsManager
|
|
}
|
|
|
|
func defaultEventsLogger() string {
|
|
if useSystemd() {
|
|
return "journald"
|
|
}
|
|
return "file"
|
|
}
|
|
|
|
func defaultLogDriver() string {
|
|
// If we decide to change the default for logdriver, it should be done here.
|
|
if useSystemd() {
|
|
return DefaultLogDriver
|
|
}
|
|
|
|
return DefaultLogDriver
|
|
|
|
}
|
|
|
|
func useSystemd() bool {
|
|
systemdOnce.Do(func() {
|
|
dat, err := ioutil.ReadFile("/proc/1/comm")
|
|
if err == nil {
|
|
val := strings.TrimSuffix(string(dat), "\n")
|
|
usesSystemd = (val == "systemd")
|
|
}
|
|
return
|
|
})
|
|
return usesSystemd
|
|
}
|