Skip to main content

podman_container resource

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

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.

Ensure the container sweet_mendeleev exists as part of the Podman instances:

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

Ensure 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

Thank you for your feedback!

×