utils

package
v4.6.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 3, 2023 License: Apache-2.0 Imports: 20 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateTarFromSrc

func CreateTarFromSrc(source string, dest string) error

Creates a new tar file and wrties bytes from io.ReadCloser

func ExecCmd

func ExecCmd(name string, args ...string) (string, error)

ExecCmd executes a command with args and returns its output as a string along with an error, if any.

func ExecCmdWithStdStreams

func ExecCmdWithStdStreams(stdin io.Reader, stdout, stderr io.Writer, env []string, name string, args ...string) error

ExecCmdWithStdStreams execute a command with the specified standard streams.

func GetCgroupProcess

func GetCgroupProcess(pid int) (string, error)

GetCgroupProcess returns the cgroup for the specified process process.

func GetOwnCgroup

func GetOwnCgroup() (string, error)

GetOwnCgroup returns the cgroup for the current process.

func GetOwnCgroupDisallowRoot added in v4.1.1

func GetOwnCgroupDisallowRoot() (string, error)

func GetRandomPort

func GetRandomPort() (int, error)

Find a random, open port on the host.

func MaybeMoveToSubCgroup added in v4.2.0

func MaybeMoveToSubCgroup() error

MaybeMoveToSubCgroup moves the current process in a sub cgroup when it is running in the root cgroup on a system that uses cgroupv2.

func MovePauseProcessToScope

func MovePauseProcessToScope(pausePidPath string)

MovePauseProcessToScope moves the pause process used for rootless mode to keep the namespaces alive to a separate scope.

func MoveRootlessNetnsSlirpProcessToUserSlice

func MoveRootlessNetnsSlirpProcessToUserSlice(pid int) error

MoveRootlessNetnsSlirpProcessToUserSlice moves the slirp4netns process for the rootless netns into a different scope so that systemd does not kill it with a container.

func MoveUnderCgroupSubtree

func MoveUnderCgroupSubtree(subtree string) error

MoveUnderCgroupSubtree moves the PID under a cgroup subtree.

func RemoveScientificNotationFromFloat

func RemoveScientificNotationFromFloat(x float64) (float64, error)

RemoveScientificNotationFromFloat returns a float without any scientific notation if the number has any. golang does not handle conversion of float64s that have scientific notation in them and otherwise stinks. please replace this if you have a better implementation.

func RunUnderSystemdScope

func RunUnderSystemdScope(pid int, slice string, unitName string) error

RunUnderSystemdScope adds the specified pid to a systemd scope

func RunsOnSystemd

func RunsOnSystemd() bool

RunsOnSystemd returns whether the system is using systemd

func Tar

func Tar(source string) (io.ReadCloser, error)

Tar creates a tarball from source and returns a readcloser of it

func TarChrootToFilesystem added in v4.4.2

func TarChrootToFilesystem(source string, tarball *os.File) error

TarChrootToFilesystem creates a tarball from source and writes to an os.file provided while chrooted to the source.

func TarToFilesystem

func TarToFilesystem(source string, tarball *os.File) error

TarToFilesystem creates a tarball from source and writes to an os.file provided

func TarWithChroot added in v4.4.2

func TarWithChroot(source string) (io.ReadCloser, error)

TarWithChroot creates a tarball from source and returns a readcloser of it while chrooted to the source.

func UntarToFileSystem

func UntarToFileSystem(dest string, tarball *os.File, options *archive.TarOptions) error

UntarToFileSystem untars an os.file of a tarball to a destination in the filesystem

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL