podman
The podman domain has 6 actions. On the meta surface they are all reached through arcane_podman; on the individual surface each one is its own tool; on the dynamic surface run them with arcane_execute_action and the canonical ID.
Summary
Section titled “Summary”| Action | Title | Kind |
|---|---|---|
podman.auto_update_run | Run Podman auto-update | destructive |
podman.info | Get Podman info | read |
podman.kube_down | Tear down kube YAML | destructive |
podman.kube_generate | Generate kube YAML | read |
podman.kube_play | Play kube YAML | destructive |
podman.status | Get Podman status | read |
Actions
Section titled “Actions”podman.auto_update_run
Section titled “podman.auto_update_run”Run Podman auto-update
Run podman auto-update through the REST API or its systemd unit
- Kind: destructive — only when
dryRun is false or absent; those calls requireconfirm: true, the others do not - Required parameters: none
- Meta tool:
arcane_podmanwith"action": "auto_update_run" - Individual tool:
arcane_podman_auto_update_run - Arcane route:
POST /api/environments/{id}/podman/autoupdate - Operation ID:
run-podman-autoupdate - Since: Arcane v2.17.0
- Usage: Runs
podman auto-update: containers with the label io.containers.autoupdate=registry (or local) whose image has a newer digest are pulled and restarted through their systemd units. On Podman 6.2+ it runs over the REST API and returns one report per container (dryRun only reports, and rollback, tlsVerify, authfile and filters are passed on). On older Podman it starts podman-auto-update.service on the host and returns the unit’s final state (mode systemd, no reports, and dryRun and the other options are refused with 400). 409 when neither is available (see podman.status autoUpdateMode). Sends Arcane’s update notifications for containers it updated. Needs confirm=true unless dryRun=true (a dry run only reports). Needs podman:autoupdate. - Related actions:
podman.status,podman_quadlet.list,updater.run
podman.info
Section titled “podman.info”Get Podman info
- Kind: read
- Required parameters: none
- Meta tool:
arcane_podmanwith"action": "info" - Individual tool:
arcane_podman_info - Arcane route:
GET /api/environments/{id}/podman/info - Operation ID:
get-podman-info - Since: Arcane v2.17.0
- Usage: Podman’s own
podman infofor the environment: host (arch, kernel, cgroup manager and version, OCI runtime, network backend, security such as rootless and SELinux), store (graph driver, image and container counts), registries and version. 400 on an environment that is not Podman (see podman.status). Needs podman:read. - Related actions:
podman.status,system.docker_info
podman.kube_down
Section titled “podman.kube_down”Tear down kube YAML
Remove pods and containers created from Kubernetes YAML
- Kind: destructive — requires
confirm: true - Required parameters:
yaml - Meta tool:
arcane_podmanwith"action": "kube_down" - Individual tool:
arcane_podman_kube_down - Arcane route:
POST /api/environments/{id}/podman/kube/down - Operation ID:
down-podman-kube - Since: Arcane v2.17.0
- Usage: Stops and removes the pods and containers a Kubernetes YAML created (pass the same yaml as podman.kube_play), as
podman kube down, and force=true also removes the volumes it created. Returns stopReport and rmReport with the pod IDs. Irreversible. Needs podman:kube. - Related actions:
podman.kube_play,podman_pod.list,podman_pod.delete
podman.kube_generate
Section titled “podman.kube_generate”Generate kube YAML
Generate Kubernetes YAML from pods, containers, or volumes
- Kind: read
- Required parameters:
names - Meta tool:
arcane_podmanwith"action": "kube_generate" - Individual tool:
arcane_podman_kube_generate - Arcane route:
POST /api/environments/{id}/podman/kube/generate - Operation ID:
generate-podman-kube - Since: Arcane v2.17.0
- Usage: Writes Kubernetes YAML for existing pods, containers or volumes (names: their names or IDs, from podman_pod.list or container.list), as
podman kube generate. type picks the kind (pod by default, or deployment, daemonset, job) and service=true adds a Service. Returns yaml. Nothing is changed, so it is safe to call to back up a pod or move it with podman.kube_play elsewhere. Needs podman:kube. - Related actions:
podman.kube_play,podman_pod.list
podman.kube_play
Section titled “podman.kube_play”Play kube YAML
Create pods and containers from Kubernetes YAML
- Kind: destructive — only when
replace is true; those calls requireconfirm: true, the others do not - Required parameters:
yaml - Meta tool:
arcane_podmanwith"action": "kube_play" - Individual tool:
arcane_podman_kube_play - Arcane route:
POST /api/environments/{id}/podman/kube/play - Operation ID:
play-podman-kube - Since: Arcane v2.17.0
- Usage: Creates pods (and their containers, volumes and config maps) from Kubernetes YAML, as
podman kube play: yaml is the manifest text, start (default true) starts them, networks attaches them, and replace=true first removes existing pods of the same names: only that needs confirm=true (without replace, a name already in use fails instead of being replaced). Returns pods (id, containers, logs, containerErrors), volumes and serviceContainerId. Images are pulled when missing, so give fully qualified names (docker.io/library/…) unless the host’s registries.conf resolves short ones. Needs podman:kube. - Related actions:
podman.kube_down,podman.kube_generate,podman_pod.list,podman_pod.get
podman.status
Section titled “podman.status”Get Podman status
Report whether the environment runs Podman and which Podman features it supports
- Kind: read
- Required parameters: none
- Meta tool:
arcane_podmanwith"action": "status" - Individual tool:
arcane_podman_status - Arcane route:
GET /api/environments/{id}/podman/status - Operation ID:
get-podman-status - Since: Arcane v2.17.0
- Usage: Whether the environment’s engine is Podman, and what Arcane can do with it: detected, version, apiVersion, rootless, quadletsSupported (Podman 5.8+), quadletAppsSupported (6.1+), autoUpdateMode (rest on Podman 6.2+, systemd when Arcane reaches the host’s systemd bus, else unavailable) and systemdAvailable with systemdReason. Always answers 200: on a Docker environment detected is false and every other podman, podman_pod, podman_quadlet and podman_secret action fails with 400 ‘Podman was not detected on this environment’. Check it first. Needs podman:read.
- Related actions:
podman.info,podman_pod.list,podman_quadlet.list,podman.auto_update_run