Skip to content

toddysm/regshape

RegShape

GitHub issues GitHub pull requests

RegShape

RegShape (from REGistry reSHAPE) is a CLI tool and a Python library for manipulating artifacts in an OCI registry. While there are many other tools that can do this (see ORAS, regclient, or Google's crane), the goal of RegShape is to provide flexibility to manipulate the requests with an intention to break the consistency of the artifacts.

You can use RegShape in two modes:

  • Standard mode — interact with registries as you would with any other tool: pull and push manifests, blobs, tags, and more.
  • Expert / break mode — manually craft requests to test registry implementations and probe their security boundaries.

RegShape is written in Python and offers Python libraries that can be leveraged to build your own tools. The CLI is built on top of the libraries and uses the Click framework.

Note: The tool is still in early development and the API is not stable yet.

Installation

git clone https://github.com/toddysm/regshape.git
cd regshape
pip install -e .

Quick Start

Ping a registry to verify connectivity:

regshape ping registry-1.docker.io

Retrieve a manifest:

regshape manifest get -i docker.io/library/alpine:latest

List tags for a repository:

regshape tag list -i docker.io/library/alpine

Documentation

Guides

Architecture & Design

CLI Command Specs

Command Spec
Auth specs/cli/auth.md
Blob specs/cli/blob.md
Catalog specs/cli/catalog.md
Manifest specs/cli/manifest.md
Tag specs/cli/tag.md
Referrer specs/cli/referrer.md
Ping specs/cli/ping.md
Layout specs/cli/layout.md
Layout Push specs/cli/layout-push.md
Formatting specs/cli/formatting.md

Library Specs

  • Models — Blob, Catalog, Error, Manifest, Referrer, Tags
  • Operations — Blobs, Catalog, Manifests, Referrers, Tags

Contributing

See CONTRIBUTING.md for instructions on setting up your development environment.

Security

To report a vulnerability, please see SECURITY.md.

License

This project is licensed under the Apache License 2.0 — see the LICENSE file for details.

About

Command line tool for interaction with OCI compliant artifact registries.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages