MCPcopy
hub / github.com/project-zot/zot

github.com/project-zot/zot @v2.1.18 sqlite

repository ↗ · DeepWiki ↗ · release v2.1.18 ↗
5,084 symbols 29,139 edges 401 files 940 documented · 18%
README

Fuzzing in Zot

This project makes use of native Go 1.18 fuzzing. An in-depth tutorial for fuzzing in Go can be found here. As language specifies, fuzz tests are included among unit-tests, inside the the same *_test.go files, in the packages they intend to fuzz. See fuzzing for local storage

Zot doesn't store the test data for fuzzing in the same repo, nor it is added before fuzzing with (*testing.F).Add . Instead, it is stored in a separate repo called test-data.

To start fuzzing locally, one can use the Make target fuzz-all . The default runtime for each fuzz test is 10s, which can be overriden with the fuzztime variable

make fuzz-all fuzztime=20

By running this target, testdata for fuzzing gets downloaded from the previously mentioned repo and the fuzzing begins for every fuzz function that is found.

Extension points exported contracts — how you extend this code

Registry (Interface)
Registry interface must be implemented by local and remote registries. [5 implementers]
pkg/extensions/sync/sync.go
Task (Interface)
(no doc) [10 implementers]
pkg/scheduler/scheduler.go
Cache (Interface)
(no doc) [4 implementers]
pkg/storage/types/cache.go
ManifestBuilder (Interface)
ManifestBuilder abstracts creating the manifest of the image. [2 implementers]
pkg/test/image-utils/images.go
AWSSecretsManagerProvider (Interface)
AWSSecretsManagerProvider abstracts the functions from the AWS SDK needed to create AWS Secrets Manager clients. [2 implementers]
pkg/api/bearer_aws_secrets_manager.go
MetaDB (Interface)
(no doc) [4 implementers]
pkg/meta/types/types.go
Rule (Interface)
(no doc) [4 implementers]
pkg/retention/types/types.go
SearchService (Interface)
(no doc) [2 implementers]
pkg/cli/client/service.go

Core symbols most depended-on inside this repo

String
called by 2041
pkg/scheduler/scheduler.go
Str
called by 1169
pkg/log/log.go
Msg
called by 1082
pkg/log/log.go
Get
called by 766
pkg/api/htpasswd.go
Error
called by 739
pkg/log/log.go
Err
called by 718
pkg/log/log.go
DigestStr
called by 563
pkg/test/image-utils/images.go
StopServer
called by 410
pkg/test/common/utils.go

Shape

Method 2,323
Function 2,172
Struct 496
Interface 45
TypeAlias 35
FuncType 12
Class 1

Languages

Go100%
TypeScript1%
Java1%

Modules by API surface

pkg/extensions/search/gql_generated/generated.go531 symbols
pkg/meta/proto/gen/meta.pb.go152 symbols
pkg/api/config/config.go108 symbols
pkg/api/controller_test.go96 symbols
pkg/meta/types/types.go79 symbols
pkg/cli/client/service.go79 symbols
pkg/meta/dynamodb/dynamodb.go74 symbols
pkg/test/image-utils/images.go71 symbols
pkg/storage/types/types.go70 symbols
pkg/extensions/sync/sync_test.go68 symbols
pkg/storage/imagestore/imagestore.go65 symbols
pkg/api/routes.go63 symbols

Dependencies from manifests, versioned

buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/gov1.36.11-20260415201 · 1×
cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.123.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/monitoringv1.26.0 · 1×
cloud.google.com/go/storagev1.62.2 · 1×
connectrpc.com/connectv1.20.0 · 1×
cuelabs.dev/go/oci/ociregistryv0.0.0-2025121222160 · 1×
cuelang.org/gov0.16.1 · 1×

For agents

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

⬇ download graph artifact