Bereits im letzten Jahr haben die ersten Arbeiten an einer API für Podman begonnen. Dabei fiel die Wahl auf die Varlink-API [1]. Diese soll ein einfaches Interface über einen Unix-Dateideskriptor (Socket) als Endpunkt zur Verfügung stellen. Mithilfe eines SSH-Tunnels steht dieses Interface dann auch auf entfernten Systemen zur Verfügung. Im Laufe dieses Jahres kam eine Python-Bibliothek für Podman [2] hinzu, mit deren Hilfe der Zugriff auf die Varlink-API auch direkt aus Python-Programmen heraus funktioniert. Die in diesem Artikel aufgeführten Beispiele basieren auf einer Fedora-30-Installation, auf der wir die folgenden Software-Pakete aus dem Standard Repository der Distribution installiert haben:
rpm -q podman python3-podman-api libvarlink
podman-1.5.1-3.fc30.x86_64
python3-podman-api-0.0.0-0.1.20190613gitd0a45fe.fc30.noarch
libvarlink-18-1.fc30.x86_64
Alternativ zu den vorgefertigten Paketen können Sie die Software natürlich auch direkt aus den Quellen heraus installieren [2, 3].
Um den Endpunkt der Varlink-API zu erzeugen, bietet Podman eine systemd-Unit-Datei an (Listing 1). Diese sorgt dafür, dass der System- und Service-Manager auf dem angegebenen Socket auf eingehende Anfragen lauscht. Die systemd-Service-Datei (Listing 2) sorgt dann dafür, dass das Podman-Tool aufgerufen wird, sobald der API-Endpunkt angesprochen wird. Schließlich müssen Sie sicherstellen, dass das systemd-Socket aktiv ist, damit Anfragen an dieses Socket Podman erreichen:
systemctl enable --now io.podman.socket
systemctl status io.podman.socket io.podman.socket - Podman Remote API Socket
Loaded: loaded (/usr/lib/systemd/system/io.podman.socket; enabled; vendor...
Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.