# Functions
CopyStringStringMap deep copies a map[string]string and returns the result.
FuncTimer helps measure the execution time of a function For debug purposes, do not leave in code used like defer FuncTimer("foo").
GetContainerPidInformationDescriptors returns a string slice of all supported format descriptors of GetContainerPidInformation.
GetPolicyContext creates a signature policy context for the given signature policy path.
GetV1CGroups gets the V1 cgroup subsystems and then "filters" out any subsystems that are provided by the caller.
GetVersion returns a VersionOutput struct for varlink and podman.
MountExists returns true if dest exists in the list of mounts.
NewBoltState creates a new bolt-backed state database.
NewInMemoryState initializes a new, empty in-memory state.
NewRuntime creates a new container runtime Options can be passed to override the default configuration for the runtime.
NewRuntimeFromConfig creates a new container runtime using the given configuration file for its default configuration.
OpenExclusiveFile opens a file for writing and ensure it doesn't already exist.
RemoveScientificNotationFromFloat returns a float without any scientific notation if the number has any.
SetXdgRuntimeDir ensures the XDG_RUNTIME_DIR env variable is set containers/image uses XDG_RUNTIME_DIR to locate the auth file.
WaitForFile waits until a file has been created or the given timeout has occurred.
WithCgroupManager specifies the manager implementation name which is used to handle cgroups for containers.
WithCgroupNSFrom indicates the the container should join the CGroup namespace of the given container.
WithCgroupParent sets the Cgroup Parent of the new container.
WithCNIConfigDir sets the CNI configuration directory.
WithCNIPluginDir sets the CNI plugins directory.
WithCommand sets the command of the container.
WithConmonEnv specifies the environment variable list for the conmon process.
WithConmonPath specifies the path to the conmon binary which manages the runtime.
WithConmonPidFile specifies the path to the file that receives the pid of conmon.
WithCtrNamespace sets the namespace the container will be created in.
WithDefaultInfraCommand sets the command to run on pause container start up.
WithDefaultInfraImage sets the infra image for libpod.
WithDefaultMountsFile sets the file to look at for default mounts (mainly secrets).
WithDefaultTransport sets the default transport for retrieving images.
WithDependencyCtrs sets dependency containers of the given container.
WithDNS sets additional name servers for the container.
WithDNSOption sets addition dns options for the container.
WithDNSSearch sets the additional search domains of a container.
WithEntrypoint sets the entrypoint of the container.
WithExitCommand sets the ExitCommand for the container, appending on the ctr.ID() to the end.
WithGroups sets additional groups for the container, which are defined by the user.
WithHooksDir sets the directories to look for OCI runtime hook configuration.
WithHosts sets additional host:IP for the hosts file.
WithIDMappings sets the idmappsings for the container.
WithInfraContainer tells the pod to create a pause container.
WithInfraContainerPorts tells the pod to add port bindings to the pause container.
WithIPCNSFrom indicates the the container should join the IPC namespace of the given container.
WithLabels adds labels to the container.
WithLocalVolumes sets the built-in volumes of the container retrieved from a container passed in to the --volumes-from flag.
WithLogPath sets the path to the log file.
WithMaxLogSize sets the maximum size of container logs.
WithMountNSFrom indicates the the container should join the mount namespace of the given container.
WithName sets the container's name.
WithNamespace sets the namespace for libpod.
WithNetNS indicates that the container should be given a new network namespace with a minimal configuration.
WithNetNSFrom indicates the the container should join the network namespace of the given container.
WithNoPivotRoot sets the runtime to use MS_MOVE instead of PIVOT_ROOT when starting containers.
WithOCIRuntime specifies an OCI runtime to use for running containers.
WithPIDNSFrom indicates the the container should join the PID namespace of the given container.
WithPodCgroupParent sets the Cgroup Parent of the pod.
WithPodCgroups tells containers in this pod to use the cgroup created for this pod.
WithPodIPC tells containers in this pod to use the ipc namespace created for this pod.
WithPodLabels sets the labels of a pod.
WithPodMount tells containers in this pod to use the mount namespace created for this pod.
WithPodName sets the name of the pod.
WithPodNamespace sets the namespace for the created pod.
WithPodNet tells containers in this pod to use the network namespace created for this pod.
WithPodPID tells containers in this pod to use the pid namespace created for this pod.
WithPodUser tells containers in this pod to use the user namespace created for this pod.
WithPodUTS tells containers in this pod to use the uts namespace created for this pod.
WithPrivileged sets the privileged flag in the container runtime.
WithRootFS sets the rootfs for the container.
WithRootFSFromImage sets up a fresh root filesystem using the given image.
WithSecLabels sets the labels for SELinux.
WithShmDir sets the directory that should be mounted on /dev/shm.
WithShmSize sets the size of /dev/shm tmpfs mount.
WithSignaturePolicy specifies the path of a file which decides how trust is managed for images we've pulled.
WithStateType sets the backing state implementation for libpod.
WithStaticDir sets the directory that static runtime files which persist across reboots will be stored.
WithStaticIP indicates that the container should request a static IP from the CNI plugins.
WithStdin keeps stdin on the container open to allow interaction.
WithStopSignal sets the signal that will be sent to stop the container.
WithStopTimeout sets the time to after initial stop signal is sent to the container, before sending the kill signal.
WithStorageConfig uses the given configuration to set up container storage.
WithSystemd turns on systemd mode in the container.
WithTmpDir sets the directory that temporary runtime files which are not expected to survive across reboots will be stored.
WithUser sets the user identity field in configutation.
WithUserNSFrom indicates the the container should join the user namespace of the given container.
WithUserVolumes sets the user-added volumes of the container.
WithUTSNSFrom indicates the the container should join the UTS namespace of the given container.
WithUTSNSFromPod indicates the the container should join the UTS namespace of its pod.
WithVolumeDriver sets the driver of the volume.
WithVolumeLabels sets the labels of the volume.
WithVolumeName sets the name of the volume.
WithVolumeOptions sets the options of the volume.
WithVolumePath sets the path under which all named volumes should be created.
# Constants
BoltDBStateStore is a state backed by a BoltDB database.
CgroupfsCgroupsManager represents cgroupfs native cgroup manager.
CgroupfsDefaultCgroupParent is the cgroup parent for CGroupFS in libpod.
CgroupNS is the CGroup namespace.
ConfigPath is the path to the libpod configuration file This file is loaded to replace the builtin default config before runtime options (e.g.
ContainerCreateTimeout represents the value of container creating timeout.
ContainerStateConfigured indicates that the container has had its storage configured but it has not been created in the OCI runtime.
ContainerStateCreated indicates the container has been created in the OCI runtime but not started.
ContainerStateExited indicates the the container has stopped and been cleaned up.
ContainerStatePaused indicates that the container has been paused.
ContainerStateRunning indicates the container is currently executing.
ContainerStateStopped indicates that the container was running but has exited.
ContainerStateUnknown indicates that the container is in an error state where information about it cannot be retrieved.
CtrRemoveTimeout is the default number of seconds to wait after stopping a container before sending the kill signal.
DefaultInfraCommand to be run in an infra container.
DefaultInfraImage to use for infra container.
DefaultShmSize is the default shm size.
DefaultTransport is a prefix that we apply to an image name to check docker hub first for the image.
DefaultWaitInterval is the default interval between container status checks while waiting.
IDTruncLength is the length of the pod's id that will be used to make the infra container name.
InMemoryStateStore is an in-memory state that will not persist data on containers and pods between libpod instances or after system reboot.
InvalidNS is an invalid namespace.
InvalidStateStore is an invalid state store.
IPCNS is the IPC namespace.
MountNS is the mount namespace.
MountPrivate represents the private mount option.
MountRPrivate represents the rprivate mount option.
MountRShared represents the rshared mount option.
MountRSlave represents the rslave mount option.
MountShared represents the shared mount option.
MountSlave represents the slave mount option.
NetNS is the network namespace.
NsRunDir is the default directory in which running network namespaces are stored.
OverrideConfigPath is the path to an override for the default libpod configuration file.
PIDNS is the PID namespace.
SeccompDefaultPath defines the default seccomp path.
SeccompOverridePath if this exists it overrides the default seccomp path.
SQLiteStateStore is a state backed by a SQLite database It is presently disabled.
SystemdCgroupsManager represents systemd native cgroup manager.
SystemdDefaultCgroupParent is the cgroup parent for the systemd cgroup manager in libpod.
UserNS is the user namespace.
UTSNS is the UTS namespace.
# Variables
ChangeCmds is the list of valid Changes commands to passed to the Commit call.
ErrCtrExists indicates a container with the same name or ID already exists.
ErrCtrFinalized indicates that the container has already been created and cannot be modified.
ErrCtrRemoved indicates that the container has already been removed and no further operations can be performed on it.
ErrCtrStateInvalid indicates a container is in an improper state for the requested operation.
ErrCtrStopped indicates that the requested container is not running and the requested operation cannot be performed until it is started.
ErrDBBadConfig indicates that the database has a different schema or was created by a libpod with a different config.
ErrDBClosed indicates that the connection to the state database has already been closed.
ErrEmptyID indicates that an empty ID was passed.
ErrImageExists indicates an image with the same ID already exists.
ErrInternal indicates an internal library error.
ErrInvalidArg indicates that an invalid argument was passed.
ErrNoSuchCtr indicates the requested container does not exist.
ErrNoSuchImage indicates the requested image does not exist.
ErrNoSuchPod indicates the requested pod does not exist.
ErrNoSuchVolume indicates the requested volume does not exist.
ErrNotImplemented indicates that the requested functionality is not yet present.
ErrNSMismatch indicates that the requested pod or container is in a different namespace and cannot be accessed or modified.
ErrOSNotSupported indicates the function is not available on the particular OS.
ErrPodExists indicates a pod with the same name or ID already exists.
ErrPodFinalized indicates that the pod has already been created and cannot be modified.
ErrPodRemoved indicates that the pod has already been removed and no further operations can be performed on it.
ErrRuntimeFinalized indicates that the runtime has already been created and cannot be modified.
ErrRuntimeStopped indicates that the runtime has already been shut down and no further operations can be performed on it.
ErrVolumeBeingUsed indicates that a volume is being used by at least one container.
ErrVolumeExists indicates a volume with the same name already exists.
ErrVolumeFinalized indicates that the volume has already been created and cannot be modified.
ErrVolumeRemoved indicates that the volume has already been removed and no further operations can be performed on it.
# Structs
BoltState is a state implementation backed by a Bolt DB.
Container is a single OCI container.
ContainerCheckpointOptions is a struct used to pass the parameters for checkpointing (and restoring) to the corresponding functions.
ContainerCommitOptions is a struct used to commit a container to an image It uses buildah's CommitOptions as a base.
ContainerConfig contains all information that was used to create the container.
ContainerInfo wraps a subset of information about a container: the locations of its nonvolatile and volatile per-container directories, along with a copy of the configuration blob from the image that was used to create the container, if the image had a configuration.
ContainerStats contains the statistics information for a running container.
CopyOptions contains the options given when pushing or pulling images.
DBConfig is a set of Libpod runtime configuration settings that are saved in a State when it is first created, and can subsequently be retrieved.
ExecSession contains information on an active exec session easyjson:json.
InfoData holds the info type, i.e store, host etc and the data for each type.
InfraContainerConfig is the configuration for the pod's infra container.
An InMemoryState is a purely in-memory state store.
OCIRuntime represents an OCI-compatible runtime that libpod can call into to perform container operations.
Pod represents a group of containers that are managed together.
PodConfig represents a pod's static configuration easyjson:json.
PodContainerInfo keeps information on a container in a pod easyjson:json.
PodContainerStats is an organization struct for pods and their containers.
PodInspect represents the data we want to display for podman pod inspect easyjson:json.
PodInspectState contains inspect data on the pod's state easyjson:json.
Runtime is the core libpod runtime.
RuntimeConfig contains configuration options used to set up the runtime.
RuntimeContainerMetadata is the structure that we encode as JSON and store in the metadata field of storage.Container objects.
Version is an output struct for varlink.
Volume is the type used to create named volumes TODO: all volumes should be created using this and the Volume API.
VolumeConfig holds the volume's config informationeasyjson:json.
# Interfaces
State is a storage backend for libpod's current state.
# Type aliases
ContainerFilter is a function to determine whether a container is included in command output.
ContainerStatus represents the current state of a container.
A CtrCreateOption is a functional option which alters the Container created by NewContainer.
LinuxNS represents a Linux namespace.
A PodCreateOption is a functional option which alters the Pod created by NewPod.
PodFilter is a function to determine whether a pod is included in command output.
A RuntimeOption is a functional option which alters the Runtime created by NewRuntime.
RuntimeStateStore is a constant indicating which state store implementation should be used by libpod.
A VolumeCreateOption is a functional option which alters the Volume created by NewVolume.
VolumeFilter is a function to determine whether a volume is included in command output.