summaryrefslogtreecommitdiff
path: root/API.md
diff options
context:
space:
mode:
authorbaude <bbaude@redhat.com>2018-05-16 12:38:17 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2018-05-21 19:26:56 +0000
commit82feafecdda8040432c008d9b79e4f973009adfc (patch)
tree8edffbe531bcf47c40b34cd003e4063142fbc84f /API.md
parent687b165a737742e1f1930cd9782002d857e07aaf (diff)
downloadpodman-82feafecdda8040432c008d9b79e4f973009adfc.tar.gz
podman-82feafecdda8040432c008d9b79e4f973009adfc.tar.bz2
podman-82feafecdda8040432c008d9b79e4f973009adfc.zip
podman create, start, getattachsocket
First pass at implement API endpoints for create and start. Signed-off-by: baude <bbaude@redhat.com> Closes: #805 Approved by: baude
Diffstat (limited to 'API.md')
-rwxr-xr-xAPI.md260
1 files changed, 251 insertions, 9 deletions
diff --git a/API.md b/API.md
index ba569d59a..a722918f1 100755
--- a/API.md
+++ b/API.md
@@ -9,7 +9,7 @@ in the [API.md](https://github.com/projectatomic/libpod/blob/master/API.md) file
[func Commit(name: string, image_name: string, changes: []string, author: string, message: string, pause: bool) string](#Commit)
-[func CreateContainer() NotImplemented](#CreateContainer)
+[func CreateContainer(create: Create) string](#CreateContainer)
[func CreateImage() NotImplemented](#CreateImage)
@@ -21,6 +21,8 @@ in the [API.md](https://github.com/projectatomic/libpod/blob/master/API.md) file
[func ExportImage(name: string, destination: string, compress: bool) string](#ExportImage)
+[func GetAttachSockets(name: string) Sockets](#GetAttachSockets)
+
[func GetContainer(name: string) ListContainerData](#GetContainer)
[func GetContainerLogs(name: string) []string](#GetContainerLogs)
@@ -69,7 +71,7 @@ in the [API.md](https://github.com/projectatomic/libpod/blob/master/API.md) file
[func SearchImage(name: string, limit: int) ImageSearch](#SearchImage)
-[func StartContainer() NotImplemented](#StartContainer)
+[func StartContainer(name: string) string](#StartContainer)
[func StopContainer(name: string, timeout: int) string](#StopContainer)
@@ -91,6 +93,14 @@ in the [API.md](https://github.com/projectatomic/libpod/blob/master/API.md) file
[type ContainerStats](#ContainerStats)
+[type Create](#Create)
+
+[type CreateResourceConfig](#CreateResourceConfig)
+
+[type IDMap](#IDMap)
+
+[type IDMappingOptions](#IDMappingOptions)
+
[type ImageHistory](#ImageHistory)
[type ImageInList](#ImageInList)
@@ -111,6 +121,8 @@ in the [API.md](https://github.com/projectatomic/libpod/blob/master/API.md) file
[type PodmanInfo](#PodmanInfo)
+[type Sockets](#Sockets)
+
[type StringResponse](#StringResponse)
[type Version](#Version)
@@ -148,8 +160,8 @@ the resulting image's ID will be returned as a string.
### <a name="CreateContainer"></a>func CreateContainer
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
-method CreateContainer() [NotImplemented](#NotImplemented)</div>
-This method is not implemented yet.
+method CreateContainer(create: [Create](#Create)) [string](https://godoc.org/builtin#string)</div>
+CreateContainer creates a new container from an image. It uses a (Create)[#Create] type for input.
### <a name="CreateImage"></a>func CreateImage
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
@@ -182,6 +194,25 @@ method ExportImage(name: [string](https://godoc.org/builtin#string), destination
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](#ImageNotFound) error will be returned. See also [ImportImage](ImportImage).
+### <a name="GetAttachSockets"></a>func GetAttachSockets
+<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
+
+method GetAttachSockets(name: [string](https://godoc.org/builtin#string)) [Sockets](#Sockets)</div>
+GetAttachSockets takes the name or ID of an existing container. It returns file paths for two sockets needed
+to properly communicate with a container. The first is the actual I/O socket that the container uses. The
+second is a "control" socket where things like resizing the TTY events are sent. If the container cannot be
+found, a [ContainerNotFound](#ContainerNotFound) error will be returned.
+#### Example
+~~~
+$ varlink call -m unix:/run/io.projectatomic.podman/io.projectatomic.podman.GetAttachSockets '{"name": "b7624e775431219161"}'
+{
+ "sockets": {
+ "container_id": "b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca",
+ "control_socket": "/var/lib/containers/storage/overlay-containers/b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca/userdata/ctl",
+ "io_socket": "/var/run/libpod/socket/b7624e7754312191613245ce1a46844abee60025818fe3c3f3203435623a1eca/attach"
+ }
+}
+~~~
### <a name="GetContainer"></a>func GetContainer
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
@@ -357,8 +388,8 @@ the image cannot be found in local storage; otherwise the ID of the image will b
method RemoveContainer(name: [string](https://godoc.org/builtin#string), force: [bool](https://godoc.org/builtin#bool)) [string](https://godoc.org/builtin#string)</div>
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](#ContainerNotFound) error will be returned.
-#### Error
+container cannot be found by name or ID, a [ContainerNotFound](#ContainerNotFound) error will be returned.
+#### Example
~~~
$ varlink call -m unix:/run/podman/io.projectatomic.podman/io.projectatomic.podman.RemoveContainer '{"name": "62f4fd98cb57"}'
{
@@ -407,8 +438,10 @@ ImageSearch structures which contain information about the image as well as its
### <a name="StartContainer"></a>func StartContainer
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
-method StartContainer() [NotImplemented](#NotImplemented)</div>
-This method has not be implemented yet.
+method StartContainer(name: [string](https://godoc.org/builtin#string)) [string](https://godoc.org/builtin#string)</div>
+StartContainer starts a created or stopped container. It takes the name or ID of container. It returns
+the container ID once started. If the container cannot be found, a [ContainerNotFound](#ContainerNotFound)
+error will be returned. See also [CreateContainer](#CreateContainer).
### <a name="StopContainer"></a>func StopContainer
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
@@ -446,7 +479,7 @@ This method has not be implemented yet.
<div style="background-color: #E8E8E8; padding: 15px; margin: 10px; border-radius: 10px;">
method WaitContainer(name: [string](https://godoc.org/builtin#string)) [int](https://godoc.org/builtin#int)</div>
-WaitContainer takes the name of ID of a container and waits until the container stops. Upon stopping, the return
+WaitContainer takes the name or 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](#ContainerNotFound) error is returned.
## Types
@@ -529,6 +562,206 @@ block_output [int](https://godoc.org/builtin#int)
block_input [int](https://godoc.org/builtin#int)
pids [int](https://godoc.org/builtin#int)
+### <a name="Create"></a>type Create
+
+Create is an input structure for creating containers. It closely resembles the
+CreateConfig structure in libpod/pkg/spec.
+
+args [[]string](#[]string)
+
+cap_add [[]string](#[]string)
+
+cap_drop [[]string](#[]string)
+
+conmon_pidfile [string](https://godoc.org/builtin#string)
+
+cgroup_parent [string](https://godoc.org/builtin#string)
+
+command [[]string](#[]string)
+
+detach [bool](https://godoc.org/builtin#bool)
+
+devices [[]string](#[]string)
+
+dns_opt [[]string](#[]string)
+
+dns_search [[]string](#[]string)
+
+dns_servers [[]string](#[]string)
+
+entrypoint [[]string](#[]string)
+
+env [map[string]](#map[string])
+
+exposed_ports [[]string](#[]string)
+
+gidmap [[]string](#[]string)
+
+group_add [[]string](#[]string)
+
+host_add [[]string](#[]string)
+
+hostname [string](https://godoc.org/builtin#string)
+
+image [string](https://godoc.org/builtin#string)
+
+image_id [string](https://godoc.org/builtin#string)
+
+builtin_imgvolumes [[]string](#[]string)
+
+id_mappings [IDMappingOptions](#IDMappingOptions)
+
+image_volume_type [string](https://godoc.org/builtin#string)
+
+interactive [bool](https://godoc.org/builtin#bool)
+
+ipc_mode [string](https://godoc.org/builtin#string)
+
+labels [map[string]](#map[string])
+
+log_driver [string](https://godoc.org/builtin#string)
+
+log_driver_opt [[]string](#[]string)
+
+name [string](https://godoc.org/builtin#string)
+
+net_mode [string](https://godoc.org/builtin#string)
+
+network [string](https://godoc.org/builtin#string)
+
+pid_mode [string](https://godoc.org/builtin#string)
+
+pod [string](https://godoc.org/builtin#string)
+
+privileged [bool](https://godoc.org/builtin#bool)
+
+publish [[]string](#[]string)
+
+publish_all [bool](https://godoc.org/builtin#bool)
+
+quiet [bool](https://godoc.org/builtin#bool)
+
+readonly_rootfs [bool](https://godoc.org/builtin#bool)
+
+resources [CreateResourceConfig](#CreateResourceConfig)
+
+rm [bool](https://godoc.org/builtin#bool)
+
+shm_dir [string](https://godoc.org/builtin#string)
+
+stop_signal [int](https://godoc.org/builtin#int)
+
+stop_timeout [int](https://godoc.org/builtin#int)
+
+subuidmap [string](https://godoc.org/builtin#string)
+
+subgidmap [string](https://godoc.org/builtin#string)
+
+subuidname [string](https://godoc.org/builtin#string)
+
+subgidname [string](https://godoc.org/builtin#string)
+
+sys_ctl [map[string]](#map[string])
+
+tmpfs [[]string](#[]string)
+
+tty [bool](https://godoc.org/builtin#bool)
+
+uidmap [[]string](#[]string)
+
+userns_mode [string](https://godoc.org/builtin#string)
+
+user [string](https://godoc.org/builtin#string)
+
+uts_mode [string](https://godoc.org/builtin#string)
+
+volumes [[]string](#[]string)
+
+work_dir [string](https://godoc.org/builtin#string)
+
+mount_label [string](https://godoc.org/builtin#string)
+
+process_label [string](https://godoc.org/builtin#string)
+
+no_new_privs [bool](https://godoc.org/builtin#bool)
+
+apparmor_profile [string](https://godoc.org/builtin#string)
+
+seccomp_profile_path [string](https://godoc.org/builtin#string)
+
+security_opts [[]string](#[]string)
+### <a name="CreateResourceConfig"></a>type CreateResourceConfig
+
+CreateResourceConfig is an input structure used to describe host attributes during
+container creation. It is only valid inside a (Create)[#Create] type.
+
+blkio_weight [int](https://godoc.org/builtin#int)
+
+blkio_weight_device [[]string](#[]string)
+
+cpu_period [int](https://godoc.org/builtin#int)
+
+cpu_quota [int](https://godoc.org/builtin#int)
+
+cpu_rt_period [int](https://godoc.org/builtin#int)
+
+cpu_rt_runtime [int](https://godoc.org/builtin#int)
+
+cpu_shares [int](https://godoc.org/builtin#int)
+
+cpus [float](https://golang.org/src/builtin/builtin.go#L58)
+
+cpuset_cpus [string](https://godoc.org/builtin#string)
+
+cpuset_mems [string](https://godoc.org/builtin#string)
+
+device_read_bps [[]string](#[]string)
+
+device_read_iops [[]string](#[]string)
+
+device_write_bps [[]string](#[]string)
+
+device_write_iops [[]string](#[]string)
+
+disable_oomkiller [bool](https://godoc.org/builtin#bool)
+
+kernel_memory [int](https://godoc.org/builtin#int)
+
+memory [int](https://godoc.org/builtin#int)
+
+memory_reservation [int](https://godoc.org/builtin#int)
+
+memory_swap [int](https://godoc.org/builtin#int)
+
+memory_swappiness [int](https://godoc.org/builtin#int)
+
+oom_score_adj [int](https://godoc.org/builtin#int)
+
+pids_limit [int](https://godoc.org/builtin#int)
+
+shm_size [int](https://godoc.org/builtin#int)
+
+ulimit [[]string](#[]string)
+### <a name="IDMap"></a>type IDMap
+
+IDMap is used to describe user name spaces during container creation
+
+container_id [int](https://godoc.org/builtin#int)
+
+host_id [int](https://godoc.org/builtin#int)
+
+size [int](https://godoc.org/builtin#int)
+### <a name="IDMappingOptions"></a>type IDMappingOptions
+
+IDMappingOptions is an input structure used to described ids during container creation.
+
+host_uid_mapping [bool](https://godoc.org/builtin#bool)
+
+host_gid_mapping [bool](https://godoc.org/builtin#bool)
+
+uid_map [IDMap](#IDMap)
+
+gid_map [IDMap](#IDMap)
### <a name="ImageHistory"></a>type ImageHistory
ImageHistory describes the returned structure from ImageHistory.
@@ -691,6 +924,15 @@ insecure_registries [[]string](#[]string)
store [InfoStore](#InfoStore)
podman [InfoPodmanBinary](#InfoPodmanBinary)
+### <a name="Sockets"></a>type Sockets
+
+Sockets describes sockets location for a container
+
+container_id [string](https://godoc.org/builtin#string)
+
+io_socket [string](https://godoc.org/builtin#string)
+
+control_socket [string](https://godoc.org/builtin#string)
### <a name="StringResponse"></a>type StringResponse