Documentation
¶
Index ¶
- Constants
- func QuadletUnit(labels map[string]string) string
- type AutoUpdateMode
- type AutoUpdateOptions
- type AutoUpdateReport
- type AutoUpdateResult
- type Container
- type Info
- type InfoConmon
- type InfoContainerStore
- type InfoDistribution
- type InfoHelperBinary
- type InfoHost
- type InfoIDMap
- type InfoIDMappings
- type InfoImageStore
- type InfoNetworkBackend
- type InfoNetworkDNS
- type InfoOCIRuntime
- type InfoPlugins
- type InfoRegistries
- type InfoRemoteSocket
- type InfoSecurity
- type InfoStore
- type InfoVersion
- type KubeDownPod
- type KubeDownReport
- type KubeDownRequest
- type KubeGenerateRequest
- type KubeGenerateResponse
- type KubeGenerateType
- type KubePlayPod
- type KubePlayReport
- type KubePlayRequest
- type KubePlayVolume
- type Pod
- type PodActionRequest
- type PodContainer
- type PodCreateRequest
- type PodCreateResponse
- type PodDevice
- type PodDeviceLimit
- type PodInfraConfig
- type PodInspect
- type PodInspectContainer
- type PodMount
- type PodNetwork
- type PodPortBinding
- type PodPortMapping
- type PodPruneReport
- type PodStats
- type PodThrottleDevice
- type PodTop
- type PodVolume
- type PodWeightDevice
- type Quadlet
- type QuadletDetail
- type QuadletFile
- type QuadletInstallReport
- type QuadletInstallRequest
- type QuadletRemoveReport
- type QuadletType
- type QuadletUpdateRequest
- type Secret
- type SecretCreateRequest
- type SecretCreateResponse
- type SecretDriver
- type SecretSpec
- type SecretUpdateRequest
- type Status
- type SystemdAvailability
- type SystemdScope
- type UnitStatus
- type Version
- type VersionComponent
Constants ¶
View Source
const SystemdUnitLabel = "PODMAN_SYSTEMD_UNIT"
Variables ¶
This section is empty.
Functions ¶
func QuadletUnit ¶
Types ¶
type AutoUpdateMode ¶
type AutoUpdateMode string
const ( AutoUpdateModeREST AutoUpdateMode = "rest" AutoUpdateModeSystemd AutoUpdateMode = "systemd" )
type AutoUpdateOptions ¶
type AutoUpdateReport ¶
type AutoUpdateResult ¶
type AutoUpdateResult struct {
Mode AutoUpdateMode `json:"mode"`
Reports []AutoUpdateReport `json:"reports"`
Errors []string `json:"errors"`
Unit *UnitStatus `json:"unit,omitempty"`
}
type Container ¶
type Container struct {
ID string `json:"id"`
Names []string `json:"names"`
Image string `json:"image"`
ImageID string `json:"imageId,omitempty"`
State string `json:"state"`
Status string `json:"status,omitempty"`
Created time.Time `json:"created"`
StartedAt int64 `json:"startedAt,omitempty"`
ExitCode int32 `json:"exitCode"`
Exited bool `json:"exited"`
Labels map[string]string `json:"labels,omitempty"`
Pod string `json:"pod,omitempty"`
PodName string `json:"podName,omitempty"`
IsInfra bool `json:"isInfra"`
Ports []PodPortMapping `json:"ports,omitempty"`
}
type Info ¶
type Info struct {
Host InfoHost `json:"host"`
Store InfoStore `json:"store"`
Registries InfoRegistries `json:"registries"`
Plugins InfoPlugins `json:"plugins"`
Version InfoVersion `json:"version"`
}
type InfoConmon ¶
type InfoContainerStore ¶
type InfoDistribution ¶
type InfoHelperBinary ¶
type InfoHost ¶
type InfoHost struct {
Arch string `json:"arch,omitempty"`
BuildahVersion string `json:"buildahVersion,omitempty"`
CgroupManager string `json:"cgroupManager,omitempty"`
CgroupVersion string `json:"cgroupVersion,omitempty"`
CgroupControllers []string `json:"cgroupControllers,omitempty"`
Conmon InfoConmon `json:"conmon"`
CPUs int `json:"cpus"`
DatabaseBackend string `json:"databaseBackend,omitempty"`
Distribution InfoDistribution `json:"distribution"`
EventLogger string `json:"eventLogger,omitempty"`
Hostname string `json:"hostname,omitempty"`
IDMappings InfoIDMappings `json:"idMappings"`
Kernel string `json:"kernel,omitempty"`
LogDriver string `json:"logDriver,omitempty"`
MemFree int64 `json:"memFree"`
MemTotal int64 `json:"memTotal"`
NetworkBackend string `json:"networkBackend,omitempty"`
NetworkBackendInfo InfoNetworkBackend `json:"networkBackendInfo"`
OCIRuntime InfoOCIRuntime `json:"ociRuntime"`
Os string `json:"os,omitempty"`
RemoteSocket InfoRemoteSocket `json:"remoteSocket"`
RootlessNetworkCmd string `json:"rootlessNetworkCmd,omitempty"`
ServiceIsRemote bool `json:"serviceIsRemote"`
Security InfoSecurity `json:"security"`
Slirp4netns InfoHelperBinary `json:"slirp4netns"`
Pasta InfoHelperBinary `json:"pasta"`
SwapFree int64 `json:"swapFree"`
SwapTotal int64 `json:"swapTotal"`
Uptime string `json:"uptime,omitempty"`
}
type InfoIDMappings ¶
type InfoImageStore ¶
type InfoImageStore struct {
Number int `json:"number"`
}
type InfoNetworkBackend ¶
type InfoNetworkDNS ¶
type InfoOCIRuntime ¶
type InfoPlugins ¶
type InfoRegistries ¶
type InfoRegistries struct {
Search []string `json:"search,omitempty"`
}
type InfoRemoteSocket ¶
type InfoSecurity ¶
type InfoSecurity struct {
Rootless bool `json:"rootless"`
SELinuxEnabled bool `json:"selinuxEnabled"`
AppArmorEnabled bool `json:"apparmorEnabled"`
SeccompEnabled bool `json:"seccompEnabled"`
SeccompProfilePath string `json:"seccompProfilePath,omitempty"`
Capabilities string `json:"capabilities,omitempty"`
}
type InfoStore ¶
type InfoStore struct {
ConfigFile string `json:"configFile,omitempty"`
ContainerStore InfoContainerStore `json:"containerStore"`
GraphDriverName string `json:"graphDriverName,omitempty"`
GraphRoot string `json:"graphRoot,omitempty"`
GraphStatus map[string]string `json:"graphStatus,omitempty"`
ImageStore InfoImageStore `json:"imageStore"`
RunRoot string `json:"runRoot,omitempty"`
VolumePath string `json:"volumePath,omitempty"`
}
type InfoVersion ¶
type KubeDownPod ¶
type KubeDownPod struct {
ID string `json:"id"`
}
type KubeDownReport ¶
type KubeDownReport struct {
StopReport []KubeDownPod `json:"stopReport"`
RmReport []KubeDownPod `json:"rmReport"`
}
type KubeDownRequest ¶
type KubeGenerateRequest ¶
type KubeGenerateRequest struct {
Names []string `json:"names" minItems:"1" doc:"Pods, containers, or volumes to include"`
Type KubeGenerateType `json:"type,omitempty" enum:"pod,service,deployment,daemonset,job" doc:"Kubernetes kind to generate"`
Service bool `json:"service,omitempty" doc:"Also generate a Kubernetes service"`
}
type KubeGenerateResponse ¶
type KubeGenerateResponse struct {
YAML string `json:"yaml"`
}
type KubeGenerateType ¶
type KubeGenerateType string
const ( KubeGenerateTypePod KubeGenerateType = "pod" KubeGenerateTypeService KubeGenerateType = "service" KubeGenerateTypeDeployment KubeGenerateType = "deployment" KubeGenerateTypeDaemonSet KubeGenerateType = "daemonset" KubeGenerateTypeJob KubeGenerateType = "job" )
type KubePlayPod ¶
type KubePlayReport ¶
type KubePlayReport struct {
Pods []KubePlayPod `json:"pods"`
Volumes []KubePlayVolume `json:"volumes"`
ServiceContainerID string `json:"serviceContainerId,omitempty"`
ExitCode *int32 `json:"exitCode,omitempty"`
}
type KubePlayRequest ¶
type KubePlayRequest struct {
YAML string `json:"yaml" minLength:"1" doc:"Kubernetes YAML to play"`
Start *bool `json:"start,omitempty" doc:"Start the pods after creating them"`
Replace bool `json:"replace,omitempty" doc:"Replace existing pods and containers"`
Networks []string `json:"networks,omitempty" doc:"Networks to attach the pods to"`
}
type KubePlayVolume ¶
type KubePlayVolume struct {
Name string `json:"name"`
}
type Pod ¶
type Pod struct {
base.EnvironmentTag
ID string `json:"id"`
Name string `json:"name"`
Namespace string `json:"namespace,omitempty"`
Status string `json:"status"`
Created time.Time `json:"created"`
InfraID string `json:"infraId,omitempty"`
Cgroup string `json:"cgroup,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
Networks []string `json:"networks,omitempty"`
Containers []PodContainer `json:"containers"`
}
type PodActionRequest ¶
type PodContainer ¶
type PodCreateRequest ¶
type PodCreateRequest struct {
Name string `json:"name" minLength:"1" doc:"Pod name"`
Hostname string `json:"hostname,omitempty" doc:"Pod hostname"`
Labels map[string]string `json:"labels,omitempty" doc:"Pod labels"`
ExitPolicy string `json:"exitPolicy,omitempty" enum:"continue,stop" doc:"Behaviour when the last container exits"`
RestartPolicy string `json:"restartPolicy,omitempty" enum:"no,always,on-failure,unless-stopped" doc:"Restart policy for containers in the pod"`
RestartRetries *uint `json:"restartRetries,omitempty" doc:"Restart attempts for the on-failure policy"`
NoInfra bool `json:"noInfra,omitempty" doc:"Create the pod without an infra container"`
InfraImage string `json:"infraImage,omitempty" doc:"Image for the infra container"`
InfraCommand []string `json:"infraCommand,omitempty" doc:"Entrypoint of the infra container"`
InfraName string `json:"infraName,omitempty" doc:"Name of the infra container"`
InfraConmonPidFile string `json:"infraConmonPidFile,omitempty" doc:"Path that receives the infra container's conmon PID"`
Pid string `json:"pid,omitempty" doc:"PID namespace: host, private, ns:<path>, or container:<id>"`
Ipc string `json:"ipc,omitempty" doc:"IPC namespace: host, private, shareable, none, ns:<path>, or container:<id>"`
Uts string `json:"uts,omitempty" doc:"UTS namespace: host, private, ns:<path>, or container:<id>"`
Userns string `json:"userns,omitempty" doc:"User namespace, for example auto, keep-id, keep-id:uid=1000, host, or ns:<path>"`
UIDMap []string `json:"uidMap,omitempty" doc:"UID mappings as CONTAINER:HOST:SIZE"`
GIDMap []string `json:"gidMap,omitempty" doc:"GID mappings as CONTAINER:HOST:SIZE"`
NetworkMode string `json:"networkMode,omitempty" doc:"bridge, host, none, private, slirp4netns, pasta, or ns:<path>"`
NetworkOptions []string `json:"networkOptions,omitempty" doc:"Options for the slirp4netns or pasta network mode"`
Networks []PodNetwork `json:"networks,omitempty" doc:"Networks to join"`
PortMappings []PodPortMapping `json:"portMappings,omitempty" doc:"Published ports"`
DNSServers []string `json:"dnsServers,omitempty" doc:"DNS servers"`
DNSSearch []string `json:"dnsSearch,omitempty" doc:"DNS search domains"`
DNSOptions []string `json:"dnsOptions,omitempty" doc:"DNS resolver options"`
NoManageResolvConf bool `json:"noManageResolvConf,omitempty" doc:"Use the image's /etc/resolv.conf"`
AddHosts []string `json:"addHosts,omitempty" doc:"Extra /etc/hosts entries as HOST:IP"`
NoHosts bool `json:"noHosts,omitempty" doc:"Use the image's /etc/hosts"`
NoHostname bool `json:"noHostname,omitempty" doc:"Use the image's /etc/hostname"`
HostsFile string `json:"hostsFile,omitempty" doc:"Base file for /etc/hosts, or image or none"`
CgroupParent string `json:"cgroupParent,omitempty" doc:"Parent cgroup of the pod"`
CPUs float64 `json:"cpus,omitempty" minimum:"0" doc:"Number of CPUs"`
CPUSetCPUs string `json:"cpusetCpus,omitempty" doc:"CPUs allowed to run the pod, for example 0-3"`
CPUSetMems string `json:"cpusetMems,omitempty" doc:"Memory nodes allowed to run the pod, for example 0,1"`
Memory string `json:"memory,omitempty" doc:"Memory limit such as 512m or 2g"`
MemorySwap string `json:"memorySwap,omitempty" doc:"Memory plus swap limit such as 1g, or -1 for unlimited swap"`
BlkioWeight uint16 `json:"blkioWeight,omitempty" minimum:"10" maximum:"1000" doc:"Relative block IO weight"`
BlkioWeightDevices []PodDeviceLimit `json:"blkioWeightDevices,omitempty" doc:"Per-device block IO weights"`
DeviceReadBps []PodDeviceLimit `json:"deviceReadBps,omitempty" doc:"Per-device read rate limits"`
DeviceWriteBps []PodDeviceLimit `json:"deviceWriteBps,omitempty" doc:"Per-device write rate limits"`
Devices []string `json:"devices,omitempty" doc:"Host devices as HOST[:CONTAINER[:PERMISSIONS]]"`
GPUs []string `json:"gpus,omitempty" doc:"NVIDIA GPUs to add through CDI, or all"`
Volumes []PodVolume `json:"volumes,omitempty" doc:"Bind mounts and named volumes"`
VolumesFrom []string `json:"volumesFrom,omitempty" doc:"Containers to mount volumes from, as CONTAINER[:OPTIONS]"`
ShmSize string `json:"shmSize,omitempty" doc:"Size of /dev/shm such as 64m"`
ShmSizeSystemd string `json:"shmSizeSystemd,omitempty" doc:"Size of systemd tmpfs mounts such as 64m"`
SecurityOpt []string `json:"securityOpt,omitempty" doc:"Security options such as label=disable"`
Sysctl map[string]string `json:"sysctl,omitempty" doc:"Namespaced kernel parameters"`
}
type PodCreateResponse ¶
type PodCreateResponse struct {
ID string `json:"id"`
}
type PodDeviceLimit ¶
type PodInfraConfig ¶
type PodInfraConfig struct {
PortBindings map[string][]PodPortBinding `json:"portBindings,omitempty"`
HostNetwork bool `json:"hostNetwork"`
StaticIP string `json:"staticIp,omitempty"`
StaticMAC string `json:"staticMac,omitempty"`
NoManageResolvConf bool `json:"noManageResolvConf"`
DNSServer []string `json:"dnsServer,omitempty"`
DNSSearch []string `json:"dnsSearch,omitempty"`
DNSOption []string `json:"dnsOption,omitempty"`
NoManageHostname bool `json:"noManageHostname"`
NoManageHosts bool `json:"noManageHosts"`
HostAdd []string `json:"hostAdd,omitempty"`
HostsFile string `json:"hostsFile,omitempty"`
Networks []string `json:"networks,omitempty"`
NetworkOptions map[string][]string `json:"networkOptions,omitempty"`
PidNS string `json:"pidNs,omitempty"`
UserNS string `json:"userNs,omitempty"`
UtsNS string `json:"utsNs,omitempty"`
}
type PodInspect ¶
type PodInspect struct {
ID string `json:"id"`
Name string `json:"name"`
Namespace string `json:"namespace,omitempty"`
Created time.Time `json:"created"`
State string `json:"state"`
CreateCommand []string `json:"createCommand,omitempty"`
ExitPolicy string `json:"exitPolicy,omitempty"`
RestartPolicy string `json:"restartPolicy,omitempty"`
Hostname string `json:"hostname,omitempty"`
Labels map[string]string `json:"labels,omitempty"`
CreateCgroup bool `json:"createCgroup"`
CgroupParent string `json:"cgroupParent,omitempty"`
CgroupPath string `json:"cgroupPath,omitempty"`
CreateInfra bool `json:"createInfra"`
InfraContainerID string `json:"infraContainerId,omitempty"`
InfraConfig *PodInfraConfig `json:"infraConfig,omitempty"`
NumContainers uint `json:"numContainers"`
Containers []PodInspectContainer `json:"containers"`
CPUPeriod uint64 `json:"cpuPeriod,omitempty"`
CPUQuota int64 `json:"cpuQuota,omitempty"`
CPUSetCPUs string `json:"cpusetCpus,omitempty"`
CPUSetMems string `json:"cpusetMems,omitempty"`
MemoryLimit uint64 `json:"memoryLimit,omitempty"`
MemorySwap uint64 `json:"memorySwap,omitempty"`
BlkioWeight uint64 `json:"blkioWeight,omitempty"`
BlkioWeightDevices []PodWeightDevice `json:"blkioWeightDevices,omitempty"`
DeviceReadBps []PodThrottleDevice `json:"deviceReadBps,omitempty"`
DeviceWriteBps []PodThrottleDevice `json:"deviceWriteBps,omitempty"`
Mounts []PodMount `json:"mounts,omitempty"`
Devices []PodDevice `json:"devices,omitempty"`
VolumesFrom []string `json:"volumesFrom,omitempty"`
SecurityOpts []string `json:"securityOpts,omitempty"`
}
type PodInspectContainer ¶
type PodInspectContainer struct {
ID string `json:"id"`
Name string `json:"name"`
State string `json:"state"`
Image string `json:"image,omitempty"`
Status string `json:"status,omitempty"`
Created time.Time `json:"created"`
ExitCode int32 `json:"exitCode"`
IsInfra bool `json:"isInfra"`
Ports []PodPortMapping `json:"ports,omitempty"`
}
type PodMount ¶
type PodMount struct {
Type string `json:"type"`
Name string `json:"name,omitempty"`
Source string `json:"source,omitempty"`
Destination string `json:"destination"`
Driver string `json:"driver,omitempty"`
Mode string `json:"mode,omitempty"`
Options []string `json:"options,omitempty"`
RW bool `json:"rw"`
Propagation string `json:"propagation,omitempty"`
SubPath string `json:"subPath,omitempty"`
}
type PodNetwork ¶
type PodNetwork struct {
Name string `json:"name" minLength:"1" doc:"Network to join"`
Aliases []string `json:"aliases,omitempty" doc:"Network-scoped aliases"`
StaticIPs []string `json:"staticIps,omitempty" doc:"Static IPv4 or IPv6 addresses"`
StaticMAC string `json:"staticMac,omitempty" doc:"Static MAC address"`
InterfaceName string `json:"interfaceName,omitempty" doc:"Interface name inside the pod"`
}
type PodPortBinding ¶
type PodPortMapping ¶
type PodPortMapping struct {
ContainerPort uint16 `json:"containerPort" minimum:"1" doc:"Port inside the pod"`
HostPort uint16 `json:"hostPort,omitempty" doc:"Port on the host"`
HostIP string `json:"hostIp,omitempty" doc:"Host IP to bind"`
Protocol string `json:"protocol,omitempty" doc:"tcp, udp, or sctp"`
Range uint16 `json:"range,omitempty" doc:"Number of consecutive ports to map"`
}
type PodPruneReport ¶
type PodPruneReport struct {
ID string `json:"id"`
}
type PodStats ¶
type PodStats struct {
Pod string `json:"pod"`
CID string `json:"cid"`
Name string `json:"name"`
CPU string `json:"cpu"`
MemUsage string `json:"memUsage"`
MemUsageBytes string `json:"memUsageBytes"`
Mem string `json:"mem"`
NetIO string `json:"netIo"`
BlockIO string `json:"blockIo"`
PIDS string `json:"pids"`
}
type PodThrottleDevice ¶
type PodWeightDevice ¶
type QuadletDetail ¶
type QuadletDetail struct {
base.EnvironmentTag
Name string `json:"name"`
UnitName string `json:"unitName"`
Path string `json:"path"`
Status string `json:"status"`
App string `json:"app,omitempty"`
Type QuadletType `json:"type"`
Template bool `json:"template"`
UnitStatus *UnitStatus `json:"unitStatus,omitempty"`
Containers []Container `json:"containers,omitempty"`
}
type QuadletFile ¶
type QuadletInstallReport ¶
type QuadletInstallRequest ¶
type QuadletInstallRequest struct {
Name string `json:"name" minLength:"1" doc:"Quadlet file name including its extension"`
Content string `json:"content" minLength:"1" doc:"Quadlet file contents"`
ExtraFiles []QuadletFile `json:"extraFiles,omitempty" doc:"Additional files installed beside the quadlet"`
App string `json:"app,omitempty" doc:"Application the quadlet belongs to"`
}
type QuadletRemoveReport ¶
type QuadletType ¶
type QuadletType string
const ( QuadletTypeContainer QuadletType = "container" QuadletTypePod QuadletType = "pod" QuadletTypeKube QuadletType = "kube" QuadletTypeNetwork QuadletType = "network" QuadletTypeVolume QuadletType = "volume" QuadletTypeImage QuadletType = "image" QuadletTypeBuild QuadletType = "build" QuadletTypeArtifact QuadletType = "artifact" )
type QuadletUpdateRequest ¶
type QuadletUpdateRequest struct {
Content string `json:"content" minLength:"1" doc:"Quadlet file contents"`
ExtraFiles []QuadletFile `json:"extraFiles,omitempty" doc:"Additional files installed beside the quadlet"`
}
type Secret ¶
type Secret struct {
base.EnvironmentTag
ID string `json:"id"`
CreatedAt time.Time `json:"createdAt"`
UpdatedAt time.Time `json:"updatedAt"`
Spec SecretSpec `json:"spec"`
}
type SecretCreateRequest ¶
type SecretCreateRequest struct {
Name string `json:"name" minLength:"1" doc:"Secret name"`
Data string `json:"data" minLength:"1" doc:"Secret value"`
Driver string `json:"driver,omitempty" doc:"Secret driver"`
DriverOptions map[string]string `json:"driverOptions,omitempty" doc:"Secret driver options"`
Labels map[string]string `json:"labels,omitempty" doc:"Secret labels"`
}
type SecretCreateResponse ¶
type SecretCreateResponse struct {
ID string `json:"id"`
}
type SecretDriver ¶
type SecretSpec ¶
type SecretSpec struct {
Name string `json:"name"`
Driver SecretDriver `json:"driver"`
Labels map[string]string `json:"labels,omitempty"`
}
type SecretUpdateRequest ¶
type SecretUpdateRequest struct {
Data string `json:"data" minLength:"1" doc:"New secret value; Podman replaces the whole secret"`
Driver string `json:"driver,omitempty" doc:"Secret driver"`
DriverOptions map[string]string `json:"driverOptions,omitempty" doc:"Secret driver options"`
Labels map[string]string `json:"labels,omitempty" doc:"Secret labels"`
}
type Status ¶
type Status struct {
Detected bool `json:"detected"`
Version string `json:"version,omitempty"`
APIVersion string `json:"apiVersion,omitempty"`
Rootless bool `json:"rootless"`
QuadletsSupported bool `json:"quadletsSupported"`
QuadletAppsSupported bool `json:"quadletAppsSupported"`
AutoUpdateMode AutoUpdateMode `json:"autoUpdateMode"`
SystemdAvailable bool `json:"systemdAvailable"`
SystemdScope SystemdScope `json:"systemdScope,omitempty"`
SystemdReason string `json:"systemdReason,omitempty"`
}
type SystemdAvailability ¶
type SystemdAvailability struct {
Available bool `json:"available"`
Scope SystemdScope `json:"scope,omitempty"`
Reason string `json:"reason,omitempty"`
}
type SystemdScope ¶
type SystemdScope string
const ( SystemdScopeSystem SystemdScope = "system" SystemdScopeUser SystemdScope = "user" )
type UnitStatus ¶
type Version ¶
type Version struct {
Version string `json:"version"`
APIVersion string `json:"apiVersion"`
MinAPIVersion string `json:"minApiVersion,omitempty"`
GitCommit string `json:"gitCommit,omitempty"`
GoVersion string `json:"goVersion,omitempty"`
Os string `json:"os,omitempty"`
Arch string `json:"arch,omitempty"`
KernelVersion string `json:"kernelVersion,omitempty"`
Components []VersionComponent `json:"components,omitempty"`
}
type VersionComponent ¶
Click to show internal directories.
Click to hide internal directories.