1942 Commits

Author SHA1 Message Date
darsh
2af40858be fix(s3): add redirectendpoint validation and fix doc formatting
Signed-off-by: darsh <darshanravichandran07@gmail.com>
2026-05-31 12:08:57 +05:30
Milos Gajdos
afd2bf0b23 fix(proxy): clamp oversized n query param instead of returning 400 (#4856) 2026-04-20 07:47:14 -07:00
Milos Gajdos
c6f552e5db fix(proxy): clamp oversized n query param instead of returning 400
PR #4353 made MaxTags (default 1000) a hard ceiling on the `n` query
parameter — anything larger and the handler returns 400
PAGINATION_NUMBER_INVALID before the request ever reaches storage or
the proxy tag service. That broke clients like Renovate which use
n=10000 against pull-through caches. #4846 fixed a related 500 in
proxy mode but not this 400, so users reported the regression still
persisted.

The OCI distribution-spec describes pagination differently: a server
MAY return fewer than `n` results "when the total number of tags
attached to the repository is less than <int> or a Link header is
provided" — otherwise it MUST include `<int>` results. In other
words, the right answer for "client asked for more than we'll serve"
is `maxtags` results plus a Link header, not a rejection.
PAGINATION_NUMBER_INVALID isn't among the 14 error codes the spec
defines, either.

Drop the oversized-n rejection and clamp to MaxTags instead; the
existing Link-header path already handles continuation correctly.
Malformed (non-integer) and negative `n` values keep returning 400,
since the spec defines `n` as a non-negative integer and those
requests are genuinely invalid.

Verified end-to-end against registry-1.docker.io in proxy mode:
n=10000 now returns the tag list (or a clamped page with Link)
instead of 400. Also restores pre-3.1.0 behavior for Renovate-style
clients without needing proxy-specific logic.

Spec reference:
https://github.com/opencontainers/distribution-spec/blob/main/spec.md#listing-tags

Signed-off-by: Milos Gajdos <milosthegajdos@gmail.com>
2026-04-18 16:53:53 -07:00
John de Graaff
3cf4463982 Update docker-compose structure in deploying.md
adding "services:" top-level key in docker-compose file example.

Signed-off-by: John de Graaff <john@de-graaff.net>
2026-04-17 15:15:52 +02:00
Milos Gajdos
2f2ce9fb6c Opt: refactor tag list pagination support (#4353) 2026-04-04 13:49:23 -07:00
njucjc
6a02a0e81d Opt: refactor tag list pagination support
Signed-off-by: njucjc <njucjc@gmail.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2026-04-04 22:04:37 +02:00
Milos Gajdos
3e4f4a8bde Enable Redis TLS without client certificates (#4770) 2026-03-27 09:35:39 -07:00
Milos Gajdos
d18d6cb923 Update s3.md regionendpoint option (#4534) 2026-03-19 08:34:33 -07:00
Milos Gajdos
bd21379215 docs: pull through cache will pull from remote multiple times (#4664) 2026-03-17 12:57:52 -07:00
Omar Trigui
e74754839e Update Redis TLS configuration docs
Updated TLS configuration parameters to indicate that 'certificate' and 'key' are optional for mTLS. Added notes and examples for server-side TLS and mutual TLS.

Signed-off-by: Omar Trigui <omar.trigui.tn@gmail.com>
2026-01-24 00:31:02 +01:00
Milos Gajdos
ac541ed446 BUG: Fix notification filtering to work with actions when mediatypes is empty (#4730) 2026-01-20 06:24:43 -08:00
Raghav Mahajan
33dab3939e Expose useFIPSEndpoint for S3
Signed-off-by: Raghav Mahajan <rmahajan@palantir.com>
2026-01-07 21:01:26 +05:30
João Pereira
1796e65db9 Incorrect warning hint (#4708) 2025-12-13 08:52:46 +00:00
Dave Pedu
c7da31eb4a "should" -> "must" regarding redis eviction policy
Signed-off-by: Dave Pedu <dave@davepedu.com>
2025-11-20 16:14:46 -05:00
Adrian Callejas
ce3fa7fc36 Fix notification filtering to work with actions when mediatypes is empty
The newIgnoredSink function had a bug where it would return the
unfiltered sink when the mediatypes list was empty, even if
ignoreActions was populated. This made it impossible to filter
events by action alone.

This fix changes the early return condition to check both parameters:
- Only returns unfiltered sink when BOTH are empty
- Allows filtering by actions alone
- Allows filtering by mediatypes alone
- Maintains existing OR logic when both are specified

Added test cases specifically for the edge case of empty mediatypes
with populated actions list.

Updated documentation to clarify how the filtering works and that
the two parameters work independently.

Fixes: #4729

Signed-off-by: Adrian Callejas <acallejaszu@gmail.com>
2025-10-28 15:58:19 +01:00
nkaaf
b1c0fc5530 Incorrect warning hint
* Fix incorrect (old) warning hint

Signed-off-by: nkaaf <nkaaf@protonmail.com>
2025-10-04 00:42:14 +02:00
Milos Gajdos
979a07472e fix(registry/handlers/app): redis CAs (#4668) 2025-09-03 07:06:09 -07:00
Andy Castille
0fb77d6a75 Fix broken link to Docker Hub fair use policy
Signed-off-by: Andy Castille <me@andycc.dev>
2025-08-13 12:23:30 -07:00
Milos Gajdos
0966daece7 docs: Add OpenTelemetry links to quickstart docs (#4270) (#4640) 2025-08-11 14:25:47 +01:00
Shan Desai
b39441b1e6 Fix markdown syntax for OTEL traces link in docs
square brackets and the respective parentheses for a markdown link were falsely typed in causing readability issues.  This commit fixes the markdown syntax for the same

Signed-off-by: Shan Desai <shantanoo.desai@gmail.com>
2025-07-22 12:28:31 +02:00
Pat Riehecky
68cd681bad docs: Add note about OTEL_TRACES_EXPORTER
Signed-off-by: Pat Riehecky <riehecky@fnal.gov>
2025-07-09 10:42:32 -05:00
ChandonPierre
02b1f6e3af fix(registry/handlers/app): redis CAs
`configureRedis` currently sets `RequireAndVerifyClientCert` and `ClientCAs`, however these are server side mTLS configurations, and do not apply for the client initiating the handshake.

Since we never actually set client side `RootCAs`, connecting to Redis with a self-signed CA results in:

```
"error": "tls: failed to verify certificate: x509: certificate signed by unknown authority",
```
Fixed by switching Redis TLS config to use `RootCAs` instead, and updating configuration accordingly.

Signed-off-by: ChandonPierre <cpierre@coreweave.com>
2025-07-05 15:25:17 -04:00
Sam Jia
8a5addfc34 Update the docs with correct information
Summary:
We see from the code and code comment in proxyblobstore.go that:
"If the blob has been serving in other requests. Will return the blob from the
remote store directly". That means concurrent pulls will pull from remote
multiple times.

Signed-off-by: Sam Jia <yiyunj@twitter.com>
2025-07-01 11:58:07 -04:00
Dane Wagner
e629f88670 docs: Add OpenTelemetry links to quickstart docs (#4270)
Signed-off-by: Dane Wagner <dane.wagner@gmail.com>
2025-05-23 12:02:47 -05:00
Anže Luzar
c460aa63e1 fix: Annotate code block from validation.indexes docs
Signed-off-by: Anže Luzar <aluzarwork@gmail.com>
2025-04-28 13:23:56 +02:00
Youfu Zhang
4aab88fede fix: implement JWK thumbprint for Ed25519 public keys
Signed-off-by: Youfu Zhang <zhangyoufu@gmail.com>
2025-04-23 13:30:18 +08:00
Lucas Melchior
ea6ab3652c fix newClient in azure storage provider
it can now return a client using default azure credentials
updated docs to include information on Azure Workload Identity

Signed-off-by: Lucas Melchior <lucasmelchior@flywheel.io>

fix anchor link in docs

Signed-off-by: Lucas Melchior <lucasmelchior@flywheel.io>
2025-04-08 10:22:34 -05:00
Milos Gajdos
dbca4995c8 docs: Update to refer to new image tag v3 (#4373) 2025-04-03 12:04:00 -07:00
Milos Gajdos
ebd20d3be7 Azure driver retry fix (#4576) 2025-03-14 10:20:25 -07:00
Milos Gajdos
2ffa1171c2 Azure driver fix
* Make copy poll max retry, a global driver max retry
* Get support for etags in Azure
* Fix storage driver tests
* Fix auth mess and update docs
* Refactor Azure client and enable Azure storage tests

We use Azurite for integration testing which requires TLS,
so we had to figure out how to skip TLS verification when running tests locally:
this required updating testsuites Driver and constructor due to TestRedirectURL
sending GET and HEAD requests to remote storage which in this case is Azurite.

Signed-off-by: Milos Gajdos <milosthegajdos@gmail.com>
2025-03-14 10:03:09 -07:00
andy-cooper
6599be4fe9 Update com.docker.registry.plist
Add missing "serve" parameter

Signed-off-by: andy-cooper <andrew.john.cooper@gmail.com>
2025-03-08 21:35:10 -05:00
andy-cooper
bb0253d1df Update osx-setup-guide.md
Incorrect directories fixed. Added explanation for ensuring port 5000 is available or changing it. There will be a subsequent fix to the plist file.

Signed-off-by: andy-cooper <andrew.john.cooper@gmail.com>
2025-03-08 19:19:51 -05:00
Rafael Fonseca
2a491b35dd docs/garbage-collection: document --delete-untagged and --quiet options
Signed-off-by: Rafael Fonseca <r4f4rfs@gmail.com>
2025-02-03 17:36:20 +01:00
vitshev
916bdeae94 feat(configuration): support mtls auth mod
Signed-off-by: vitshev <vitshev@tracto.ai>
2024-12-16 20:43:20 +01:00
Milos Gajdos
f89be31067 Update docs/content/storage-drivers/s3.md
Signed-off-by: Milos Gajdos <milosgajdos83@gmail.com>
2024-12-15 13:38:29 +00:00
Alexsandr
075b5824ce Update s3.md regionendpoint option
Ref to issue: 
https://github.com/distribution/distribution/issues/4528

Signed-off-by: Alexsandr <78373713+Alexsandr-Random@users.noreply.github.com>
2024-12-15 12:57:43 +02:00
Victor Barbu
1d104a9399 [docs] Explain how to configure a list through env variables
Signed-off-by: Victor Barbu <git.zqk3n@vicb.cc>
2024-12-03 19:08:23 +02:00
Milos Gajdos
f7236ab041 feat: support custom exec-based credential helper in proxy mode (#4438) 2024-11-05 11:48:33 +00:00
Milos Gajdos
099201adde fix(registry/storage/driver/s3-aws): use a consistent multipart chunk size (#4424) 2024-11-05 11:39:43 +00:00
David Karlsson
da2f24e205 docs: update hugo and theme versions
Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2024-10-31 10:03:17 +01:00
Thomas Way
5ee5aaa058 fix(registry/storage/driver/s3-aws): use a consistent multipart chunk size
Some S3 compatible object storage systems like R2 require that all
multipart chunks are the same size. This was mostly true before, except
the final chunk was larger than the requested chunk size which causes
uploads to fail.

In addition, the two byte slices have been replaced with a single
*bytes.Buffer and the surrounding code simplified significantly.

Fixes: #3873

Signed-off-by: Thomas Way <thomas@6f.io>
2024-10-30 21:46:36 +00:00
Benjamin Schanzel
7b3e6d50e9 docs: Update to refer to new image tag v3
This updates references to the registry image tag from `:2` to `:3`.

Fixes #4356

Signed-off-by: Benjamin Schanzel <benjamin.schanzel@bmw.de>
2024-10-21 09:55:17 +02:00
Pratik
5e59a64896 fix existing doc first
Signed-off-by: Pratik <pratikgparikh@gmail.com>
2024-10-08 22:06:38 +05:30
João Pereira
0bfa293eea docs: removed description of ELB as an example of an not sophisticated Load Balancer (#4476) 2024-10-03 13:20:44 +01:00
tomoya-kawaguchi
fdb5abb940 docs: removed description of ELB as an example of an not sophisticated Load Balancer
Signed-off-by: tomoya-kawaguchi <yamo7yamoto@gmail.com>
2024-10-03 09:00:15 +09:00
Jose D. Gomez R
b53946ded3 fix: Add the token's rootcert public key to the list of known keys
- Add Unit tests for `token.newAccessController`
  + Implemented swappable implementations for `token.getRootCerts` and
    `getJwks` to unit test their behavior over the accessController
    struct.

- Use RFC7638 [0] mechanics to compute the KeyID of the rootcertbundle
  provided in the token auth config.

- Extends token authentication docs:
  + Extend `jwt.md` write up on JWT headers & JWT Validation
  + Updated old reference to a draft that's now RFC7515.
  + Extended the JWT validation steps with the JWT Header validation.
  + Reference `jwt.md` in `token.md`

[0]: https://datatracker.ietf.org/doc/html/rfc7638#autoid-13

Signed-off-by: Jose D. Gomez R <jose.gomez@suse.com>
2024-10-02 11:58:41 +02:00
Mikhail f. Shiryaev
63cfb18729 Add a note regarding redirects to pre-signed URLs
Signed-off-by: Mikhail f. Shiryaev <mr.felixoid@gmail.com>
2024-09-19 18:23:56 +02:00
Tibor
38553eaaf8 chang docker-compose to docker compose
Signed-off-by: Tibor <tiborcasteleijn@gmail.com>
2024-09-07 11:47:59 +02:00
Tibor
49fad51775 chang docker-compose to docker compose
Signed-off-by: Tibor <tiborcasteleijn@gmail.com>
2024-09-07 11:47:11 +02:00
Tibor
e41848cc97 chang docker-compose to docker compose
Signed-off-by: Tibor <tiborcasteleijn@gmail.com>
2024-09-07 11:46:28 +02:00