Skip to content

podman_pod

The podman_pod domain has 8 actions. On the meta surface they are all reached through arcane_podman_pod; on the individual surface each one is its own tool; on the dynamic surface run them with arcane_execute_action and the canonical ID.

ActionTitleKind
podman_pod.createCreate podwrite
podman_pod.deleteRemove poddestructive
podman_pod.getInspect podread
podman_pod.lifecycleRun pod lifecycle actiondestructive
podman_pod.listList podsread
podman_pod.prunePrune podsdestructive
podman_pod.statsGet pod statsread
podman_pod.topList pod processesread

Create pod

  • Kind: write
  • Required parameters: name
  • Meta tool: arcane_podman_pod with "action": "create"
  • Individual tool: arcane_podman_pod_create
  • Arcane route: POST /api/environments/{id}/podman/pods
  • Operation ID: create-podman-pod
  • Since: Arcane v2.17.0
  • Usage: Creates an empty pod (name required, and it gets an infra container unless noInfra=true) to which containers are added later: hostname, labels, portMappings, networks or networkMode, DNS settings, shared namespaces, restartPolicy, resource limits and the infra container’s image/command. Nothing runs until podman_pod.lifecycle start. Returns the new id. For a pod with its containers in one step use podman.kube_play. Needs podman:pods.
  • Related actions: podman_pod.lifecycle, podman_pod.get, podman.kube_play

Remove pod

  • Kind: destructive — requires confirm: true
  • Required parameters: podId
  • Meta tool: arcane_podman_pod with "action": "delete"
  • Individual tool: arcane_podman_pod_delete
  • Arcane route: DELETE /api/environments/{id}/podman/pods/{podId}
  • Operation ID: delete-podman-pod
  • Since: Arcane v2.17.0
  • Usage: Removes a pod and its containers (podId from podman_pod.list). A pod with running containers is refused unless force=true, which stops them first. Volumes are kept. Needs podman:pods.
  • Related actions: podman_pod.list, podman_pod.prune, podman.kube_down

Inspect pod

  • Kind: read
  • Required parameters: podId
  • Meta tool: arcane_podman_pod with "action": "get"
  • Individual tool: arcane_podman_pod_get
  • Arcane route: GET /api/environments/{id}/podman/pods/{podId}
  • Operation ID: get-podman-pod
  • Since: Arcane v2.17.0
  • Usage: Inspects one pod (podId: name or ID from podman_pod.list): state, infra container and its config (ports, networks, DNS), shared namespaces, cgroup, resource limits, mounts and member containers. Not found fails with an error. Needs podman:read.
  • Related actions: podman_pod.list, podman_pod.top, podman_pod.stats, podman_pod.lifecycle

Run pod lifecycle action

Start, stop, restart, pause, unpause, or kill a pod

  • Kind: destructive — only when action is kill; those calls require confirm: true, the others do not
  • Required parameters: podId, action
  • Meta tool: arcane_podman_pod with "action": "lifecycle"
  • Individual tool: arcane_podman_pod_lifecycle
  • Arcane route: POST /api/environments/{id}/podman/pods/{podId}/{action}
  • Operation ID: podman-pod-action
  • Since: Arcane v2.17.0
  • Usage: Runs one lifecycle action on every container of a pod (podId from podman_pod.list): action is start, stop, restart, pause, unpause or kill. timeout (seconds) bounds a stop before Podman kills, signal picks kill’s signal (default SIGKILL). Only kill needs confirm=true (it ends the processes with no chance to shut down, as container.kill), while start, stop, restart, pause and unpause run without it, as their container.* counterparts do. The pod and its containers stay either way (podman_pod.delete removes them), except containers created with —rm (autoRemove, or those of a quadlet .pod unit), which Podman removes when they stop, also through stop or restart here. Returns a message. Needs podman:pods.
  • Related actions: podman_pod.get, podman_pod.delete, podman_pod.top

List pods

List Podman pods with their member containers

  • Kind: read
  • Required parameters: none
  • Meta tool: arcane_podman_pod with "action": "list"
  • Individual tool: arcane_podman_pod_list
  • Arcane route: GET /api/environments/{id}/podman/pods
  • Operation ID: list-podman-pods
  • Since: Arcane v2.17.0
  • Usage: A page of the environment’s Podman pods (id, name, status, created, infraId, labels, networks and member containers with their state). search matches name, ID, status or network. sort by name, status or created with order asc or desc. start and limit (default 20) page. Only on a Podman environment (podman.status), else 400. Needs podman:read.
  • Related actions: podman_pod.get, podman_pod.create, podman_pod.stats, podman.kube_play

Prune pods

Remove every stopped pod

  • Kind: destructive — requires confirm: true
  • Required parameters: none
  • Meta tool: arcane_podman_pod with "action": "prune"
  • Individual tool: arcane_podman_pod_prune
  • Arcane route: POST /api/environments/{id}/podman/pods/prune
  • Operation ID: prune-podman-pods
  • Since: Arcane v2.17.0
  • Usage: Removes every stopped pod of the environment (pods whose containers all exited, killed ones included) and returns the removed pod IDs. Running pods are untouched. Needs podman:pods.
  • Related actions: podman_pod.list, podman_pod.delete

Get pod stats

  • Kind: read
  • Required parameters: none
  • Meta tool: arcane_podman_pod with "action": "stats"
  • Individual tool: arcane_podman_pod_stats
  • Arcane route: GET /api/environments/{id}/podman/pods/stats
  • Operation ID: get-podman-pod-stats
  • Since: Arcane v2.17.0
  • Usage: One snapshot of CPU, memory, network, block I/O and PID usage per container of the pods named in names (names or IDs, empty means every pod), as podman pod stats --no-stream, and values are Podman’s formatted strings. Needs podman:read.
  • Related actions: podman_pod.top, podman_pod.list

List pod processes

  • Kind: read
  • Required parameters: podId
  • Meta tool: arcane_podman_pod with "action": "top"
  • Individual tool: arcane_podman_pod_top
  • Arcane route: GET /api/environments/{id}/podman/pods/{podId}/top
  • Operation ID: get-podman-pod-top
  • Since: Arcane v2.17.0
  • Usage: The processes running in a pod’s containers (podId from podman_pod.list) as titles and processes rows, like podman pod top, and psArgs passes ps format descriptors. Needs podman:read.
  • Related actions: podman_pod.stats, podman_pod.get