Podman
Use Podman engines with Cortex XSOAR On-prem 8.7 (EoL).
Podman is a daemonless container engine for developing, managing, and running OCI Containers on the Linux System. Containers can either be run as root or in rootless mode.
If you use the Shell installer to install an engine, Cortex XSOAR automatically detects the container management type based on the operating system. For example, if your operating system is running RHEL v8 and higher, Cortex XSOAR installs Podman packages and configures the operating system to enable Podman in rootless mode.
Note
When upgrading an engine, the engine keeps the previously used container management type (regardless of distribution version).
If using PowerShell integrations, you may need to configure the default SELinux policy as Podman can affect processes which mmap to /dev/zero.
Docker hardening guidelines
Docker hardening guidelines can be applied to Podman, with the exception of Limit Available Memory, Limit Available CPU, and Limit PIDS.
Change container storage directory
By default, Podman uses the $HOME/.local/share/containers/storage directory. To use a different directory for container storage, edit the Podman config file located at /home/demisto/.config/containers/storage.conf. If the Podman config file does not exist, you need to create it and change the ownership.
The new storage directory needs to be owned by the demisto user, otherwise they will be denied access to it.
Tip
We recommend reserving 150 GB for container storage, either in the /home partition or a different storage directory that you have set using the grarphroot key.
If the Podman config file does not exist:
Create the Podman config file.
sudo mkdir -p /home/demisto/.config/containerscp /etc/containers/storage.conf /home/demisto/.config/containersChange the ownership of the Podman config file.
sudo chown -R demisto:demisto /home/demisto
To set a different directory for container storage, change the key:
graphrootin thestorage.conffile. For example:graphroot = "/var/lib/containers/xsoar-storage"Some additional changes are required in the storage.conf file. Comment out the
runrootsetting by adding a#(hash) before it. For example:#runroot = "/run/containers/storage"Under [storage.options.overlay], uncomment the following line (remove the # from the start):
mount_program = "/usr/bin/fuse-overlayfs"If the engine has already been installed, apply your changes to any existing containers:
sudo -u demisto podman system migrateVerify the change (once the engine is installed):
sudo -u demisto podman info | grep graph
Install Podman
When installing a new engine on RHEL 8 or later, the shell installer configures Podman automatically. There are some cases, however, where you might need to install Podman manually:
When using an installation method other than the shell installer (e.g. an RPM package) on RHEL 8 or later.
When the shell installer did not successfully install Podman.
When you want to migrate from Docker to Podman, for an existing Cortex XSOAR engine.
Note
This procedure is intended for RHEL 8 or later. It may not work for other operating system types.
Do not use NAS storage for the $HOME directory. The directory needs to be a local directory for Podman to work.
For RHEL 8, install Podman by typing the following commands:
sudo yum -y install slirp4netns fuse-overlayfssudo yum -y module install container-tools
For RHEL 9 or later, install Podman by typing the following command:
sudo yum -y install slirp4netns fuse-overlayfs podman
Run the following commands:
sudo touch /etc/subuid /etc/subgidsudo mkdir -p /home/demistosudo chown demisto:demisto /home/demisto
Configure the
unqualified-search-registriesused by Podman.Podman by default uses the fedoraproject.org, redhat.com, and docker.io unqualified search registries. SinceCortex XSOAR images use only the docker.io registry, you can speed up download times for container images by setting
unqualified-search-registriesto just docker.io.Create or edit the
/home/demisto/.config/containers/registries.confconfig file.
Change the
subuidsandsubgidsby running the following command:sudo usermod --add-subuids 200000-265535 --add-subgids 200000-265535 demistoMigrate existing containers to Podman:
sudo sh -c "cd /; runuser -u demisto -- podman system migrate"Set the
net.ipv4.ping-group-range, by typing the following commands:sudo sh -c "echo 'net.ipv4.ping_group_range=0 2000000' > /etc/sysctl.d/demisto-ping.conf"sudo sysctl -w "net.ipv4.ping_group_range=0 2000000"
As root user, edit the following
configfile:/usr/local/demisto/d1.confChange the
"container.engine.type": "docker"to“podman".If this line does not exist, add the following line to the file:
"container.engine.type": "podman"
Migrate From Docker to Podman
Although Podman is set up automatically in an engine installation, it is possible to migrate from Docker to Podman in an existing engine. Follow the Podman installation instructions to migrate.
Troubleshoot Podman
Last updated
Was this helpful?
