podman_image resource
Use the podman_image
Chef InSpec audit resource to test the properties of a container image on Podman.
Availability
Installation
This resource is distributed with Chef InSpec and is automatically available for use.
Syntax
A podman_image
Chef InSpec audit resource aids in testing the properties of a container image on Podman.
describe podman_image("docker.io/library/busybox") do
it { should exist }
its("id") { should eq "3c19bafed22355e11a608c4b613d87d06b9cdd37d378e6e0176cbc8e7144d5c6" }
its("repo_tags") { should include "docker.io/library/busybox:latest" }
its("size") { should eq 1636053 }
its("os") { should eq "linux" }
end
where
id
,repo_tags
,size
, andos
are properties of this resource to fetch the respective value of the container image.exist
is a matcher of this resource.
Resource Parameter Examples
- The resource allows you to pass an image name. If the tag is missing for an image,
latest
is assumed as default.
describe podman_image("docker.io/library/busybox") do
it { should exist }
end
- The resource allows you to pass the repository and tag values as separate values.
describe podman_image(repo: "docker.io/library/busybox", tag: "latest") do
it { should exist }
end
- The resource allows you to pass with an image ID.
describe podman_image(id: "8847e9bf6df8") do
it { should exist }
end
Properties
id
The id
property returns the full image ID.
its("id") { should eq "3c19bafed22355e11a608c4b613d87d06b9cdd37d378e6e0176cbc8e7144d5c6" }
repo_tags
The repo_tags
property tests the value of the repository name.
its("repo_tags") { should include "docker.io/library/busybox:latest" }
size
The size
property tests the size of the image in bytes
its("size") { should eq 1636053 }
digest
The digest
property tests the value of the image digest.
its("digest") { should eq "sha256:3614ca5eacf0a3a1bcc361c939202a974b4902b9334ff36eb29ffe9011aaad83" }
created_at
The created_at
property tests the time of the image creation.
its("created_at") { should eq "2022-06-08T00:39:28.175020858Z" }
version
The version
property tests the version of the image.
its("version") { should eq "20.10.12" }
names_history
The names_history
property tests the names history of the image.
its("names_history") { should include "docker.io/library/busybox:latest" }
repo_digests
The repo_digests
tests the digest of the repository of the given image.
its("repo_digests") { should include "docker.io/library/busybox@sha256:2c5e2045f35086c019e80c86880fd5b7c7a619878b59e3b7592711e1781df51a" }
architecture
The architecture
tests the architecture of the given image.
its("architecture") { should eq "arm64" }
os
The os
property tests the operating system of the given image.
its("os") { should eq "linux" }
virtual_size
The virtual_size
property tests the virtual size of the given image.
its("virtual_size") { should eq 1636053 }
Matchers
For a full list of available matchers, please visit our matchers page.
exist
The exist
matcher tests if the image is available on Podman.
it { should exist }
Examples
Test if an image exists on Podman and verify the various image properties
describe podman_image("docker.io/library/busybox") do
it { should exist }
its("id") { should eq "3c19bafed22355e11a608c4b613d87d06b9cdd37d378e6e0176cbc8e7144d5c6" }
its("repo_tags") { should include "docker.io/library/busybox:latest" }
its("size") { should eq 1636053 }
its("digest") { should eq "sha256:3614ca5eacf0a3a1bcc361c939202a974b4902b9334ff36eb29ffe9011aaad83" }
its("created_at") { should eq "2022-06-08T00:39:28.175020858Z" }
its("version") { should eq "20.10.12" }
its("names_history") { should include "docker.io/library/busybox:latest" }
its("repo_digests") { should include "docker.io/library/busybox@sha256:2c5e2045f35086c019e80c86880fd5b7c7a619878b59e3b7592711e1781df51a" }
its("architecture") { should eq "arm64" }
its("os") { should eq "linux" }
its("virtual_size") { should eq 1636053 }
its("resource_id") { should eq "docker.io/library/busybox:latest" }
end
Was this page helpful?