Andrei Aaron
b7ab9dab16
fix (metadb): make sure metadb statistics are initialized on image download, and minor metadb fixes for Docker v2 manifest compatibility ( #3545 )
...
fix: make sure metadb statistics are initialized on image download, and minor metadb fixes for Docker v2 manifest compatibility
Looking into potential causes of https://github.com/project-zot/zot/issues/3163
1. One possible reason is the statistics were not properly initialized in the first place because of (unknown and/or unavoidable) errors on image push.
To workaround this add logic to initialize the statistics on the call to download them.
2. Some images have the download statistics while others dont, one cause could be a bug in the logic handling manifest mediatypes in the search extension.
Add compatibility checks for Docker v2 manifest types in metadb convert functions, and more tests for covering the Docker mediatype use case.
Side fixes:
- Ensure PushedBy Statistics entries are properly initialized in SetRepoReference
- Fix and issue in the image upload test functions, they were uploading docker images with oci mediatypes in call headers
Signed-off-by: Andrei Aaron <andreifdaaron@gmail.com >
2025-11-18 20:56:44 +02:00
Luca Muscariello
2402296e9a
fix: migrate to Go module v2 for proper semantic versioning ( #3462 )
...
* fix: migrate to Go module v2 for proper semantic versioning
This change updates the module path from 'zotregistry.dev/zot' to
'zotregistry.dev/zot/v2' to comply with Go's semantic versioning rules.
According to Go's module versioning requirements, major version v2+
must include the major version in the module path. The current
module path 'zotregistry.dev/zot' only supports v0.x.x and v1.x.x
versions, making existing v2.x.x tags (like v2.1.8) unusable.
Changes:
- Updated go.mod module path to zotregistry.dev/zot/v2
- Updated all internal import paths across 280+ Go source files
- Updated configuration files (golangcilint.yaml, gqlgen.yml)
- Updated README.md Go reference badge
This fix enables proper use of existing v2.x.x Git tags and allows
external packages to import zot v2+ versions without compatibility
errors.
Resolves: Go module import compatibility for v2+ versions
Fixes : #3071
Signed-off-by: Luca Muscariello <muscariello@ieee.org >
* fix: regenerate GraphQL files with updated v2 import paths
The gqlgen tool needs to regenerate the GraphQL schema files after
the module path change to use the new v2 imports.
Signed-off-by: Luca Muscariello <muscariello@ieee.org >
---------
Signed-off-by: Luca Muscariello <muscariello@ieee.org >
2025-10-16 22:43:47 -07:00
peusebiu
0e2aa81439
feat(sync): use regclient for sync extension ( #2903 )
...
* feat(sync): use regclient for sync extension
replaced containers/image package with regclient/regclient package
Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com >
* fix(sync): fixed converting innner docker list mediatype
Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com >
* feat(sync): added option to preserve digest
Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com >
* fix(sync): added coverage and various fixes
Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com >
* fix(metadb): fixed converting manifest list not setting platform and annotations
Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com >
* fix(sync): remove read lock on storage, not used concurrently
Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com >
* feat(sync): added cache for repo tags
Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com >
* fix(sync): fixed Makefile
removed opengpg tag
Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com >
* fix(sync): add test for on demand referrer
Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com >
---------
Signed-off-by: Eusebiu Petu <petu.eusebiu@gmail.com >
2025-04-15 16:58:15 -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
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
Jan-Otto Kröpke
f618b1d4ef
ci(deps): upgrade golangci-lint ( #2556 )
...
* ci(deps): upgrade golangci-lint
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de >
* build(deps): removed disabled linters
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de >
* build(deps): go run github.com/daixiang0/gci@latest write .
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* build(deps): go run golang.org/x/tools/cmd/goimports@latest -l -w .
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* build(deps): go run github.com/bombsimon/wsl/v4/cmd...@latest -strict-append -test=true -fix ./...
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* build(deps): go run github.com/catenacyber/perfsprint@latest -fix ./...
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* build(deps): replace gomnd by mnd
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* build(deps): make gqlgen
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* build: Revert "build(deps): go run github.com/daixiang0/gci@latest write ."
This reverts commit 5bf8c42e1f .
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* build(deps): go run github.com/daixiang0/gci@latest write -s 'standard' -s default -s 'prefix(zotregistry.dev/zot)' .
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* build(deps): make gqlgen
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: wsl issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: check-log issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: gci issues
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
* fix: tests
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
---------
Signed-off-by: Jan-Otto Kröpke <mail@jkroepke.de >
Signed-off-by: Jan-Otto Kröpke <joe@cloudeteer.de >
2024-07-29 10:32:51 -07:00
Andrei Aaron
7d87558b7e
fix: various lint issues ( #2571 )
...
Originally found by @jkroepke in: https://github.com/project-zot/zot/actions/runs/10056774230/job/27796324933?pr=2556
And https://github.com/project-zot/zot/pull/2556 in general
This commit covers:
- (canonicalheader) capitalization of Docker-Content-Digest header
- (protogetter) the proto getters were not used, they check for nil pointers, we should switch to using them
- (zerologlint) fix the false positive
Signed-off-by: Andrei Aaron <aaaron@luxoft.com >
2024-07-25 10:14:22 -07:00
LaurentiuNiculae
de90abd5dc
style(metadb): use type aliases for metadb types to be easier to read ( #2043 )
...
Signed-off-by: Laurentiu Niculae <niculae.laurentiu1@gmail.com >
2024-02-14 09:08:08 -08:00
Andrei Aaron
ce4924f841
refactor: rename go module from zotregistry.io/zot to zotregistry.dev/zot ( #2187 )
...
Signed-off-by: Andrei Aaron <aaaron@luxoft.com >
2024-01-31 20:34:07 -08:00
Andrei Aaron
ec7af4979f
fix(proto): the size of the repo should be int64, since that is the same type used for the manifest/config/index/digest sizes it sums up. ( #2120 )
...
Using int32 may result in negative size values when returned by the graphql API
Signed-off-by: Andrei Aaron <aaaron@luxoft.com >
2023-12-08 11:38:30 -08:00
Andreea Lupu
e59d8da454
fix(metadb): set LastUpdated field also for indexes ( #2088 )
...
Signed-off-by: Andreea-Lupu <andreealupu1470@yahoo.com >
2023-11-29 15:15:39 +02:00
LaurentiuNiculae
0de2210686
feat(metadb): add support for querying for images by a blob digest ( #2077 )
...
Signed-off-by: Laurentiu Niculae <niculae.laurentiu1@gmail.com >
2023-11-27 08:52:52 -08:00
peusebiu
4ed4661fc1
fix(metadb): populate image pushTimestamp if it's 0 value ( #2003 )
...
in the case of an already existing meta db without pushTimestamp field
its value would be 0 until image is updated, check for zero values and update them
with time.Now() so that retention logic won't remove them.
Signed-off-by: Petu Eusebiu <peusebiu@cisco.com >
2023-11-09 09:32:56 -08:00
LaurentiuNiculae
2db6e86fb5
fix(cov): coverage boltdb+dynamo ( #2018 )
...
Signed-off-by: Laurentiu Niculae <niculae.laurentiu1@gmail.com >
2023-11-08 13:37:52 -08:00
LaurentiuNiculae
6a66a9b9b4
fix(metadb): fix unexpected panic when dereferencing map fields ( #1993 )
...
Signed-off-by: Laurentiu Niculae <niculae.laurentiu1@gmail.com >
2023-11-02 14:35:49 -07:00
peusebiu
9074f8483b
feat(retention): added image retention policies ( #1866 )
...
feat(metaDB): add more image statistics info
Signed-off-by: Petu Eusebiu <peusebiu@cisco.com >
2023-11-01 09:16:18 -07:00
LaurentiuNiculae
56ad9e6707
refactor(metadb): improve UX by speeding up metadb serialize/deserialize ( #1842 )
...
Use protocol buffers and update the metadb interface to better suit our search needs
Signed-off-by: Ramkumar Chinchani <rchincha@cisco.com >
Signed-off-by: Laurentiu Niculae <niculae.laurentiu1@gmail.com >
Co-authored-by: Ramkumar Chinchani <rchincha@cisco.com >
2023-10-30 13:06:04 -07:00