Commit Graph

239 Commits

Author SHA1 Message Date
André Roth 755fdfaca2 update swagger documentation
- add default values
-  set default values
2024-11-01 17:48:03 +01:00
André Roth f4057850b9 fix compile and lint errors 2024-11-01 17:47:50 +01:00
André Roth 4d6688d68e sanitize archs 2024-10-22 16:58:15 +02:00
Christoph Fiehe 7a7ff1142c Minor code and documentation changes.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
Christoph Fiehe 8cceed12f7 Fix tests.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
Christoph Fiehe f8f28e9554 Fixing tests and fix cleanup.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
Christoph Fiehe ac5ecf946d Cleanup improved and code redundant code removed.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
Christoph Fiehe d87d8bac92 Fix test cases.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
Christoph Fiehe 14c29ff912 Fixing tests.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
Christoph Fiehe 73cdf5417b Use POST instead of PUT for source creation.
Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
André Roth fa0d2860f0 fix multidist in publish 2024-10-22 16:58:15 +02:00
André Roth dcbb2a06a5 fix build 2024-10-22 16:58:15 +02:00
Christoph Fiehe bd64232eb6 Allow management of components
This commit allows to add, remove and update components of published repositories without the need to recreate them.

Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-10-22 16:58:15 +02:00
André Roth f16a68f59c fix race condition with repo add files
Do all relevant database reading/modifying inside `maybeRunTaskInBackground`.

Notably, `LoadComplete` will load the reflist of a repo. if this is done outside of a background operation,
the data might be outdated when the background tasks runs.
2024-10-22 15:12:25 +02:00
André Roth 01f16d35c2 swagger: make json params uppercase and add default values 2024-10-22 11:02:59 +02:00
Андрей Лухнов f8e0a8d880 Update create repo API to support snapshots
To achieve feature parity with cli, it is now possible
to create repos from snapshots
2024-10-22 07:53:43 +03:00
André Roth cefc09a41b more sanitize 2024-10-11 14:11:09 +02:00
André Roth 57639c4adf Sanitize path api params
- fix path traversal complains by CodeQL
2024-10-11 12:56:08 +02:00
André Roth 861260198a publish: persist multidist flag 2024-10-08 22:28:12 +02:00
André Roth d6a156b181 Merge pull request #1162 from aptly-dev/feature/176-snapshot-pull-api
Snapshot Pull API
2024-10-03 23:07:27 +02:00
André Roth bce54d5878 mirror api: update documentation 2024-10-03 22:39:03 +02:00
André Roth c35cd783cf swagger: improve doc 2024-10-03 17:46:32 +02:00
André Roth 38ea720fc5 snapshot merge: use proper REST api
- this breaks the existing api, which is only available in CI builds
- improve swagger doc
2024-10-03 17:34:29 +02:00
André Roth 06b2b920da make REST api more restful 2024-10-03 14:51:45 +02:00
André Roth 0bc45c822d swagger: document /api/snapshots/pull 2024-10-03 14:25:46 +02:00
Mauro Regli af5b04b24f Feature: Add Pull Snapshot API 2024-10-03 14:25:46 +02:00
André Roth 06cbd29d0d add storage API 2024-10-02 18:48:48 +02:00
André Roth fb538333fa add swagger documentation 2024-10-01 01:07:09 +02:00
André Roth 1d1bd41bb8 add swagger support
- install swaggo
- add swagger config option
2024-10-01 01:07:09 +02:00
Christoph Fiehe 4195ad90bc Allow to add a new component to a published repo
This commit modifies the behavior of the publish switch method in the way, that also new components can be added to an already published repository. It is no longer necessary to drop and recreate the whole publish.

Signed-off-by: Christoph Fiehe <c.fiehe@eurodata.de>
2024-09-24 15:43:27 +02:00
André Roth 37a9fbe530 api: fix OOM with sync tasks
since sync API calls also use tasks internally, this lead to out of memory due to aptly never removing them.
2024-08-03 14:36:04 +02:00
André Roth fe25414b45 api: repo copy handle package not found
and add tests for error proper handling.
2024-07-24 21:19:47 +02:00
André Roth 49184c9163 fix apiReposCopyPackage getting corrupt file name
it seems c.Params.ByName("file") should not be used
inside maybeRunTaskInBackground, as the content may be corrupted sometimes.
2024-07-24 21:19:47 +02:00
Sylvain Nieuwlandt 11401ca472 [api/copy] create system tests for new copy api endpoint 2024-07-10 16:43:03 +02:00
Valentin BRICE 66429bff45 [api/repos] Add copy API 2024-07-10 16:43:03 +02:00
Sylvain Nieuwlandt 8114786179 Declare the Copy API 2024-07-10 16:43:03 +02:00
André Roth c1f7e5fe96 handle GpgDisableVerify and ignore-signatures consistently
and be less verbose
2024-07-03 18:08:58 +02:00
André Roth d16110068c allow not signed mirrors without InRelease file 2024-07-03 18:08:58 +02:00
hudeng ecc88e7a40 feat: repo and snapshots packages filter api add 'maximumVersion' query parameter support
example: `curl http://localhost:8080/api/repos/test/packages\?maximumVersion\=1`

Change-Id: Ie9ffd36146bf017bbb353737f32360f7b73d6b0a
2024-06-24 17:44:40 +02:00
André Roth 1a3cfea348 replace io/ioutil
fixes golangci-lint errors
2024-06-17 11:51:18 +02:00
André Roth c33141d49b fix golangci-lint and compilation errors 2024-06-17 11:51:18 +02:00
Ryan Gonzalez 810df17009 Clean up temporary files when mirroring
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
2024-06-17 11:51:18 +02:00
Ryan Gonzalez 19255debb9 Reduce required usage of LocalPackagePool
Several sections of the code *required* a LocalPackagePool, but they
could still perform their operations with a standard PackagePool.

Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
2024-06-17 11:51:18 +02:00
André Roth 3e1485faf5 queue sync calls 2024-06-15 19:18:14 +02:00
André Roth 787f954833 mirror: do not download already downloaded packages
this change imports downloaded packages into the pool immediately after download.
in case mirroring is aborted and later resumed, already downloaded packages will not be downloaded anymore.
2024-06-15 16:15:23 +02:00
André Roth e9bdb983c8 tasks: improve log level 2024-06-15 16:15:23 +02:00
Noa Resare b4cd86aa14 Introduce option multi-dist to the publish commands
This change makes it possible to publish multiple distributions
with packages named the same but with different content by changing
structure of the generated pool hierarchy. The option not enabled
by default as this changes the structure of the output which could
break the expectations of other tools.
2024-06-15 11:27:26 +02:00
Cal Jurgella 4bd26f5977 Enable SkipArchitectureCheck and IgnoreSignatures in mirror API 2024-06-14 14:30:29 +02:00
Ryan Gonzalez 8d09c202db Skip loading reflists when listing published repos
The output doesn't actually depend on the reflists, and loading them for
every published repo starts to take substantial time and memory.

Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
2024-04-24 17:35:44 +02:00
Ryan Gonzalez 8ab8398c50 Use github.com/saracen/walker for file walk operations
In some local tests w/ a slowed down filesystem, this massively cut down
on the time to clean up a repository by ~3x, bringing a total 'publish
update' time from ~16s to ~13s.

Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com>
2024-04-24 16:46:16 +02:00