Commit Graph

1260 Commits

Author SHA1 Message Date
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>
v2.1.3-rc2
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>
v2.1.3-rc1
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>
v2.1.2
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>
v2.1.2-rc5
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>
v2.1.2-rc4
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
Ramkumar Chinchani 037d6bf3d7 ci: fix nightly runs (#2838)
oras verion upgrade has incompatible cmdline args

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2024-12-19 01:11:27 -08:00
Ramkumar Chinchani 8789fb0008 chore: fix dependabot alerts (#2837)
* chore: fix dependabot alerts

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

* chore: update oras version

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

---------

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2024-12-18 08:57:13 -08:00
Ramkumar Chinchani 8f5414a1f0 chore: update ui version (#2827)
chore: fix dependabot alerts (#2825)

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2024-12-14 11:58:04 -08:00
Ramkumar Chinchani 0137f191be chore: fix dependabot alerts (#2825)
Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
2024-12-07 00:14:50 -08:00
Ramkumar Chinchani 72c6e8afb3 chore: fix dependabot alerts (#2810)
Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com>
2024-12-06 09:04:46 -08:00
Ramkumar Chinchani 5e30fec65c chore: fix dependabot alerts (#2800) 2024-11-20 00:45:03 +02:00
Ramkumar Chinchani 3657148273 chore: fix dependabot alerts (#2783)
Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com>
2024-11-18 20:27:37 -08:00
Andreea Lupu 61fc1bc9c6 build(deps): bump github.com/notaryproject/notation-go from 1.1.1 to 1.2.1 (#2785)
Signed-off-by: Andreea-Lupu <andreealupu1470@yahoo.com>
2024-11-18 17:28:33 -08:00
Andrei Aaron 28ffa38170 chore: fix search for 'no digests left, finished' in nightly job (#2784)
Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2024-11-15 08:51:00 -08:00
Ramkumar Chinchani 334b121644 chore: fix dependabot alerts (#2780)
Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com>
2024-11-12 13:12:44 -08:00
Andrei Aaron dc38113df0 chore: use go1.23 in the build environment of zot container images (#2773)
* chore: use go1.23 in the build environment of zot container images

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

* chore: increase timeout in test/blackbox/restore_s3_blobs.bats

Looks like the message is actually there even if the test fails, maybe there is a timing issue.
https://github.com/project-zot/zot/actions/runs/11747889146/job/32730772641

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

---------

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2024-11-10 10:36:09 -08:00
Ramkumar Chinchani c9914912d4 chore: fix dependabot alerts (#2770)
Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com>
2024-11-08 10:24:19 -08:00
Ramkumar Chinchani 5465aa0d51 build: migrate to golang 1.23.x (#2701)
* build: migrate to golang 1.23.x

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

* fix: golangci-lint reported errors

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

---------

Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com>
2024-11-08 08:58:55 -08:00
Andrei Aaron a76bfd4283 chore: update Trivy and Trivy dependencies (#2763)
The Trivy library now supports multiple locations from where to download the DBs.
The zot code has been updated to properly call the updated library functions.
If at some point we would want to support multiple Trivy DBs in zot, we could look into it more.

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2024-11-07 09:03:37 -08:00
Andreea Lupu f17dd2608a fix: prevent releases of helm chart with pre-releases of zot (#2755)
Signed-off-by: Andreea-Lupu <andreealupu1470@yahoo.com>
2024-11-04 08:51:44 +02:00
Andrei Aaron da923ae232 chore: update go tests to use our hosted trivy-db and trivy-java-db images (#2754)
There are 2 remaining exceptions that I am aware of:
1. The tests under test/blackbox/cve.bats
2. One of the cli tests checking the server attempts download of the databases
from the default url

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2024-11-01 14:14:52 -07:00
Ramkumar Chinchani 30ecceda8c chore: fix dependabot alerts (#2753)
* chore: fix dependabot alerts

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

* build: bump up ui version to commit-7bd1d7d

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

---------

Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com>
v2.1.2-rc3
2024-10-31 20:59:36 -07:00
Ramkumar Chinchani cb2af94b0b feat: add support for docker images (#2714)
* feat: add support for docker images

Issue #724

A new config section under "HTTP" called "Compat" is added which
currently takes a list of possible compatible legacy media-types.

https://github.com/opencontainers/image-spec/blob/main/media-types.md#compatibility-matrix

Only "docker2s2" (Docker Manifest V2 Schema V2) is currently supported.

Garbage collection also needs to be made aware of non-OCI compatible
layer types.
feat: add cve support for non-OCI compatible layer types

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

* 

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

* test: add more docker compat tests

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

* feat: add additional validation checks for non-OCI images

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

* ci: make "full" images docker-compatible

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

---------

Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com>
2024-10-31 09:44:04 +02:00
Ramkumar Chinchani 403fd4eb61 chore: fix dependabot alerts (#2750) 2024-10-30 13:09:36 +02:00
Evan c2facc9958 fix: enable TLS based on URL scheme for sync extension (#2747)
Signed-off-by: evanebb <78433178+evanebb@users.noreply.github.com>
2024-10-29 09:40:24 +02:00
Andrei Aaron 51e779fab4 fix: improve output of zot verify (#2745)
See #2744, there are 2 updates:
1. Silence the usage output in case of config verification errors
2. Wrap the error details in all of the zot configuration errors so they are propagated and shown in stdout for `zot verify`
We also need to keep logging those message to the zot logs file since the same logic is caled in the `zot serve` use case.

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2024-10-25 13:42:03 -07:00
Andrei Aaron ca1eb76c7e chore: less confusing warning message when unexpected media type is found in index manifest list (#2746)
Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2024-10-25 13:39:05 -07:00
Ramkumar Chinchani f735680ce2 chore: fix dependabot alerts (#2742) 2024-10-23 08:43:07 +03:00
Andrei Aaron da6bd56a21 fix: issues with nested index processing in CVE and metaDB code (#2732)
Also fix an issue with searching tags, which should work with case insensitive searches.

Signed-off-by: Andrei Aaron <aaaron@luxoft.com>
2024-10-21 09:57:43 -07:00