mirror of
				https://github.com/containers/podman.git
				synced 2025-11-01 02:42:11 +08:00 
			
		
		
		
	 d730f2b254
			
		
	
	d730f2b254
	
	
	
		
			
			The Authorization field lists the plugins for granting access to the Docker daemon. This field will always be nil for Podman as there is no daemon. The field is included for compatibility. ```release-note NONE ``` [NO NEW TESTS NEEDED] Signed-off-by: Jhon Honce <jhonce@redhat.com>
		
			
				
	
	
		
			151 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			5.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package define
 | |
| 
 | |
| import (
 | |
| 	"github.com/containers/storage/pkg/idtools"
 | |
| )
 | |
| 
 | |
| // Info is the overall struct that describes the host system
 | |
| // running libpod/podman
 | |
| type Info struct {
 | |
| 	Host       *HostInfo              `json:"host"`
 | |
| 	Store      *StoreInfo             `json:"store"`
 | |
| 	Registries map[string]interface{} `json:"registries"`
 | |
| 	Plugins    Plugins                `json:"plugins"`
 | |
| 	Version    Version                `json:"version"`
 | |
| }
 | |
| 
 | |
| // SecurityInfo describes the libpod host
 | |
| type SecurityInfo struct {
 | |
| 	AppArmorEnabled     bool   `json:"apparmorEnabled"`
 | |
| 	DefaultCapabilities string `json:"capabilities"`
 | |
| 	Rootless            bool   `json:"rootless"`
 | |
| 	SECCOMPEnabled      bool   `json:"seccompEnabled"`
 | |
| 	SECCOMPProfilePath  string `json:"seccompProfilePath"`
 | |
| 	SELinuxEnabled      bool   `json:"selinuxEnabled"`
 | |
| }
 | |
| 
 | |
| // HostInfo describes the libpod host
 | |
| type HostInfo struct {
 | |
| 	Arch              string           `json:"arch"`
 | |
| 	BuildahVersion    string           `json:"buildahVersion"`
 | |
| 	CgroupManager     string           `json:"cgroupManager"`
 | |
| 	CgroupsVersion    string           `json:"cgroupVersion"`
 | |
| 	CgroupControllers []string         `json:"cgroupControllers"`
 | |
| 	Conmon            *ConmonInfo      `json:"conmon"`
 | |
| 	CPUs              int              `json:"cpus"`
 | |
| 	CPUUtilization    *CPUUsage        `json:"cpuUtilization"`
 | |
| 	Distribution      DistributionInfo `json:"distribution"`
 | |
| 	EventLogger       string           `json:"eventLogger"`
 | |
| 	Hostname          string           `json:"hostname"`
 | |
| 	IDMappings        IDMappings       `json:"idMappings,omitempty"`
 | |
| 	Kernel            string           `json:"kernel"`
 | |
| 	LogDriver         string           `json:"logDriver"`
 | |
| 	MemFree           int64            `json:"memFree"`
 | |
| 	MemTotal          int64            `json:"memTotal"`
 | |
| 	NetworkBackend    string           `json:"networkBackend"`
 | |
| 	OCIRuntime        *OCIRuntimeInfo  `json:"ociRuntime"`
 | |
| 	OS                string           `json:"os"`
 | |
| 	// RemoteSocket returns the UNIX domain socket the Podman service is listening on
 | |
| 	RemoteSocket *RemoteSocket          `json:"remoteSocket,omitempty"`
 | |
| 	RuntimeInfo  map[string]interface{} `json:"runtimeInfo,omitempty"`
 | |
| 	// ServiceIsRemote is true when the podman/libpod service is remote to the client
 | |
| 	ServiceIsRemote bool         `json:"serviceIsRemote"`
 | |
| 	Security        SecurityInfo `json:"security"`
 | |
| 	Slirp4NetNS     SlirpInfo    `json:"slirp4netns,omitempty"`
 | |
| 	SwapFree        int64        `json:"swapFree"`
 | |
| 	SwapTotal       int64        `json:"swapTotal"`
 | |
| 	Uptime          string       `json:"uptime"`
 | |
| 	Linkmode        string       `json:"linkmode"`
 | |
| }
 | |
| 
 | |
| // RemoteSocket describes information about the API socket
 | |
| type RemoteSocket struct {
 | |
| 	Path   string `json:"path,omitempty"`
 | |
| 	Exists bool   `json:"exists,omitempty"`
 | |
| }
 | |
| 
 | |
| // SlirpInfo describes the slirp executable that is being used
 | |
| type SlirpInfo struct {
 | |
| 	Executable string `json:"executable"`
 | |
| 	Package    string `json:"package"`
 | |
| 	Version    string `json:"version"`
 | |
| }
 | |
| 
 | |
| // IDMappings describe the GID and UID mappings
 | |
| type IDMappings struct {
 | |
| 	GIDMap []idtools.IDMap `json:"gidmap"`
 | |
| 	UIDMap []idtools.IDMap `json:"uidmap"`
 | |
| }
 | |
| 
 | |
| // DistributionInfo describes the host distribution for libpod
 | |
| type DistributionInfo struct {
 | |
| 	Distribution string `json:"distribution"`
 | |
| 	Variant      string `json:"variant,omitempty"`
 | |
| 	Version      string `json:"version"`
 | |
| 	Codename     string `json:"codename,omitempty"`
 | |
| }
 | |
| 
 | |
| // ConmonInfo describes the conmon executable being used
 | |
| type ConmonInfo struct {
 | |
| 	Package string `json:"package"`
 | |
| 	Path    string `json:"path"`
 | |
| 	Version string `json:"version"`
 | |
| }
 | |
| 
 | |
| // OCIRuntimeInfo describes the runtime (crun or runc) being
 | |
| // used with podman
 | |
| type OCIRuntimeInfo struct {
 | |
| 	Name    string `json:"name"`
 | |
| 	Package string `json:"package"`
 | |
| 	Path    string `json:"path"`
 | |
| 	Version string `json:"version"`
 | |
| }
 | |
| 
 | |
| // StoreInfo describes the container storage and its
 | |
| // attributes
 | |
| type StoreInfo struct {
 | |
| 	ConfigFile      string                 `json:"configFile"`
 | |
| 	ContainerStore  ContainerStore         `json:"containerStore"`
 | |
| 	GraphDriverName string                 `json:"graphDriverName"`
 | |
| 	GraphOptions    map[string]interface{} `json:"graphOptions"`
 | |
| 	GraphRoot       string                 `json:"graphRoot"`
 | |
| 	// GraphRootAllocated is how much space the graphroot has in bytes
 | |
| 	GraphRootAllocated uint64 `json:"graphRootAllocated"`
 | |
| 	// GraphRootUsed is how much of graphroot is used in bytes
 | |
| 	GraphRootUsed   uint64            `json:"graphRootUsed"`
 | |
| 	GraphStatus     map[string]string `json:"graphStatus"`
 | |
| 	ImageCopyTmpDir string            `json:"imageCopyTmpDir"`
 | |
| 	ImageStore      ImageStore        `json:"imageStore"`
 | |
| 	RunRoot         string            `json:"runRoot"`
 | |
| 	VolumePath      string            `json:"volumePath"`
 | |
| }
 | |
| 
 | |
| // ImageStore describes the image store.  Right now only the number
 | |
| // of images present
 | |
| type ImageStore struct {
 | |
| 	Number int `json:"number"`
 | |
| }
 | |
| 
 | |
| // ContainerStore describes the quantity of containers in the
 | |
| // store by status
 | |
| type ContainerStore struct {
 | |
| 	Number  int `json:"number"`
 | |
| 	Paused  int `json:"paused"`
 | |
| 	Running int `json:"running"`
 | |
| 	Stopped int `json:"stopped"`
 | |
| }
 | |
| 
 | |
| type Plugins struct {
 | |
| 	Volume  []string `json:"volume"`
 | |
| 	Network []string `json:"network"`
 | |
| 	Log     []string `json:"log"`
 | |
| 	// Authorization is provided for compatibility, will always be nil as Podman has no daemon
 | |
| 	Authorization []string `json:"authorization"`
 | |
| }
 | |
| 
 | |
| type CPUUsage struct {
 | |
| 	UserPercent   float64 `json:"userPercent"`
 | |
| 	SystemPercent float64 `json:"systemPercent"`
 | |
| 	IdlePercent   float64 `json:"idlePercent"`
 | |
| }
 |