Требования Podman¶
Linux (rootless)¶
systemctl --user enable --now podman.socket
export CAUTEM_DRIVER=podman
# export CAUTEM_PODMAN_SOCKET=$XDG_RUNTIME_DIR/podman/podman.sock
# или: export DOCKER_HOST=unix:///run/user/$UID/podman/podman.sock
podman info
cautem status
macOS (Podman Machine)¶
Discovery также смотрит
~/.local/share/containers/podman/machine/podman.sock и podman info.
Образы¶
Те же теги, что у Docker (cautem-sandbox:local, :cursor, … или GHCR).
Соберите через Docker tooling с загрузкой в store Podman, либо
podman pull / podman load.
Gateway¶
Gateway по-прежнему на хосте (бинарь или compose). Выберите его до create с proxy/providers — как для Docker.
Профиль AppArmor¶
Podman backend принимает app_armor_profile в таблице driver gateway:
Допустимые значения: RuntimeDefault, Unconfined и
Localhost/<profile-name>. Для RuntimeDefault и Localhost/... системная
информация Podman должна сообщать о поддержке AppArmor; иначе конфигурация
завершится ошибкой до создания sandbox. Unconfined явно отключает AppArmor
confinement.
Driver-конфигурация от пользователя¶
template.driver_config по умолчанию выключен. Включайте его в таблице Podman
только если workload нужны специфичные для Podman mounts или CDI-устройства:
Named volume должен существовать и иметь стандартные admission labels для целевого workspace:
podman volume create \
--label openshell.ai/sandbox-attachable=true \
--label openshell.ai/sandbox-attachable-workspace=team-a \
agent-cache
Backend проверяет эти labels и identity volume перед повторным запуском. Bind и
image mounts запрещены, пока resource_admission.enabled = true: Podman не
предоставляет доверенный label resolver для таких источников. Для bind mounts
также требуется enable_bind_mounts = true.
