Skip to content

Instantly share code, notes, and snippets.

@baude
Created May 8, 2018 18:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save baude/b1fe81cd07de3121100fdfb73514836f to your computer and use it in GitHub Desktop.
Save baude/b1fe81cd07de3121100fdfb73514836f to your computer and use it in GitHub Desktop.

Index

func WaitContainer(name: string) int

func PullImage(name: string) string

func ListContainerProcesses(name: string, opts: []string) []string

func GetContainerLogs(name: string) []string

func RestartContainer(name: string, timeout: int) string

func UpdateContainer() NotImplemented

func ListImages() ImageInList

func PushImage(name: string, tag: string, tlsverify: bool) string

func Ping() StringResponse

func GetVersion() Version

func StartContainer() NotImplemented

func GetContainer(name: string) ListContainerData

func ListContainerChanges(name: string) map[string]

func BuildImage() NotImplemented

func InspectImage(name: string) string

func SearchImage(name: string, limit: int) ImageSearch

func DeleteUnusedImages() []string

func ListContainers() ListContainerData

func ResizeContainerTty() NotImplemented

func PauseContainer(name: string) string

func UnpauseContainer(name: string) string

func CreateImage() NotImplemented

func RemoveImage(name: string, force: bool) string

func KillContainer(name: string, signal: int) string

func RenameContainer() NotImplemented

func RemoveContainer(name: string, force: bool) string

func HistoryImage(name: string) ImageHistory

func TagImage(name: string, tagged: string) string

func ExportImage(name: string, destination: string, compress: bool) string

func InspectContainer(name: string) string

func ExportContainer(name: string, path: string) string

func StopContainer(name: string, timeout: int) string

func AttachToContainer() NotImplemented

func CreateFromContainer() NotImplemented

func CreateContainer() NotImplemented

func GetContainerStats(name: string) ContainerStats

func DeleteStoppedContainers() []string

func ImportImage(source: string, reference: string, message: string, changes: []string) string type ContainerNameSpace

type Version

type NotImplemented

type StringResponse

type ImageInList

type ImageHistory

type ListContainerData

type ContainerMount

type ImageSearch

type ContainerStats

type ContainerPortMappings

error ImageNotFound

error ContainerNotFound

error ErrorOccurred

error RuntimeError

Methods

func WaitContainer

method WaitContainer(name: string) int

WaitContainer takes the name of ID of a container and waits until the container stops. Upon stopping, the return code of the container is returned. If the container container cannot be found by ID or name, a ContainerNotFound error is returned.

func PullImage

method PullImage(name: string) string

PullImage pulls an image from a repository to local storage. After the pull is successful, the ID of the image is returned.

Example

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.podman.PullImage '{"name": "registry.fedoraproject.org/fedora"}'
{
  "id": "426866d6fa419873f97e5cbd320eeb22778244c1dfffa01c944db3114f55772e"
}

func ListContainerProcesses

method ListContainerProcesses(name: string, opts: []string) []string

ListContainerProcesses takes a name or ID of a container and returns the processes running inside the container as array of strings. It will accept an array of string arguements that represent ps options. If the container cannot be found, a ContainerNotFound error will be returned.

Example

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.podman.ListContainerProcesses '{"name": "135d71b9495f", "opts": []}'
{
  "container": [
    "  UID   PID  PPID  C STIME TTY          TIME CMD",
    "    0 21220 21210  0 09:05 pts/0    00:00:00 /bin/sh",
    "    0 21232 21220  0 09:05 pts/0    00:00:00 top",
    "    0 21284 21220  0 09:05 pts/0    00:00:00 vi /etc/hosts"
  ]
}

func GetContainerLogs

method GetContainerLogs(name: string) []string

GetContainerLogs takes a name or ID of a container and returns the logs of that container. If the container cannot be found, a ContainerNotFound error will be returned. The container logs are returned as an array of strings. GetContainerLogs will honor the streaming capability of varlink if the client invokes it.

func RestartContainer

method RestartContainer(name: string, timeout: int) string

RestartContainer will restart a running container given a container name or ID and timeout value. The timeout value is the time before a forceable stop is used to stop the container. If the container cannot be found by name or ID, a ContainerNotFound error will be returned; otherwise, the ID of the container will be returned.

func UpdateContainer

method UpdateContainer() NotImplemented

This method has not be implemented yet.

func ListImages

method ListImages() ImageInList

ListImages returns an array of ImageInList structures which provide basic information about an image currenly in storage. See also InspectImage.

func PushImage

method PushImage(name: string, tag: string, tlsverify: bool) string

PushImage takes three input arguments: the name or ID of an image, the fully-qualified destination name of the image, and a boolean as to whether tls-verify should be used. It will return an ImageNotFound error if the image cannot be found in local storage; otherwise the ID of the image will be returned on success.

func Ping

method Ping() StringResponse

Ping provides a response for developers to ensure their varlink setup is working.

Example

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.podman.Ping
{
  "ping": {
    "message": "OK"
  }
}

func GetVersion

method GetVersion() Version

GetVersion returns a Version structure describing the libpod setup on their system.

func StartContainer

method StartContainer() NotImplemented

This method has not be implemented yet.

func GetContainer

method GetContainer(name: string) ListContainerData

GetContainer takes a name or ID of a container and returns single ListContainerData structure. A ContainerNotFound error will be returned if the container cannot be found. See also ListContainers and InspectContainer.

func ListContainerChanges

method ListContainerChanges(name: string) map[string]

ListContainerChanges takes a name or ID of a container and returns changes between the container and its base image. The return values are expressed as string maps where a path -> the change. If the container cannot be found, a ContainerNotFound error will be returned.

func BuildImage

method BuildImage() NotImplemented

This function is not implemented yet.

func InspectImage

method InspectImage(name: string) string

InspectImage takes the name or ID of an image and returns a string respresentation of data associated with the mage. You must serialize the string into JSON to use it further. An ImageNotFound error will be returned if the image cannot be found.

func SearchImage

method SearchImage(name: string, limit: int) ImageSearch

SearchImage takes the string of an image name and a limit of searches from each registries to be returned. SearchImage will then use a glob-like match to find the image you are searching for. The images are returned in an array of ImageSearch structures which contain information about the image as well as its fully-qualified name.

func DeleteUnusedImages

method DeleteUnusedImages() []string

DeleteUnusedImages deletes any images not associated with a container. The IDs of the deleted images are returned in a string array.

func ListContainers

method ListContainers() ListContainerData

ListContainers returns a list of containers in no particular order. There are returned as an array of ListContainerData structs. See also GetContainer.

func ResizeContainerTty

method ResizeContainerTty() NotImplemented

This method has not be implemented yet.

func PauseContainer

method PauseContainer(name: string) string

PauseContainer takes the name or ID of container and pauses it. If the container cannot be found, a ContainerNotFound error will be returned; otherwise the ID of the container is returned. See also UnpauseContainer.

func UnpauseContainer

method UnpauseContainer(name: string) string

UnpauseContainer takes the name or ID of container and unpauses a paused container. If the container cannot be found, a ContainerNotFound error will be returned; otherwise the ID of the container is returned. See also PauseContainer.

func CreateImage

method CreateImage() NotImplemented

This function is not implemented yet.

func RemoveImage

method RemoveImage(name: string, force: bool) string

RemoveImage takes the name or ID of an image as well as a booleon that determines if containers using that image should be deleted. If the image cannot be found, an ImageNotFound error will be returned. The ID of the removed image is returned when complete. See also DeleteUnusedImages.

Example

varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.podman.RemoveImage '{"name": "registry.fedoraproject.org/fedora", "force": true}'
{
  "image": "426866d6fa419873f97e5cbd320eeb22778244c1dfffa01c944db3114f55772e"
}

func KillContainer

method KillContainer(name: string, signal: int) string

KillContainer takes the name or ID of a container as well as a signal to be applied to the container. Once the container has been killed, the container's ID is returned. If the container cannot be found, a ContainerNotFound error is returned. See also StopContainer.

func RenameContainer

method RenameContainer() NotImplemented

This method has not be implemented yet.

func RemoveContainer

method RemoveContainer(name: string, force: bool) string

RemoveContainer takes requires the name or ID of container as well a boolean representing whether a running container can be stopped and removed. Upon sucessful removal of the container, its ID is returned. If the container cannot be found by name or ID, an ContainerNotFound error will be returned.

Error

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.podman.RemoveContainer '{"name": "62f4fd98cb57"}'
{
  "container": "62f4fd98cb57f529831e8f90610e54bba74bd6f02920ffb485e15376ed365c20"
}

func HistoryImage

method HistoryImage(name: string) ImageHistory

HistoryImage takes the name or ID of an image and returns information about its history and layers. The returned history is in the form of an array of ImageHistory structures. If the image cannot be found, an ImageNotFound error is returned.

func TagImage

method TagImage(name: string, tagged: string) string

TagImage takes the name or ID of an image in local storage as well as the desired tag name. If the image cannot be found, an ImageNotFound error will be returned; otherwise, the ID of the image is returned on success.

func ExportImage

method ExportImage(name: string, destination: string, compress: bool) string

ExportImage takes the name or ID of an image and exports it to a destination like a tarball. There is also a booleon option to force compression. Upon completion, the ID of the image is returned. If the image cannot be found in local storage, an ImageNotFound error will be returned. See also ImportImage.

func InspectContainer

method InspectContainer(name: string) string

InspectContainer data takes a name or ID of a container returns the inspection data in string format. You can then serialize the string into JSON. A ContainerNotFound error will be returned if the container cannot be found. See also InspectImage.

func ExportContainer

method ExportContainer(name: string, path: string) string

ExportContainer creates an image from a container. It takes the name or ID of a container and a path representing the target tarfile. If the container cannot be found, a ContainerNotFound error will be returned. The return value is the written tarfile.

func StopContainer

method StopContainer(name: string, timeout: int) string

StopContainer stops a container given a timeout. It takes the name or ID of a container as well as a timeout value. The timeout value the time before a forceable stop to the container is applied. It returns the container ID once stopped. If the container cannot be found, a ContainerNotFound error will be returned instead. See also KillContainer.

Error

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.podman.StopContainer '{"name": "135d71b9495f", "timeout": 5}'
{
  "container": "135d71b9495f7c3967f536edad57750bfdb569336cd107d8aabab45565ffcfb6"
}

func AttachToContainer

method AttachToContainer() NotImplemented

This method has not be implemented yet.

func CreateFromContainer

method CreateFromContainer() NotImplemented

This method is not implemented.

func CreateContainer

method CreateContainer() NotImplemented

This method has not been implemented yet.

func GetContainerStats

method GetContainerStats(name: string) ContainerStats

GetContainerStats takes the name or ID of a container and returns a single ContainerStats structure which contains attributes like memory and cpu usage. If the container cannot be found, a ContainerNotFound error will be returned.

Example

$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.podman.GetContainerStats '{"name": "c33e4164f384"}'
{
  "container": {
    "block_input": 0,
    "block_output": 0,
    "cpu": 2.571123918839990154678e-08,
    "cpu_nano": 49037378,
    "id": "c33e4164f384aa9d979072a63319d66b74fd7a128be71fa68ede24f33ec6cfee",
    "mem_limit": 33080606720,
    "mem_perc": 2.166828456524753747370e-03,
    "mem_usage": 716800,
    "name": "competent_wozniak",
    "net_input": 768,
    "net_output": 5910,
    "pids": 1,
    "system_nano": 10000000
  }
}

func DeleteStoppedContainers

method DeleteStoppedContainers() []string

DeleteStoppedContainers will delete all containers that are not running. It will return a list the deleted container IDs. See also RemoveContainer.

func ImportImage

method ImportImage(source: string, reference: string, message: string, changes: []string) string

ImportImage imports an image from a source (like tarball) into local storage. The image can have additional descriptions added to it using the message and changes options. See also ExportImage.

Types

type ContainerNameSpace

ContainerNamespace describes the namespace structure for an existing container

user string

uts string

pidns string

pid string

cgroup string

net string

mnt string

ipc string

type Version

Version is the structure returned by GetVersion

version string

go_version string

git_commit string

built int

os_arch string

type NotImplemented

comment string

type StringResponse

message string

type ImageInList

ImageInList describes the structure that is returned in ListImages.

id string

parentId string

repoTags []string

repoDigests []string

created string

size int

virtualSize int

containers int

labels map[string]

type ImageHistory

ImageHistory describes the returned structure from ImageHistory.

id string

created string

createdBy string

tags []string

size int

comment string

type ListContainerData

ListContainer is the returned struct for an individual container

id string

image string

imageid string

command []string

createdat string

runningfor string

status string

ports ContainerPortMappings

rootfssize int

rwsize int

names string

labels map[string]

mounts ContainerMount

containerrunning bool

namespaces ContainerNameSpace

type ContainerMount

ContainerMount describes the struct for mounts in a container

destination string

type string

source string

options []string

type ImageSearch

ImageSearch is the returned structure for SearchImage. It is returned in arrary form.

description string

is_official bool

is_automated bool

name string

star_count int

type ContainerStats

ContainerStats is the return struct for the stats of a container

id string

name string

cpu float

cpu_nano int

system_nano int

mem_usage int

mem_limit int

mem_perc float

net_input int

net_output int

block_output int

block_input int

pids int

type ContainerPortMappings

ContainerPortMappings describes the struct for portmappings in an existing container

host_port string

host_ip string

protocol string

container_port string

Errors

type ImageNotFound

ImageNotFound means the image could not be found by the provided name or ID in local storage.

type ContainerNotFound

ContainerNotFound means the container could not be found by the provided name or ID in local storage.

type ErrorOccurred

ErrorOccurred is a generic error for an error that occurs during the execution. The actual error message is includes as part of the error's text.

type RuntimeError

RuntimeErrors generally means a runtime could not be found or gotten.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment