Commit Graph

1923 Commits

Author SHA1 Message Date
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
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
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
Tibor
4615d302df Remove deprecated version field
https://www.docker.com/blog/new-docker-compose-v2-and-v1-deprecation/

Signed-off-by: Tibor <tiborcasteleijn@gmail.com>
2024-09-06 09:23:05 +02:00
Chun-Hung Hsiao
eed9400d26 feat: support custom exec-based credential helper in proxy mode
This change allows users to run the registry as a pull-through cache
that can use a credential helper to authenticate against the upstream
registry.

Signed-off-by: Chun-Hung Hsiao <chhsiao@google.com>
2024-08-16 19:42:51 -07:00
Milos Gajdos
d3cc664fa2 Update docs: JWKS credentials and AZ identity
Signed-off-by: Milos Gajdos <milosthegajdos@gmail.com>
2024-07-06 10:13:29 +01:00
Milos Gajdos
4dd0ac977e feat: implement 'rewrite' storage middleware (#4146) 2024-07-04 16:16:29 +01:00
Milos Gajdos
306f4ff71e Replace custom Redis config struct with go-redis UniversalOptions (adds sentinel & cluster support) (#4306) 2024-07-04 16:00:37 +01:00
Andrey Smirnov
558ace1391 feat: implement 'rewrite' storage middleware
This allows to rewrite 'URLFor' of the storage driver to use a specific
host/trim the base path.

It is different from the 'redirect' middleware, as it still calls the
storage driver URLFor.

For example, with Azure storage provider, this allows to transform the
SAS Azure Blob Storage URL into the URL compatible with Azure Front
Door.

Signed-off-by: Andrey Smirnov <andrey.smirnov@siderolabs.com>
2024-07-04 18:49:25 +04:00
Milos Gajdos
6d5911900a Update Redis configuration docs with TLS options
Signed-off-by: Milos Gajdos <milosthegajdos@gmail.com>
2024-07-04 15:44:41 +01:00
Milos Gajdos
3a8499541a docs: disable base element override (#4391) 2024-07-04 09:00:57 +01:00
Mahmoud Kandil
43a64480ef Update dockerhub.md
Signed-off-by: Mahmoud Kandil <47168819+MahmoudKKandil@users.noreply.github.com>
2024-07-01 13:53:43 +03:00
David Karlsson
f36b44ff73 docs: disable base element override
Setting the HTML <base> element causes page-internal links to point to
the root of the website, rather than local anchors on the same page.

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
2024-07-01 10:07:44 +02:00
Anders Ingemann
b63cbb3318 Replace custom Redis config struct with go-redis UniversalOptions
Huge help from @milosgajdos who figured out how to do the entire
marshalling/unmarshalling for the configs

Signed-off-by: Anders Ingemann <aim@orbit.online>
2024-06-14 10:31:09 +02:00
Milos Gajdos
e1ec19ae60 New path for distribution config (#4365) 2024-06-11 12:19:40 +01:00
Milos Gajdos
675d7e27f5 feature: Bump go-jose and require signing algorithms in auth (#4349) 2024-05-30 20:54:20 +01:00
Milos Gajdos
52d68216c0 feature: Bump go-jose and require signing algorithms in auth
This bumps go-jose to the latest available version: v4.0.3.
This slightly breaks the backwards compatibility with the existing
registry deployments but brings more security with it.

We now require the users to specify the list of token signing algorithms in
the configuration. We do strive to maintain the b/w compat by providing
a list of supported algorithms, though, this isn't something we
recommend due to security issues, see:
* https://github.com/go-jose/go-jose/issues/64
* https://github.com/go-jose/go-jose/pull/69

As part of this change we now return to the original flow of the token
signature validation:
1. X2C (tls) headers
2. JWKS
3. KeyID

Signed-off-by: Milos Gajdos <milosthegajdos@gmail.com>
2024-05-30 20:44:35 +01:00
Milos Gajdos
975613d4a0 New path for distribution config
The original path was referencing a docker directory which no longer
makes much sense.

Signed-off-by: Milos Gajdos <milosthegajdos@gmail.com>
2024-05-29 22:05:22 +01:00
James Hewitt
c40c4b289a Enable configuration of index dependency validation
Enable configuration options that can selectively disable validation
that dependencies exist within the registry before the image index
is uploaded.

This enables sparse indexes, where a registry holds a manifest index that
could be signed (so the digest must not change) but does not hold every
referenced image in the index. The use case for this is when a registry
mirror does not need to mirror all platforms, but does need to maintain
the digests of all manifests either because they are signed or because
they are pulled by digest.

The registry administrator can also select specific image architectures
that must exist in the registry, enabling a registry operator to select
only the platforms they care about and ensure all image indexes uploaded
to the registry are valid for those platforms.

Signed-off-by: James Hewitt <james.hewitt@uk.ibm.com>
2024-05-28 09:56:14 +01:00
Emmanuel Ferdman
119c608fad docs: update location of filesystem.md
Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2024-05-16 15:43:41 +03:00
Milos Gajdos
c49220d492 Fix #2902: ‘autoRedirect’ hardcode ‘https’ scheme (#2903) 2024-05-04 15:32:25 +01:00
Liang Zheng
a2afe23f38 add concurrency limits for tag lookup and untag
Harbor is using the distribution for it's (harbor-registry) registry component.
The harbor GC will call into the registry to delete the manifest, which in turn
then does a lookup for all tags that reference the deleted manifest.
To find the tag references, the registry will iterate every tag in the repository
and read it's link file to check if it matches the deleted manifest (i.e. to see
if uses the same sha256 digest). So, the more tags in repository, the worse the
performance will be (as there will be more s3 API calls occurring for the tag
directory lookups and tag file reads).

Therefore, we can use concurrent lookup and untag to optimize performance as described in https://github.com/goharbor/harbor/issues/12948.

P.S. This optimization was originally contributed by @Antiarchitect, now I would like to take it over.
Thanks @Antiarchitect's efforts with PR https://github.com/distribution/distribution/pull/3890.

Signed-off-by: Liang Zheng <zhengliang0901@gmail.com>
2024-04-26 22:32:21 +08:00