Anthony Oteri 5031866876 refactor: simplify codebase and fix correctness issues
- api: extract check_api_version_header() helper, eliminating duplicated
  header-checking logic in parse_response_status()
- api: simplify parse_rfc5988() using split_once and let-else
- api: propagate JSON decode errors in fetch_paginated() instead of
  silently swallowing them
- api: add connect/request timeouts via a shared build_client() helper;
  all handlers now use a configured client instead of reqwest::get()
- api: fix stale log trace name get_manifest -> get_digest
- commands: promote inline response structs to module-level for clarity
- commands: fix etag stripping logic (was using wrong quote/apostrophe
  pattern; now correctly strips RFC 7232 double-quotes)
- commands: simplify iterator chains in catalog/tags handlers
- error: simplify ResponseHeaderParseError from Box<dyn Error> to String
- main: fix stale log trace name make_registry_url -> parse_registry_arg
- main: use as_deref().unwrap_or() instead of allocating via to_owned()
- cli: remove unused imports and #![allow(unused_imports)] attribute
2026-05-13 14:01:18 -04:00
2023-10-03 09:36:43 -04:00
2023-10-03 09:55:09 -04:00
2023-10-03 09:36:43 -04:00
2023-09-13 17:37:28 -04:00
2023-09-22 08:28:05 -04:00
2023-10-03 09:36:43 -04:00
2023-10-03 09:36:43 -04:00
2023-10-03 09:36:43 -04:00
2023-10-03 09:55:09 -04:00
2023-09-21 14:43:14 -04:00

dredge

Dredge is a command line tool for working with the Docker Registry V2 API.

Usage

Dredge is a command line tool for working with the Docker Registry V2 API.

Usage: dredge [OPTIONS] <REGISTRY> <COMMAND>

Commands:
  catalog  Fetch the list of available repositories from the catalog
  tags     Fetch the list of tags for a given image
  show     Show detailed information about a particular image
  delete   Delete a tagged image from the registry
  check    Perform a simple API Version check towards the configured registry endpoint
  help     Print this message or the help of the given subcommand(s)

Arguments:
  <REGISTRY>
          The host or host:port or full base URL of the Docker Registry

Options:
      --log-level[=<LEVEL>]
          [default: info]
          [possible values: trace, debug, info, warn, error, off]

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version

Checking the API Version

Perform a simple API Version check towards the registry endpoint

Usage: dredge <REGISTRY> check

Options:
  -h, --help  Print help

Fetch Repository List

Fetch the list of available repositories from the catalog

Usage: dredge <REGISTRY> catalog

Options:
  -h, --help  Print help

Listing tags for an image

Fetch the list of tags for a given image

Usage: dredge <REGISTRY> tags <NAME>

Arguments:
  <NAME>  

Options:
  -h, --help  Print help

Viewing details of a tagged image

Show detailed information about a particular image

Usage: dredge <REGISTRY> show <IMAGE> [TAG]

Arguments:
<IMAGE>  
[TAG]

Options:
-h, --help  Print help

Deleteing a tagged image

Delete a tagged image from the registry

Note! This requires that the registry has storage delete rights enabled. For example, when creating the registry, setting the environment variable REGISTRY_STORAGE_DELETE_ENABLED=true to enable that feature. If that is not enabled, a MethodNotAllowed error will be returned.

Note! This will only remove the tag from the registry, it will not remove orphaned digests. For that, the garbage collector on the registry service must be run separately.

Usage: dredge <REGISTRY> delete <IMAGE> <TAG>

Arguments:
<IMAGE>  
<TAG>

Options:
-h, --help  Print help

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

S
Description
Docker Registry UI
Readme 426 KiB
Languages
Rust 89.9%
Just 6.8%
Shell 3.3%