0
Fork 0
mirror of https://github.com/project-zot/zot.git synced 2025-04-01 02:42:32 -05:00
Commit graph

1284 commits

Author SHA1 Message Date
Andrei Aaron
cb9b82823a
fix(zui): show referrers pointing to image manifests (#3053)
See https://github.com/project-zot/zui/issues/476

In previous implementations the referrers tab only showed the referrers returned at image
level, ignoring the referrers returned at manifest level.
This is fine for singlearch images, since they are the same.
For images containing multiple manifests only index referrers were shown.
The current implementation would show both the referrers to the index and the current manifest.

Also fix refreshing the data shown in the tag details tabs on changing the selected manifest

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-03-24 13:19:09 +02:00
Zhou You
32eb4579da
feat: handle multiple attributes (#3052)
Enhance LDAP user group retrieval to handle multiple attributes

Signed-off-by: 周游 <hi@zhouyou.info>
2025-03-22 22:47:02 -07:00
Ramkumar Chinchani
b9d453ca93
chore: fix dependabot alerts (#3051)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-03-21 18:28:59 -07:00
Ramkumar Chinchani
30467e60cf
feat: build windows binaries (#3047)
Currently zot project doesn't build and ship Windows binaries.
This PR adds that support.

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-03-21 12:51:44 -07:00
Andrei Aaron
509327da2e
fix: bump zui version to fix minor issues with handling empty manifest lists and missing platform information (#3044)
- fix: do not error in TagDetails if an empty manifest list is returned from the backend
- fix: use '----' as default for missing Os/Arch in drop-down and card (this value is for consistency with other such places where the values are missing)

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-03-19 19:34:33 +02:00
Ramkumar Chinchani
ff50aab9b3
chore: fix dependabot alerts (#3041)
* chore: fix dependabot alerts

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>

* test: fix http status code check

Related to gqlgen changes
-       github.com/99designs/gqlgen v0.17.66
+       github.com/99designs/gqlgen v0.17.68

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>

---------

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-03-18 20:10:55 -07:00
Andrei Aaron
f9b647beaf
ci: fix failures in nightly (#3042)
- fix log folder names used by nightly jobs
- fix attempt to install containerd.io in the redis pipeline (which conflicts with containerd)

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-03-18 10:39:51 -07:00
Brennan Kinney
4bf708caff
chore: Remove VOLUME instruction from image (#3027)
Signed-off-by: Brennan Kinney <5098581+polarathene@users.noreply.github.com>
2025-03-18 10:38:28 +02:00
Andrei Aaron
88ad384506 test: do not use the clustering feature in case of redis + s3 storage
Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-03-17 09:12:10 +02:00
Andrei Aaron
8438c83a23 test: add scale-out clustering tests using multiple zot servers with with redis and S3 integration
Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-03-17 09:12:10 +02:00
Andrei Aaron
2a4edde637
chore: update image and dist specs to v1.1.1 (#3023)
chore: update image-spec and dist-spec to v1.1.1

As side effect the warnings mentioned in https://github.com/project-zot/zui/issues/475#issuecomment-2715802363 should no longer show up.

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-03-13 10:06:02 +02:00
Ramkumar Chinchani
d87cdc9840
chore: fix dependabot alerts (#3026)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-03-12 20:30:53 -07:00
Ramkumar Chinchani
c87f489a79
fix: allow changing media-type when pushing an image tag (#3022)
Fixes #3005

Previously, changing a image's media-type was disallowed.
However, "docker buildx" appears to first push an image manifest and
then an image index for the same image tag. So, allow this.

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-03-11 10:38:47 -07:00
Andrei Aaron
0930e57184
fix: show data from docker mediatypes in search results (#3019)
Including handling indexes / manifest lists for buildkit manifest lists containing image cache

See
- https://github.com/project-zot/zui/issues/475
- https://github.com/project-zot/zot/issues/3000#issuecomment-2709031927

Fix and unrelated issue with killing zot and collecting logs in case of cluster test failures

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-03-11 11:43:30 +02:00
Ramkumar Chinchani
651d123731
chore: fix dependabot alerts (#3021)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-03-11 01:40:27 -07:00
Evan
d465690630
[feat]: add support for EC/ED25519 public keys for token authentication (#2998)
* feat: rework token auth to allow ED25519/EC public keys

Signed-off-by: evanebb <git@evanus.nl>

* fix: shadow err variable to hopefully avoid data race

Signed-off-by: evanebb <git@evanus.nl>

* fix: apply golangci-lint feedback

Signed-off-by: evanebb <git@evanus.nl>

* fix: simplify public key loading by only supporting certificates, fixes ED25519 certificate handling

Signed-off-by: evanebb <git@evanus.nl>

* test: add golang-jwt based test auth server and test RSA/EC/ED25519 keys

Signed-off-by: evanebb <git@evanus.nl>

* fix: restrict allowed signing algorithms as recommended by library

Signed-off-by: evanebb <git@evanus.nl>

* test: add more bearer authorizer tests

Signed-off-by: evanebb <git@evanus.nl>

* fix: apply more golangci-lint feedback

Signed-off-by: evanebb <git@evanus.nl>

* test: ensure chmod calls run on test failure for authn errors test

Signed-off-by: evanebb <git@evanus.nl>

* fix: verify issued-at in given token if present
Pulls the validation in-line with the old library

Signed-off-by: evanebb <git@evanus.nl>

---------

Signed-off-by: evanebb <git@evanus.nl>
2025-03-06 14:32:13 -08:00
Ramkumar Chinchani
e7fb9c5e60
chore: fix dependabot alerts (#3002)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-03-04 22:53:21 -08:00
Andrei Aaron
983dc7f8d5
Cumulative improvements for CI troubleshooting (#2996)
* feat: show more error information in zb output

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* chore(ci): gc stress tests to save logs as artifacts

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* chore: add benchmark results to job summaries

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* fix: count and show zb errors

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* ci: fix the flaky coverage of the redis logger

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

---------

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-03-01 01:04:09 +02:00
Vladimir Ermakov
3893eec714
feat(htpasswd): add autoreload for htpasswd (#2933)
* feat(htpasswd): move htpasswd processing to a helper struct and add reload

Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>

* feat(htpasswd): use dedicated fsnotify reloader for htpasswd file

- rewrite htpasswd watcher not to store context
- improve logging

Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>

* feat(htpasswd): add htpasswd reload test

Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>

---------

Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>
2025-02-27 12:42:57 +02:00
Ramkumar Chinchani
7e07bae4d6
chore: fix dependabot alerts (#2991)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-02-26 23:27:01 -08:00
Ramkumar Chinchani
546a7ea425
chore: fix dependabot alerts (#2988)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-02-25 20:39:45 -08:00
Ramkumar Chinchani
328606def0
chore: fix dependabot alerts (#2978)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-02-22 22:28:23 -08:00
Andrei Aaron
88efa50de9
fix: Update AWS DynamoDB permission list and correct issues in DynamoDB examples (#2963)
fix: Update AWS DynamoDB permission list, and correct issues in DynamoDB examples

Note DeleteTable is only used for the zot tests, should not be needed in production

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-02-13 19:11:06 +02:00
Ramkumar Chinchani
528c2e5f6d
chore: fix dependabot alerts (#2961)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-02-11 20:11:41 -08:00
Andrei Aaron
e3c42a76c5
More validation for DynamoDB cache driver cachetablename (#2949)
fix: More validation for DynamoDB cache driver cachetablename

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-02-09 18:56:02 +02:00
Ramkumar Chinchani
d0ad93532f
chore: fix dependabot alerts (#2945)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-02-03 23:34:01 -08:00
Andrei Aaron
ea6b6dab23
fix: MetaDB fixes related to Docker media types (#2934)
* fix: update download counters for docker media types

closes #2929

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* fix: handle docker config mediatype in MetaDB

The OS/Arch/Layer History information was not written to MetaDB

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

---------

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-02-03 08:29:55 +02:00
Vladimir Ermakov
4fcd1079f7
feat(ldap): allow to customize user filter (#2927)
feat(ldap): allow to customize user filter (#2927)

Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>
2025-01-31 15:32:07 +00:00
Andrei Aaron
05823cd74f
redis driver for blob cache information and metadb (#2865)
* feat: add redis cache support

https://github.com/project-zot/zot/pull/2005
Fixes https://github.com/project-zot/zot/issues/2004

* feat: add redis cache support

Currently, we have dynamoDB as the remote shared cache but ideal only
for the cloud use case.
For on-prem use case, add support for redis.

Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com>

* feat(redis): added blackbox tests for redis

Signed-off-by: Petu Eusebiu <peusebiu@cisco.com>

* feat(redis): dummy implementation of MetaDB interface for redis cache

Signed-off-by: Alexei Dodon <adodon@cisco.com>

* feat: check validity of driver configuration on metadb instantiation

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat: multiple fixes for redis cache driver implementation

- add missing method GetAllBlobs
- add redis cache tests, with and without mocking

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(redis): redis implementation for MetaDB

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(redis): use redsync to block concurrent write access to the redis DB

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(redis): update .github/workflows/cluster.yaml to also test redis

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(metadb): add keyPrefix parameter for redis and remove unneeded method meta.Crate()

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(redis): support RedisCluster configuration and add unit tests

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(redis): more tests for redis metadb implementation

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(redis): add more examples and update examples/README.md

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(redis): move option parsing and redis client initialization under pkg/api/config/redis

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* chore(cachedb): move Cache interface to pkg/storage/types

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(redis): reorganize code in pkg/storage/cache.go

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(redis): call redis.SetLogger() with the zot logger as parameter

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* feat(redis): rename pkg/meta/redisdb to pkg/meta/redis

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

---------

Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com>
Signed-off-by: Petu Eusebiu <peusebiu@cisco.com>
Signed-off-by: Alexei Dodon <adodon@cisco.com>
Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
Co-authored-by: a <a@tuxpa.in>
Co-authored-by: Ramkumar Chinchani <rchincha@cisco.com>
Co-authored-by: Petu Eusebiu <peusebiu@cisco.com>
Co-authored-by: Alexei Dodon <adodon@cisco.com>
2025-01-30 11:00:52 -08:00
peusebiu
90e1393585
fix(sync): fixed harbor authentication issues on _catalog endpoint (#2891)
Signed-off-by: Petu Eusebiu <petu.eusebiu@gmail.com>
2025-01-30 09:40:24 -08:00
Ramkumar Chinchani
67231230e5
chore: fix dependabot alerts (#2922)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-01-29 09:42:27 -08:00
Vladimir Ermakov
22864a95c8
feat(sync): add tag excludeRegex filter (#2906)
Fix #2902

Signed-off-by: Vladimir Ermakov <vooon341@gmail.com>
2025-01-26 10:29:02 -08:00
tamil vanan
d0de12d2d3
[Feat]: Support for AWS ECR Authentication with Temporary Tokens (#2907)
feat: add support for aws ecr authentication

Signed-off-by: K Tamil Vanan <vanan@arcesium.com>
2025-01-26 11:38:22 +02:00
Andrei Aaron
cf8b20d92d
fix(dynamodb): properly handle ResourceInUseException for existing tables (#2909)
Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-01-24 14:58:13 -08:00
Ramkumar Chinchani
ececc9c2c9
docs: fix ratelimit example (#2905)
Some fields are mixed case which is inconsistent with the rest of
example configs.

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-01-22 09:17:01 -08:00
Ramkumar Chinchani
c6d343a730
chore: fix dependabot alerts (#2904)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-01-21 20:02:03 -08:00
Andrei Aaron
b8437991cb
ci: reenable test calling stacker (#2890)
Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-01-17 13:09:45 -08:00
Ramkumar Chinchani
717091a058
chore: fix dependabot alerts (#2889)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-01-17 11:03:32 -08:00
Ramkumar Chinchani
d6b38c0767
ci: nightly ci now uses ubuntu 24.04+ (#2886)
which needs user namespaces to be re-enabled so that stacker can
build/run

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-01-17 09:48:23 -08:00
Ramkumar Chinchani
002ac62d8a
Merge commit from fork
GHSA-c9p4-xwr9-rfhx

authN/authZ creds are added to the request context so that they can be
tracked and enforced in the various subsystems. However, it was
previously a appended list (incorrectly); consequently, even if the user
has been removed from the group configuration, the user could still
log in.

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-01-17 01:52:22 -08:00
Andrei Aaron
fba695adb9
fix(metadb): fixes for dynamo and bolt (#2884)
* chore(dynamodb): refactor multiple apikey metadb calls into a single one

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* fix(metadb): wrong error message in PatchDB() implementation

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

---------

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-01-17 11:18:01 +02:00
Andrei Aaron
cdcafa925f
fix(headers): set Cross-Origin-Resource-Policy header for UI requests (#2883)
* fix(headers): set Cross-Origin-Resource-Policy header for UI requests

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

* ci: disable stacker tests in ecosystem tools as they do not work on Ubuntu 24

Workaround this:

The Ubuntu 22 github free runner is not powerful enough to run all these tests.
We need a real fix on stacker side

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

---------

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2025-01-17 10:50:58 +02:00
Ramkumar Chinchani
97fd43e2b0
chore: fix dependabot alerts (#2881) 2025-01-14 08:36:30 +02:00
Ramkumar Chinchani
7f593b8896
chore: fix dependabot alerts (#2869)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-01-13 01:20:29 -08:00
Ramkumar Chinchani
e410f3952c
chore: fix dependabot alerts (#2861)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2025-01-03 16:47:33 -08:00
Ramkumar Chinchani
ab43515c88
chore: update zui version (#2852)
* chore: update zui version

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>

* chore: upload zap scan artifacts with different names for different scanned images

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>

---------

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
Co-authored-by: Andrei Aaron <aaaron@luxoft.com>
2024-12-26 12:17:34 +02:00
Ramkumar Chinchani
6ca9c66260
chore: fix dependabot alerts (#2851)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2024-12-23 21:10:23 -08:00
Ramkumar Chinchani
75c41ad380
ci: stacker runs best on ubuntu-22.04 (#2840)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2024-12-20 00:11:39 -08:00
Ramkumar Chinchani
b6dff76107
ci: fix sync job after oras/ubuntu upgrade (#2839)
* ci: fix sync job after oras/ubuntu upgrade

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>

* chore: fix dependabot alerts

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>

---------

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2024-12-20 01:25:48 +02:00
peusebiu
772e90a6c5
Catalog content discovery (#2782)
fix(sync): use pagination when querying remote catalog

feat(api): added /v2/_catalog pagination, fixes #2715

Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com>
2024-12-19 09:38:35 -08:00