MCPcopy Index your code
hub / github.com/Trow-Registry/trow

github.com/Trow-Registry/trow @chart-v0.13.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release chart-v0.13.0 ↗ · + Follow
329 symbols 727 edges 54 files 32 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Trow

Tests

Image management and caching for Kubernetes.

We're building a small registry to make image management in Kubernetes easy. The Trow Registry runs inside the cluster with very little resources, and is simple to set-up so it caches every image.

Use Cases

  • Spin up a lightweight registry within Kubernetes
  • Cache every image in a cluster when using the proper containerd or cri-o configuration
  • Prevent unauthorized images form touching the cluster with the admission webhook

Features include:

  • [x] conforms to the OCI Distribution Specification for registries
  • [x] controls images running inside the cluster via approve/deny lists
  • [x] automagically proxy any registry
  • [ ] distributed architecture for HA and scalability (coming soon)
  • [ ] full auditing and authentication of image access (planned)

Comparison to Other Registries

See COMPARISON.md.

Install

A helm chart is available.

Note that Trow is currently beta and you can expect to find rough edges.

Architecture and Design

If you're interested in the design of Trow please take a look at the Architecture Guide.

User Guide

Work has started on a User Guide. Currently this explains how to persist images and how to list repositories and tags via curl.

Contributing

Please take a look at CONTRIBUTING.md for details on how to help out and DEVELOPING.md for how to get started compiling and running Trow. See also the Architecture Guide.

Code of Conduct

All participants in the Trow project are expected to comply with the code of conduct.

Why "Trow"

"Trow" is a word with multiple, divergent meanings. In Shetland folklore a trow is a small, mischievous creature, similar to the Scandinavian troll. In England, it is an old style of cargo boat that transported goods on rivers. Finally, it is an archaic word meaning "to think, believe, or trust". The reader is free to choose which interpretation they like most, but it should be pronounced to rhyme with "brow".

Core symbols most depended-on inside this repo

start_trow
called by 21
tests/registry_interface.rs
insert
called by 19
src/types.rs
upload_fake_image
called by 17
tests/common/mod.rs
as_ref
called by 15
src/utils/digest.rs
as_str
called by 15
src/utils/digest.rs
format_error_json
called by 12
src/routes/response/errors.rs
digest
called by 9
src/registry/api_types.rs
check_image_is_allowed
called by 8
src/utils/admission.rs

Shape

Function 174
Method 99
Class 42
Enum 14

Languages

Rust100%

Modules by API surface

tests/registry_interface.rs34 symbols
src/types.rs28 symbols
src/utils/manifest.rs17 symbols
src/utils/digest.rs16 symbols
src/registry/storage.rs15 symbols
src/utils/temporary_file.rs13 symbols
src/lib.rs13 symbols
tests/smoke_test_proxy.rs12 symbols
src/configuration.rs12 symbols
src/routes/blob_upload.rs10 symbols
src/registry/garbage_collect.rs10 symbols
src/registry/api_types.rs9 symbols

For agents

$ claude mcp add trow \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact