Skip to main content

podman_container resource

Use the podman_container Chef InSpec audit resource to test the configuration of Podman containers.

Availability

Install

This resource is distributed with Chef InSpec and is automatically available for use.

Syntax

Use the podman_container Chef InSpec audit resource to test the properties of a Podman container.

describe podman_container("sweet_mendeleev") do
  it { should exist }
  it { should be_running }
  its("id") { should eq "591270d8d80d26671fd6ed622f367fbe19004d16e3b519c292313feb5f22e7f7" }
  its("image") { should eq "docker.io/library/nginx:latest" }
  its("labels") { should include "maintainer"=>"NGINX Docker Maintainers <docker-maint@nginx.com>" }
  its("ports") { should eq nil }
end

Resource Parameter Examples

name

The container name can be provided with the name resource parameter.

describe podman_container(name: 'an-echo-server') do
  it { should exist }
  it { should be_running }
end

container ID

Alternatively, you can pass the container ID.

describe podman_container(id: '71b5df59442b') do
  it { should exist }
  it { should be_running }
end

Properties

Property Examples

The following examples show how to use this Chef InSpec resource.

id

The id property tests the container ID.

its('id') { should eq '71b5df59...442b' }

image

The image property tests the value of the container image.

its('image') { should eq 'docker.io/library/nginx:latest' }

labels

The labels property tests the value of container image labels.

its('labels') { should eq "maintainer" => "NGINX Docker Maintainers <docker-maint@nginx.com>" }

ports

The ports property tests the value of the Podmans ports.

its('ports') { should eq '0.0.0.0:1234->1234/tcp' }

command

The command property tests the value of the container run command.

its('command') { should eq 'nc -ll -p 1234 -e /bin/cat' }

Matchers

For a full list of available matchers, see our Universal Matchers page. The specific matchers of this resource are: exist and be_running.

exist

The exist matcher specifies if the container exists.

it { should exist }

be_running

The be_running matcher checks if the container is running.

it { should be_running }

Examples

The following examples show how to use this Chef InSpec audit resource.

Ensures container exists

The below test passes if the container sweet_mendeleev exists as part of the Podman instances.

describe podman_container('sweet_mendeleev') do
  it { should exist }
end

Ensures container is in running status

The below test passes if the container sweet_mendeleev exists as part of the Podman instances and the status is running.

describe podman_container('sweet_mendeleev') do
  it { should be_running }
end
Edit this page on GitHub

Thank you for your feedback!

×