Skip to content

Support all skopeo image prefixes for tern report -i #1247

@mtalexan

Description

@mtalexan

Describe the Feature

Add support for all of the recognized skopeo image prefixes: i.e. oci-archive:, docker-archive:, containers-storage: (podman image cache), dirs:, etc.

Use Cases

  • I want to analyze a pre-built docker-archive
  • I want to analyze a pre-built oci-archive
  • I want to analyze a pre-built image in the the podman image cache
  • I want to analyze a pre-built image stored in dirs format
  • ...

Implementation Changes

The code currently seems to do pre-parsing of the -i/--image argument to look for a list of known prefixes and conditionally add the remote registry prefix docker:// if none are found. The actual command has skopeo do the format conversion into the desired dirs format that will be used for analysis.
This requires tern to duplicate the list of format prefixes skopeo supports, which isn't required by skopeo itself.

Two approaches to avoiding duplicating but supporting all the format-prefixes exist:

  1. Rely on skopeo's default that uses docker:// if no format prefix is specified.
  2. Look for two : vs one in what was specified.

Relying on the default has some possible caveats but is by far the easiest and likely best.

Parsing for two : vs one works if the version tag is required (instead of defaulting to :latest that's extremely bad practice anyway), and allows any arbitrary format prefix to optionally exist.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions