add file
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package libpod
|
||||
|
||||
import "github.com/containers/podman/v5/libpod/define"
|
||||
|
||||
type ClientInfo struct {
|
||||
OSArch string `json:"OS"`
|
||||
Provider string `json:"provider"`
|
||||
Version string `json:"version"`
|
||||
BuildOrigin string `json:"buildOrigin,omitempty" yaml:",omitempty"`
|
||||
}
|
||||
|
||||
func GetClientInfo() (*ClientInfo, error) {
|
||||
p, err := getProvider()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
vinfo, err := define.GetVersion()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &ClientInfo{
|
||||
OSArch: vinfo.OsArch,
|
||||
Provider: p,
|
||||
Version: vinfo.Version,
|
||||
BuildOrigin: vinfo.BuildOrigin,
|
||||
}, nil
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
//go:build amd64 || arm64
|
||||
|
||||
package libpod
|
||||
|
||||
import (
|
||||
"github.com/containers/podman/v5/pkg/machine/provider"
|
||||
)
|
||||
|
||||
func getProvider() (string, error) {
|
||||
p, err := provider.Get()
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return p.VMType().String(), nil
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package libpod
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"syscall"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
func setRLimits() error {
|
||||
rlimits := new(syscall.Rlimit)
|
||||
if err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, rlimits); err != nil {
|
||||
return fmt.Errorf("getting rlimits: %w", err)
|
||||
}
|
||||
rlimits.Cur = rlimits.Max
|
||||
if err := syscall.Setrlimit(syscall.RLIMIT_NOFILE, rlimits); err != nil {
|
||||
return fmt.Errorf("setting new rlimits: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func setUMask() {
|
||||
// Be sure we can create directories with 0755 mode.
|
||||
syscall.Umask(0022)
|
||||
}
|
||||
|
||||
func earlyInitHook() {
|
||||
if err := setRLimits(); err != nil {
|
||||
logrus.Errorf("Failed to set rlimits: %v", err)
|
||||
}
|
||||
|
||||
setUMask()
|
||||
}
|
||||
Reference in New Issue
Block a user