iAklis / stereoscope

go library for processing container images and simulating a squash filesystem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

stereoscope

Go Report Card GitHub go.mod Go version License: Apache-2.0 Slack Invite

A library for working with container image contents, layer file trees, and squashed file trees.

Getting Started

See examples/basic.go

docker image save centos:8 -o centos.tar
go run examples/basic.go ./centos.tar

Note: To run tests you will need skopeo installed.

Overview

This library provides the means to:

  • parse and read images from multiple sources, supporting:
    • docker V2 schema images from the docker daemon, podman, or archive
    • OCI images from disk, directory, or registry
    • singularity formatted image files
  • build a file tree representing each layer blob
  • create a squashed file tree representation for each layer
  • search one or more file trees for selected paths
  • catalog file metadata in all layers
  • query the underlying image tar for content (file content within a layer)

About

go library for processing container images and simulating a squash filesystem

License:Apache License 2.0


Languages

Language:Go 97.2%Language:Makefile 1.6%Language:Shell 0.8%Language:Dockerfile 0.4%