Commit Graph

242 Commits

Author SHA1 Message Date
André Roth 57c93177ad publish: support MultiDist toggle 2026-06-14 19:55:45 +02:00
André Roth 7ccb256841 mirror: fix race conditions
* load data inside background tasks
  Perform collection.LoadComplete inside maybeRunTaskInBackground
  Have tasks use a fresh copy of taskCollectionFactory, taskCollection
2026-06-14 19:55:45 +02:00
André Roth 00e17d82fe snapshot: fix race conditions
* perform collection.LoadComplete inside maybeRunTaskInBackground
 * have tasks use a fresh copy of taskCollectionFactory, taskCollection
 * fix locking for snapshots of snapshots by locking SourceSnapshots
 * use uuids, since names can be renamed
2026-06-14 19:55:45 +02:00
André Roth 867310e8f1 repos: fix race conditions
* load data inside background tasks
  Perform collection.LoadComplete inside maybeRunTaskInBackground
  Have tasks use a fresh copy of taskCollectionFactory, taskCollection
* use uuids, since names can be renamed
2026-06-14 19:55:45 +02:00
André Roth fbac933c30 publish: fix race conditions
* remove useless resource lock
  Resource locks need to be before the background task. creating same publish endpoint at the same time is unlikely...
* load data inside background tasks
  This fixes a flaw in async apis, which loaded the published repo from the DB and mutated it outside the task closure, before the task lock was acquired.
  Perform collection.LoadComplete inside maybeRunTaskInBackground and have tasks use a fresh copy of taskCollectionFactory, taskCollection
* lock source repos/snapshots for publish operations
  Concurrent tasks were not properly locking their resources, leading to inconsistent published indexes:
  SourceLocalRepo: iterate published.Sources (component -> source UUID), look up each local repo via localRepoCollection.ByUUID and append string(repo.Key()) to resources
  SourceSnapshot: iterate b.Snapshots,look up each snapshot via snapshotCollection.ByName and append string(snapshot.ResourceKey()) to resources.
* lock pool on non MultiDist publish
* revert mutex on LinkFromPool
* use uuids, since names can be renamed
* add test for MultiDist change
2026-06-14 19:55:45 +02:00
André Roth 84c8e5cf22 docs: fix typos 2026-06-14 19:53:09 +02:00
André Roth 66e6d3ac6f document prometheus API
* enable in dev and test env
* fix api/repos doc
2026-06-14 19:53:09 +02:00
Russell Greene 62c92e4256 fix docs for Serve in API mode 2026-06-14 19:53:09 +02:00
Ales Bregar f06e428caf clearer REST api docs, put whitespace to docs to show that keyId strings are trimmed 2026-06-14 19:53:09 +02:00
Ales Bregar 8b521fc722 updating REST api with multiple gpg keys support, due backwards compatibility introducing CSV under same key (gpg-key) 2026-06-14 19:53:09 +02:00
Brian Witt 009087e58f error on out of space 2026-06-14 19:53:09 +02:00
Tobias Assarsson 56f5254aa9 fix repo edit api. 2026-06-14 19:53:08 +02:00
chesseed 298e09e0b9 fix comment 2026-06-14 19:53:08 +02:00
chesseed 4ecbaf5a62 fix swagger errors 2026-06-14 19:53:08 +02:00
JupiterRider 562820b625 ran "gofmt -s -w ." to format the code 2026-06-14 19:53:08 +02:00
Itay Porezky 02227d7233 Removing non related actions from mirror update 2026-06-14 19:53:08 +02:00
André Roth 3e7978180e disable swagger 2026-06-14 19:53:08 +02:00
André Roth ad4d0c7b96 doc: add swagger doc for /api/gpg/key
- cleanup swagger validation errors
2025-06-08 14:24:27 +02:00
André Roth f7057a9517 go1.24: fix lint, unit and system tests
- development env: base on debian trixie with go1.24
- lint: run with default config
- fix lint errors
- fix unit tests
- fix system test
2025-04-26 13:29:50 +02:00
André Roth c07bf2b108 s3: add debug logs for commands
* initialize zerolog for commands
* Change default log format: remote colors and timestamp
2025-04-24 12:13:38 +02:00
André Roth e062df68c5 go1.23: update golangci-lint version
and fix warnings.
2025-04-20 20:32:55 +02:00
André Roth 9abbd74a9f improve doc
do not set default value for FromSnapshot when creating a repo
2024-12-21 20:23:52 +01:00
André Roth 93650efddb Merge pull request #1404 from schoenherrg/fix/with-sources-ignored
Fix `-with-sources` not fetching differently named source packages
2024-12-11 13:01:30 +01:00
André Roth e319f3cd14 update doc
make descrptions consistent
2024-12-11 11:19:46 +01:00
André Roth 1f469e23b5 fix optional params 2024-12-11 10:40:44 +01:00
André Roth d8b9777b40 swagger: document params 2024-12-11 10:40:44 +01:00
André Roth e5e3c49ace swagger: document async 2024-12-11 10:40:44 +01:00
André Roth c6e0a06b14 swagger: cleanup 2024-12-11 10:40:44 +01:00
André Roth 75e5f95277 task-dummy: remove internal testing API 2024-12-11 10:40:44 +01:00
André Roth 4ff3c894fa swagger: cleanup Snapshots 2024-12-11 10:40:44 +01:00
André Roth abfad37640 swagger: cleanup files doc 2024-12-11 10:40:44 +01:00
André Roth a69c00a5bc swagger: improve layout
and fix lint
2024-12-11 10:40:44 +01:00
André Roth 4f229a5bcf update doc 2024-12-11 10:40:44 +01:00
André Roth 397362bb1a fix swagger build 2024-12-11 10:40:44 +01:00
iofq d5571c41c7 Update files api docs 2024-12-11 10:40:44 +01:00
iofq 39921809ee Update db api docs 2024-12-11 10:40:44 +01:00
iofq 68fe2bc852 Update gpg, graph api docs 2024-12-11 10:40:44 +01:00
iofq 398fec13b0 Update packages api docs 2024-12-11 10:40:44 +01:00
iofq 9fc7ebdac2 Update repos, task, snapshot api docs 2024-12-11 10:40:44 +01:00
André Roth 2171c05ef8 fix lint 2024-12-11 10:40:44 +01:00
André Roth 8f8de4bd29 update 2024-12-11 10:40:44 +01:00
André Roth 9b8f6b1d56 fix conflict 2024-12-11 10:40:43 +01:00
André Roth 69a1e2561d docs: improve swagger
- use markdown files in swagger
- automate version, use swager.conf template
- embed swagger ui index.html as docs.html
2024-12-11 10:40:43 +01:00
André Roth ba86851d07 add api documentation stubs 2024-12-11 10:40:43 +01:00
Gordian Schoenherr 3b785e4165 Refactor Filter options into a struct
It was already a lot of options for one method and I am going to add
another one in the next commit.
2024-12-09 13:17:41 +09:00
André Roth 9ca9569714 fix build and golangci-lint 2024-11-17 14:09:37 +01:00
Mauro Regli 1357d246d8 rename addon files to skel files 2024-11-17 14:09:37 +01:00
Mauro Regli c75c2c7594 pass down addonpath from api and cmd context 2024-11-17 14:09:37 +01:00
André Roth eafec74c29 allow to exclude provided packages from list.Search 2024-11-04 17:02:54 +01:00
André Roth f79423a4ee update swagger documentation 2024-11-01 17:48:03 +01:00