https://github.com/Trow-Registry/trow

Container Registry and Image Management for Kubernetes Clusters

https://github.com/Trow-Registry/trow

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.3%) to scientific vocabulary

Keywords

container-registry containers docker docker-registry-cache kubernetes oci-distribution registry rust
Last synced: 6 months ago · JSON representation

Repository

Container Registry and Image Management for Kubernetes Clusters

Basic Info
  • Host: GitHub
  • Owner: Trow-Registry
  • License: apache-2.0
  • Language: Rust
  • Default Branch: main
  • Homepage: http://trow.io/
  • Size: 3.92 MB
Statistics
  • Stars: 968
  • Watchers: 18
  • Forks: 107
  • Open Issues: 31
  • Releases: 22
Topics
container-registry containers docker docker-registry-cache kubernetes oci-distribution registry rust
Created over 8 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Codeowners

README.md

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".

Owner

  • Name: Trow
  • Login: Trow-Registry
  • Kind: organization

GitHub Events

Total
  • Create event: 64
  • Issues event: 34
  • Release event: 8
  • Watch event: 52
  • Delete event: 43
  • Issue comment event: 38
  • Push event: 134
  • Pull request review event: 11
  • Pull request review comment event: 2
  • Pull request event: 81
  • Fork event: 6
Last Year
  • Create event: 64
  • Issues event: 34
  • Release event: 8
  • Watch event: 52
  • Delete event: 43
  • Issue comment event: 38
  • Push event: 134
  • Pull request review event: 11
  • Pull request review comment event: 2
  • Pull request event: 81
  • Fork event: 6

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 26
  • Total pull requests: 50
  • Average time to close issues: over 2 years
  • Average time to close pull requests: 23 days
  • Total issue authors: 11
  • Total pull request authors: 5
  • Average comments per issue: 1.46
  • Average comments per pull request: 0.14
  • Merged pull requests: 36
  • Bot issues: 0
  • Bot pull requests: 14
Past Year
  • Issues: 14
  • Pull requests: 42
  • Average time to close issues: 23 days
  • Average time to close pull requests: 1 day
  • Issue authors: 6
  • Pull request authors: 4
  • Average comments per issue: 0.93
  • Average comments per pull request: 0.07
  • Merged pull requests: 33
  • Bot issues: 0
  • Bot pull requests: 10
Top Authors
Issue Authors
  • amouat (12)
  • awoimbee (8)
  • albal (2)
  • wackazong (2)
  • sharkymcdongles (1)
  • jzaron (1)
  • jerome-blanche (1)
  • explsd (1)
  • foggy-glasses (1)
  • mms-gianni (1)
  • richiesgr (1)
Pull Request Authors
  • awoimbee (34)
  • dependabot[bot] (15)
  • explsd (2)
  • mathijshoogland (1)
  • albal (1)
  • amouat (1)
  • blaggacao (1)
Top Labels
Issue Labels
bug (9) enhancement (8) good first issue (5) hacktoberfest (2) blocked (1) help wanted (1)
Pull Request Labels
dependencies (15) github_actions (6) rust (2)

Dependencies

Cargo.lock cargo
  • 292 dependencies
Cargo.toml cargo
  • anyhow 1.0
  • base64 0.13.0
  • bytes 1
  • chrono ^0.4
  • clap 3.0
  • data-encoding 2.3
  • derive_more 0.99
  • env_logger 0.9
  • frank_jwt 3.1
  • futures 0.3
  • hex 0.4
  • hostname 0.3
  • jwt 0.16
  • lazy_static 1.4.0
  • log 0.4
  • openssl 0.10
  • prost 0.9
  • prost-types 0.9
  • rand 0.8
  • regex 1.5.0
  • rocket 0.5.0-rc
  • rusqlite 0.27
  • rust-argon2 1.0
  • serde 1.0
  • serde_derive 1.0
  • serde_json 1.0
  • sha2 0.10
  • thiserror 1.0
  • tonic 0.6
  • uuid 0.8
docker/Dockerfile docker
  • debian stable-slim build
  • rust latest build
.github/workflows/config/kind.yaml actions
.github/workflows/config/values.yaml actions
.github/workflows/pr-tests.yaml actions
  • actions/checkout v3 composite
  • actions/delete-package-versions v4 composite
  • arduino/setup-protoc v2 composite
  • azure/setup-helm v3 composite
  • crate-ci/typos v1.0.4 composite
  • docker/build-push-action v4 composite
  • docker/login-action v2 composite
  • docker/metadata-action v4 composite
  • dtolnay/rust-toolchain stable composite
  • helm/kind-action v1.7.0 composite
  • mozilla-actions/sccache-action v0.0.3 composite
  • opencontainers/distribution-spec v1.1.0-rc3 composite
  • rui314/setup-mold v1 composite
  • ${{needs.build.outputs.container-image}} * docker
.github/workflows/push.yaml actions
  • actions/checkout v3 composite
  • azure/setup-helm v3 composite
  • helm/chart-releaser-action v1.5.0 composite
.github/workflows/tag-trow.yaml actions
  • actions/checkout v3 composite
  • docker/login-action v2 composite
  • docker/setup-buildx-action v2 composite