Skip to main content

CLI tool and Python library for manipulating artifacts in OCI registries

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

regshape-0.1.0.tar.gz (168.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

regshape-0.1.0-py3-none-any.whl (218.2 kB view details)

Uploaded Python 3

File details

Details for the file regshape-0.1.0.tar.gz.

File metadata

  • Download URL: regshape-0.1.0.tar.gz
  • Upload date:
  • Size: 168.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for regshape-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8b62f391b462d158df1e6a1b414175fe022c3c6a2f26d4207d44259c36150c0a
MD5 71f95fffb5827fd5ef4aaa0bfa64dd02
BLAKE2b-256 889a833fc8b92d72c95854ac8eacd948ea80e196e3db7b7c4eb807ef1b41aa65

See more details on using hashes here.

Provenance

The following attestation bundles were made for regshape-0.1.0.tar.gz:

Publisher: publish.yml on toddysm/regshape

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file regshape-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: regshape-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 218.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for regshape-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c864d8e162754e310e8dd9759e00a6b2f4f899314482fec4c3a5edb025f98c06
MD5 005037c5c4e6a8fae8687e8ff28da7ad
BLAKE2b-256 a4def9e26390bdbef047a1e024dfdf7effcbef65b414673e194e4853f2530be6

See more details on using hashes here.

Provenance

The following attestation bundles were made for regshape-0.1.0-py3-none-any.whl:

Publisher: publish.yml on toddysm/regshape

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page