dive, An Image Analysed With No Daemon

dive on EL 10 from the GitHub release; get_url refuses it unless its SHA-256 is in the vendor's checksums file, and the live test re-checks it, then writes a one-layer image in docker-archive form and has dive --ci analyse it (PASS) and export the analysis as JSON, asserting the layer and the file in it. Pinned. Original role, live-tested on Rocky Linux 10.

ansibleCloud Tooling

Verification

Live-tested

Really deployed to a container sandbox, proven idempotent (a second run changes nothing), verified against the role’s assertions, then torn down.

Conformance

  • Static validation (yamllint · ansible-lint)

Provenance

  • SHA-256 checksum
  • Signature (pending)

Functional

  • Live-tested - applied, verified, destroyed

Last verified 2026-09-21 · podman 4.9.3 · ansible 2.21.4 · how we verify

Documentation

dive

wagoodman dive on EL 10 from the vendor's release, checked against the published SHA-256, pinned to a version, installed as root's binary in /usr/local/bin. Original role for EL 10, live-tested with podman on Rocky Linux 10.

No package worth the name. EL 10 carries no dive, and a third-party repository is one more key to trust. This role takes the release from github.com/wagoodman/dive, has Ansible's get_url refuse the asset unless its SHA-256 is the published one, and the live test checks the asset on disk against the same published value again.

Pinned. dive_version is what gets installed, kept in a directory of its own so the checksum file and the asset it names stay together. A newer release is a variable change and a run; the same version is changed=0.

Proven to run. The live test runs dive --ci --source docker-archive /tmp/dive-p/probe.tar and expects "Result:PASS" - the binary ran all the way to the point where it needed something this host does not have.

An image analysed, with no daemon. dive is usually pointed at a Docker daemon; the live test needs none. It writes a one-layer image in docker-archive form with a Python script (manifest, config with the layer's diff id, the layer tarball holding one six-byte file), has dive --ci --source docker-archive analyse it (the CI rules pass: one layer, nothing wasted) and exports the analysis as JSON, asserting the layer and the file are in it. The same tarball form is what docker save and podman save produce.

License

Commercial - IaC Bazaar EULA. (c) IaC Bazaar.

Usage code & full reference need an account

The complete copy-paste usage, the full input/output reference, and operational notes are free with an account - shown here and bundled in the download. Sign in and this section fills in.

  • Variables
  • Test

Related modules