Pierig Le Saux
214c151194
fix: resolve golangci-lint failures in jfrog storage implementation
...
- Remove unused pathCache field from PublishedStorage struct
- Remove unused md5s accumulation in Filelist()
- Fix unchecked error return on expectedOut.Write in config_test.go
- Suppress unused linter on configFileYAML/configFileYAMLError constants
(retained to avoid merge conflicts with feat/pls/gcs-support)
- Add --timeout=10m to golangci-lint workflow
- add back removed tests
2026-06-18 18:18:31 +02:00
Pierig Le Saux
4b8f0c42ac
initial commit for JFrog support
2026-06-18 13:38:03 +02:00
Pierig Le Saux
46e9ac65fa
missed some files for tests
2026-06-17 23:39:27 +02:00
Pierig Le Saux
83b1c1b6cb
gcs: add fake-gcs-server test suite, raise coverage
2026-06-17 23:39:27 +02:00
Pierig Le Saux
ed4af9a0f6
add support for gcs
2026-06-17 23:39:26 +02:00
André Roth
faeaad0378
config: allow setting PPA Base URL
2026-05-04 11:05:04 +02:00
Ales Bregar
9b523e6bd5
review fix
2026-01-24 10:55:15 +01:00
Ales Bregar
d672bfa317
white space revert to minimize change
2026-01-24 10:55:15 +01:00
Ales Bregar
9a90038dd2
- #309 adding gpgKeys config key, accepting array of keyRef, cli args has precedence
...
- #691 adding handling of multiple keyRefs when signing with gpg
2026-01-24 10:55:15 +01:00
JupiterRider
b49a631e0b
ran "gofmt -s -w ." to format the code
2025-08-20 19:41:26 +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
e50a5e175f
update documentation and man page
2024-12-11 12:02:52 +01:00
André Roth
a7d6782176
add test and improve config error messages
2024-12-11 12:02:52 +01:00
André Roth
a15d8a3f7b
add test
2024-12-11 12:02:52 +01:00
André Roth
4e566b4692
fix tests and lint
2024-12-11 12:02:52 +01:00
André Roth
87a36633e9
group and order config items
...
and fix lint
2024-12-11 12:02:52 +01:00
André Roth
0e0189f0eb
use yaml config file
2024-12-11 12:02:52 +01:00
André Roth
a880a88fc0
yaml config
2024-12-11 12:02:52 +01:00
André Roth
ea80f6d49c
write commented json default config
2024-12-11 10:40:44 +01:00
André Roth
cc1fc7ccfe
allow comments in config file
2024-12-11 10:40:43 +01:00
André Roth
5ddb718eab
support ~ in rootDir
2024-11-17 14:09:37 +01: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
1d1bd41bb8
add swagger support
...
- install swaggo
- add swagger config option
2024-10-01 01:07:09 +02:00
André Roth
32a3943821
support ~ in rootDir as home directory
2024-09-24 10:14:39 +02:00
André Roth
f10acb3df8
etcd: fix db config and test
...
fix unit test for adapted config file
2024-07-31 22:16:00 +02:00
hudeng
59bf4501e8
feat: Use databaseBackend config repace databaseEtcd
...
databaseBackend config contains type and url sub config, It can facilitate the expansion of other types of databases in the future.
2024-07-31 22:16:00 +02:00
hudeng
78172d11d7
feat: Add etcd database support
...
improve concurrent access and high availability of aptly with the help of the characteristics of etcd
2024-07-31 22:16:00 +02:00
André Roth
deae90485a
fix DirIsAccessible
...
perms 0000 need to be checked explicitly
2024-07-24 21:19:47 +02:00
André Roth
9f1860dff7
fix unit test
2024-07-24 21:19:47 +02:00
Ryan Gonzalez
f9325fbc91
Add support for Azure package pools
...
This adds support for storing packages directly on Azure, with no truly
"local" (on-disk) repo used. The existing Azure PublishedStorage
implementation was refactored to move the shared code to a separate
context struct, which can then be re-used by the new PackagePool. In
addition, the files package's mockChecksumStorage was made public so
that it could be used in the Azure PackagePool tests as well.
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com >
2024-06-17 11:51:18 +02:00
Ryan Gonzalez
8e37813129
Add support for custom package pool locations
...
Signed-off-by: Ryan Gonzalez <ryan.gonzalez@collabora.com >
2024-06-17 11:51:18 +02:00
Mauro Regli
ae61706a34
Fix: Implement golangci-lint suggestions
2023-09-21 11:25:18 +02:00
Markus Muellner
0fdba29d51
make serving published repos in api mode configurable
2023-03-22 17:22:54 +01:00
Markus Muellner
f74217ed9c
implement system tests for serving api and published repos simultaneously
2023-03-22 17:22:54 +01:00
Markus Muellner
8e62195eb5
implement structured logging
2023-02-20 13:42:50 +01:00
Markus Muellner
352f4e8772
update golangci-lint and replace deprecated calls to io/ioutil
2022-12-12 10:21:39 +01:00
boxjan
268c39ea8c
add forceVirtualHostedStyle for stores which only support virtual hosted style
2022-09-09 09:02:52 +02:00
Benj Fassbind
bfc86d3b30
Test copyfile
2022-07-13 08:33:48 +02:00
Benj Fassbind
3ce27743ae
Test utils
2022-07-13 08:33:48 +02:00
Sjoerd Simons
f61514edaf
Allow disabling bzip2 compression for index files
...
Using bzip2 generates smaller index files (roughly 20% smaller Packages
files) but it comes with a big performance penalty. When publishing a
debian mirror snapshot (amd64, arm64, armhf, source) without contents
skipping bzip speeds things up around 1.8 times.
```
$ hyperfine -w 1 -L skip-bz2 true,false -m 3 -p "aptly -config aptly.conf publish drop bullseye || true" "aptly -config aptly.conf publish snapshot --skip-bz2={skip-bz2} --skip-contents --skip-signing bullseye"
Benchmark 1: aptly -config aptly.conf publish snapshot --skip-bz2=true --skip-contents --skip-signing bullseye
Time (mean ± σ): 35.567 s ± 0.307 s [User: 39.366 s, System: 10.075 s]
Range (min … max): 35.311 s … 35.907 s 3 runs
Benchmark 2: aptly -config aptly.conf publish snapshot --skip-bz2=false --skip-contents --skip-signing bullseye
Time (mean ± σ): 64.740 s ± 0.135 s [User: 68.565 s, System: 10.129 s]
Range (min … max): 64.596 s … 64.862 s 3 runs
Summary
'aptly -config aptly.conf publish snapshot --skip-bz2=true --skip-contents --skip-signing bullseye' ran
1.82 ± 0.02 times faster than 'aptly -config aptly.conf publish snapshot --skip-bz2=false --skip-contents --skip-signing bullseye'
```
Allow skipping bz2 creation for setups where faster publishing is more
important then Package file size.
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com >
2022-06-22 11:25:45 +02:00
Sjoerd Simons
2aca913e92
Use parallel gzip instead of gzip for compression
...
golangs compress/gzip isn't a parallel implementation, so it's quite a
bit slower on most modern servers then pgzip. The below benchmark
run shows that publishing a debian bullseye mirror snapshot (amd64, arm64,
armhf, source) shows a gain of about 35% in publishing time (when skipping
bz2 using MR #1081 )
```
hyperfine -w 1 -m 3 -L aptly aptly-nobz2,aptly-nobz2-pgzip -p "{aptly} -config aptly.conf publish drop bullseye || true" "{aptly} -config aptly.conf publish snapshot --skip-bz2=true --skip-contents --skip-signing bullseye"
Benchmark 1: aptly-nobz2 -config aptly.conf publish snapshot --skip-bz2=true --skip-contents --skip-signing bullseye
Time (mean ± σ): 35.548 s ± 0.378 s [User: 39.465 s, System: 10.046 s]
Range (min … max): 35.149 s … 35.902 s 3 runs
Benchmark 2: aptly-nobz2-pgzip -config aptly.conf publish snapshot --skip-bz2=true --skip-contents --skip-signing bullseye
Time (mean ± σ): 26.592 s ± 0.069 s [User: 42.207 s, System: 9.676 s]
Range (min … max): 26.521 s … 26.660 s 3 runs
Summary
'aptly-nobz2-pgzip -config aptly.conf publish snapshot --skip-bz2=true --skip-contents --skip-signing bullseye' ran
1.34 ± 0.01 times faster than 'aptly-nobz2 -config aptly.conf publish snapshot --skip-bz2=true --skip-contents --skip-signing bullseye'
```
Signed-off-by: Sjoerd Simons <sjoerd@collabora.com >
2022-06-21 15:43:58 +02:00
Chuan Liu
152538ccc1
Support custom Azure publish endpoint
2022-04-25 11:41:04 +02:00
Markus Muellner
6539e1b856
Add metrics endpoint with http metrics using Prometheus client lib
2022-04-12 14:39:16 +02:00
Lorenzo Bolla
1afcd68e01
Make downloader type configurable
2022-01-31 10:32:54 +01:00
Lorenzo Bolla
9bf1a44f75
Fix test after merge
2022-01-27 09:30:14 +01:00
Lorenzo Bolla
9b28d8984f
Configurable background task execution
2022-01-27 09:30:14 +01:00
chuan
bb42a2158d
Add support for Azure storage as a publishing backend
...
This adds a new configuration setting: AzurePublishEndpoints, similar
to the existing S3PublishEndpoints and SwiftPublishEndpoints.
For each endpoint, the following has to be defined:
- accountName
- accountKey
- container
- prefix
Azure tests require the following environment variables to be set:
- AZURE_STORAGE_ACCOUNT
- AZURE_STORAGE_ACCESS_KEY
With either of these not set, Azure-specific tests are skipped.
2022-01-21 11:46:36 +01:00
Frank Steinborn
98e75f6d97
Make database open attempts configurable also via config file
2019-09-03 00:52:24 +03:00