Commit graph

548 commits

Author SHA1 Message Date
8362cd696e [#199] Port release v0.32.1 changelog
All checks were successful
/ Vulncheck (pull_request) Successful in 47s
/ OCI image (pull_request) Successful in 1m15s
/ DCO (pull_request) Successful in 1m16s
/ Builds (pull_request) Successful in 1m5s
/ Lint (pull_request) Successful in 3m30s
/ Tests (pull_request) Successful in 2m12s
/ Integration tests (pull_request) Successful in 7m3s
/ Vulncheck (push) Successful in 53s
/ Builds (push) Successful in 1m18s
/ OCI image (push) Successful in 1m24s
/ Lint (push) Successful in 3m20s
/ Tests (push) Successful in 1m30s
/ Integration tests (push) Successful in 5m55s
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-01-29 13:10:35 +00:00
8de06e23a0 [#199] Use default value if config param is unset after SIGHUP
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-01-29 13:10:35 +00:00
a6fdaf9456 [#199] Clear app services list
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-01-29 13:10:35 +00:00
526da379ad [#199] Fix SIGHUP panic
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-01-29 13:10:35 +00:00
87ace4f8f7 [#201] govulncheck: Use patch release with security fixes
All checks were successful
/ DCO (pull_request) Successful in 2m40s
/ Builds (pull_request) Successful in 2m45s
/ Vulncheck (pull_request) Successful in 3m12s
/ Lint (pull_request) Successful in 4m51s
/ Tests (pull_request) Successful in 2m11s
/ Integration tests (pull_request) Successful in 6m58s
/ OCI image (pull_request) Successful in 1m9s
/ Vulncheck (push) Successful in 52s
/ Builds (push) Successful in 56s
/ OCI image (push) Successful in 1m27s
/ Lint (push) Successful in 3m16s
/ Tests (push) Successful in 1m26s
/ Integration tests (push) Successful in 5m59s
https://go.dev/doc/devel/release#go1.23.minor

Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2025-01-28 18:02:43 +03:00
36bd3e2d43
[#170] logs: Remove comments
All checks were successful
/ DCO (pull_request) Successful in 31s
/ Vulncheck (pull_request) Successful in 53s
/ Builds (pull_request) Successful in 1m11s
/ OCI image (pull_request) Successful in 1m34s
/ Lint (pull_request) Successful in 1m49s
/ Tests (pull_request) Successful in 50s
/ Integration tests (pull_request) Successful in 5m47s
/ Vulncheck (push) Successful in 43s
/ Builds (push) Successful in 1m0s
/ OCI image (push) Successful in 1m31s
/ Lint (push) Successful in 1m50s
/ Tests (push) Successful in 57s
/ Integration tests (push) Successful in 5m48s
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-01-23 17:16:23 +03:00
1e897aa3c3
[#170] Updated docs and configuration of archive section
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-01-23 17:16:23 +03:00
1e7309684b
[#170] Support .tar/.tgz unpacking during upload
During upload if X-Explode-Archive is set, gate tries to read archive and create an object for each file.
Each object acquires a FilePath attribute which is calculated relative to the archive root.
Archive could have compression via Gzip if "Content-Encoding: gzip" header is specified

Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-01-23 17:16:12 +03:00
7901d00924
[#170] Support tar.gz downloading
Split DownloadZip handler on methods. Add handler DownloadTar for downloading tar.gz archives. Make methods more universal for using in both implementations

Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2025-01-23 15:42:22 +03:00
a7617514d3 [#193] Use selfhosted image registry instead of Docker Hub
All checks were successful
/ DCO (pull_request) Successful in 30s
/ Builds (pull_request) Successful in 1m1s
/ Vulncheck (pull_request) Successful in 1m13s
/ OCI image (pull_request) Successful in 1m30s
/ Lint (pull_request) Successful in 1m54s
/ Tests (pull_request) Successful in 57s
/ Integration tests (pull_request) Successful in 5m48s
/ Vulncheck (push) Successful in 55s
/ Builds (push) Successful in 1m8s
/ OCI image (push) Successful in 1m23s
/ Lint (push) Successful in 3m4s
/ Tests (push) Successful in 1m2s
/ Integration tests (push) Successful in 5m42s
Existing AIO image tags referenced from our integration tests were
manually synced to git.frostfs.info prior to this change.

Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2025-01-21 12:59:25 +03:00
856e0ecf40 [#193] Update testcontainers to v0.35.0
All checks were successful
/ DCO (pull_request) Successful in 27s
/ Vulncheck (pull_request) Successful in 44s
/ Builds (pull_request) Successful in 1m9s
/ OCI image (pull_request) Successful in 1m27s
/ Lint (pull_request) Successful in 2m18s
/ Tests (pull_request) Successful in 52s
/ Integration tests (pull_request) Successful in 6m52s
Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2025-01-21 11:43:00 +03:00
1e82f64dfd [#193] Enable integration tests in Forgejo Actions
Some checks failed
/ DCO (pull_request) Successful in 32s
/ Vulncheck (pull_request) Successful in 46s
/ Builds (pull_request) Successful in 1m11s
/ OCI image (pull_request) Successful in 1m18s
/ Lint (pull_request) Successful in 1m49s
/ Tests (pull_request) Successful in 52s
/ Integration tests (pull_request) Failing after 1m1s
Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2025-01-21 11:07:00 +03:00
4b782cf124 [#187] Add handling quota limit reached error
All checks were successful
/ Vulncheck (push) Successful in 45s
/ Builds (push) Successful in 58s
/ OCI image (push) Successful in 1m19s
/ Lint (push) Successful in 2m3s
/ Tests (push) Successful in 54s
The Access Denied status may be received
from APE due to exceeding the quota. In
this situation, you need to return the
appropriate status code.

Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2025-01-21 06:59:47 +00:00
Aleksey Kravchenko
f0c999d9a2 [#188] Improve content-type detector
All checks were successful
/ Builds (push) Successful in 54s
/ Vulncheck (push) Successful in 50s
/ OCI image (push) Successful in 1m28s
/ Lint (push) Successful in 2m3s
/ Tests (push) Successful in 55s
Signed-off-by: Aleksey Kravchenko <al.kravchenko@yadro.com>
2025-01-21 06:52:37 +00:00
1db62f9d95 [#185] Update SDK to support new tree/pool version
All checks were successful
/ Builds (push) Successful in 51s
/ Vulncheck (push) Successful in 45s
/ OCI image (push) Successful in 1m37s
/ Lint (push) Successful in 2m37s
/ Tests (push) Successful in 54s
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2025-01-21 06:47:52 +00:00
e1b670a727 [#192] Build and host OCI images on our own infra
All checks were successful
/ Builds (push) Successful in 56s
/ Vulncheck (push) Successful in 1m5s
/ OCI image (push) Successful in 1m17s
/ Lint (push) Successful in 2m6s
/ Tests (push) Successful in 56s
Similar to TrueCloudLab/frostfs-s3-gw#587
this PR introduces a CI pipeline that builds Docker images and pushes them
to our selfhosted registry.

Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2025-01-21 06:42:25 +00:00
9551f34f00 [#163] Support JSON bearer token
All checks were successful
/ DCO (pull_request) Successful in 31s
/ Vulncheck (pull_request) Successful in 50s
/ Builds (pull_request) Successful in 57s
/ Lint (pull_request) Successful in 2m36s
/ Tests (pull_request) Successful in 57s
/ Builds (push) Successful in 53s
/ Vulncheck (push) Successful in 53s
/ Lint (push) Successful in 2m34s
/ Tests (push) Successful in 57s
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2025-01-09 11:26:37 +03:00
a4e3767d4b [#175] Adopt 1.6.* aio versoins in integration tests
All checks were successful
/ Vulncheck (push) Successful in 3m0s
/ Builds (push) Successful in 3m28s
/ Lint (push) Successful in 3m53s
/ Tests (push) Successful in 3m23s
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2024-12-24 08:01:33 +00:00
d32ac4b537 Release v0.32.0
All checks were successful
/ DCO (pull_request) Successful in 10m3s
/ Builds (pull_request) Successful in 3m0s
/ Vulncheck (pull_request) Successful in 10m39s
/ Lint (pull_request) Successful in 4m12s
/ Tests (pull_request) Successful in 2m48s
/ Vulncheck (push) Successful in 2m57s
/ Lint (push) Successful in 3m32s
/ Tests (push) Successful in 8m9s
/ Builds (push) Successful in 2m53s
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-12-20 15:23:02 +03:00
a658f3adc0 [#181] index_page: Ignore deleted objects in versioned buckets
All checks were successful
/ Vulncheck (push) Successful in 1m48s
/ Builds (push) Successful in 5m23s
/ Lint (push) Successful in 6m16s
/ Tests (push) Successful in 5m19s
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-12-17 13:06:57 +00:00
a945a947ac [#183] Unlink API.md to README file
Some checks failed
/ Vulncheck (push) Successful in 2m19s
/ Builds (push) Has been cancelled
/ Lint (push) Has been cancelled
/ Tests (push) Has been cancelled
This is useful for auto-generated document tools
which parse docs dir.

Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-12-17 13:03:02 +00:00
1be92fa4be
[#166] Fix getting s3 object with the FrostFS OID name
Some checks failed
/ DCO (pull_request) Successful in 4m21s
/ Vulncheck (pull_request) Successful in 4m31s
/ Builds (pull_request) Successful in 1m35s
/ Lint (pull_request) Successful in 2m56s
/ Tests (pull_request) Successful in 1m57s
/ Builds (push) Has been cancelled
/ Lint (push) Has been cancelled
/ Tests (push) Has been cancelled
/ Vulncheck (push) Has been cancelled
Prioritize getting s3 object with the key, which equals to valid FrostFS OID, rather than getting non-existent object with OID via native protocol for GET and HEAD requests

Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-12-17 10:32:22 +03:00
dc100f03a6 [#174] Add fallback path to search
All checks were successful
/ Vulncheck (push) Successful in 4m45s
/ Builds (push) Successful in 2m25s
/ Lint (push) Successful in 3m16s
/ Tests (push) Successful in 2m29s
Fallback path to search is needed because
some software may keep FileName attribute
and ignore FilePath attribute during file
upload. Therefore, if this feature is
enabled under certain conditions (for more
information, see gate-configuration.md) a
search will be performed for the FileName
attribute.

Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2024-12-16 10:43:34 +00:00
bbc7c7367d [#179] Refine CODEOWNERS settings
All checks were successful
/ DCO (pull_request) Successful in 1m47s
/ Vulncheck (pull_request) Successful in 4m12s
/ Builds (pull_request) Successful in 4m26s
/ Lint (pull_request) Successful in 4m58s
/ Tests (pull_request) Successful in 2m12s
/ Vulncheck (push) Successful in 1m38s
/ Builds (push) Successful in 1m56s
/ Lint (push) Successful in 3m51s
/ Tests (push) Successful in 2m57s
Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2024-12-10 16:18:08 +03:00
b9e44c603d
[#178] Update frostfs-sdk-go with new tree service client
All checks were successful
/ DCO (pull_request) Successful in 2m27s
/ Vulncheck (pull_request) Successful in 3m24s
/ Lint (pull_request) Successful in 3m30s
/ Tests (pull_request) Successful in 3m38s
/ Builds (pull_request) Successful in 2m52s
/ Vulncheck (push) Successful in 3m36s
/ Builds (push) Successful in 2m3s
/ Lint (push) Successful in 4m54s
/ Tests (push) Successful in 2m11s
Add tree service's GetBucketSettings to use them to check for protocol to use (S3 or native). Also add mock implementations for this and GetLatestVersion methods.

Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-12-09 15:09:08 +03:00
e81f01c2ab [#150] Add dropped logs metric
All checks were successful
/ DCO (pull_request) Successful in 2m19s
/ Builds (pull_request) Successful in 1m54s
/ Vulncheck (pull_request) Successful in 2m32s
/ Lint (pull_request) Successful in 2m46s
/ Tests (pull_request) Successful in 1m44s
/ Vulncheck (push) Successful in 1m21s
/ Builds (push) Successful in 1m33s
/ Lint (push) Successful in 3m23s
/ Tests (push) Successful in 2m5s
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2024-12-04 15:49:25 +03:00
a2f8cb6735 Release v0.31.0
All checks were successful
/ DCO (pull_request) Successful in 1m43s
/ Vulncheck (pull_request) Successful in 1m45s
/ Builds (pull_request) Successful in 1m46s
/ Lint (pull_request) Successful in 2m23s
/ Tests (pull_request) Successful in 1m38s
/ Vulncheck (push) Successful in 1m12s
/ Builds (push) Successful in 1m37s
/ Lint (push) Successful in 3m4s
/ Tests (push) Successful in 2m17s
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-11-20 11:09:31 +03:00
43764772aa
[#151] index page: Add browse via native protocol
All checks were successful
/ DCO (pull_request) Successful in 1m42s
/ Vulncheck (pull_request) Successful in 1m43s
/ Builds (pull_request) Successful in 1m35s
/ Lint (pull_request) Successful in 2m11s
/ Tests (pull_request) Successful in 1m35s
/ Builds (push) Successful in 1m13s
/ Vulncheck (push) Successful in 1m47s
/ Lint (push) Successful in 2m39s
/ Tests (push) Successful in 1m51s
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-11-19 17:33:21 +03:00
9c0b499ea6 [#164] Add tracing attributes
All checks were successful
/ Vulncheck (push) Successful in 58s
/ Builds (push) Successful in 1m22s
/ Lint (push) Successful in 3m20s
/ Tests (push) Successful in 1m41s
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2024-11-18 12:48:04 +00:00
22d905e51e [#165] Execute CI on push to master
All checks were successful
/ DCO (pull_request) Successful in 1m18s
/ Vulncheck (pull_request) Successful in 1m43s
/ Builds (pull_request) Successful in 1m37s
/ Lint (pull_request) Successful in 2m5s
/ Tests (pull_request) Successful in 1m36s
/ Vulncheck (push) Successful in 1m41s
/ Builds (push) Successful in 1m52s
/ Lint (push) Successful in 3m37s
/ Tests (push) Successful in 1m59s
Discussion:
    TrueCloudLab/frostfs-s3-gw#550

Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2024-11-15 11:41:13 +00:00
d5b92446bd [#162] Stop using obsolete .github directory
All checks were successful
/ Builds (pull_request) Successful in 1m13s
/ DCO (pull_request) Successful in 1m52s
/ Vulncheck (pull_request) Successful in 2m0s
/ Lint (pull_request) Successful in 2m22s
/ Tests (pull_request) Successful in 2m6s
This commit is a part of multi-repo cleanup effort:
TrueCloudLab/frostfs-infra#136

Signed-off-by: Vitaliy Potyarkin <v.potyarkin@yadro.com>
2024-11-06 15:19:54 +03:00
679731ee52 [#161] Update SDK
All checks were successful
/ DCO (pull_request) Successful in 1m49s
/ Builds (pull_request) Successful in 1m49s
/ Vulncheck (pull_request) Successful in 2m14s
/ Lint (pull_request) Successful in 2m43s
/ Tests (pull_request) Successful in 1m48s
Need fix TrueCloudLab/frostfs-sdk-go#282

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-11-05 17:51:35 +03:00
821f8c2248 [#160] Add documentation for multinet settings
All checks were successful
/ DCO (pull_request) Successful in 1m10s
/ Vulncheck (pull_request) Successful in 1m29s
/ Builds (pull_request) Successful in 1m7s
/ Lint (pull_request) Successful in 2m1s
/ Tests (pull_request) Successful in 1m14s
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-10-31 11:38:54 +03:00
8bc64ce5e9 [#160] Use source dialer for gRPC connection to storage
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-10-31 11:38:49 +03:00
69b7761bd6 [#160] Add internal/net package with multinet dialer source
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-10-31 11:38:41 +03:00
46c63edd67 [#158] Support cors
All checks were successful
/ DCO (pull_request) Successful in 1m2s
/ Vulncheck (pull_request) Successful in 1m28s
/ Builds (pull_request) Successful in 1m5s
/ Lint (pull_request) Successful in 2m31s
/ Tests (pull_request) Successful in 1m8s
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-10-25 09:31:59 +03:00
901b8ff95b [#158] Fix integration test compilation error
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-10-25 09:30:58 +03:00
8dc5272965 [#158] Rework app settings
Update settings by sighup using one lock/unlock operation

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-10-25 09:30:53 +03:00
70846fdaec [#157] Support the continuous use of interceptors
We can always add interceptors to the grpc
connection to the storage, since the actual
use will be controlled by the configuration
from the frostfs-observability library.

Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2024-10-22 14:24:26 +00:00
fc86ab3511 [#148] Add trace_id to logs
All checks were successful
/ DCO (pull_request) Successful in 1m7s
/ Builds (pull_request) Successful in 1m3s
/ Vulncheck (pull_request) Successful in 1m34s
/ Lint (pull_request) Successful in 2m6s
/ Tests (pull_request) Successful in 1m11s
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2024-10-17 11:00:43 +00:00
495f745535 [#142] Fix multipart-objects download
All checks were successful
/ DCO (pull_request) Successful in 1m3s
/ Vulncheck (pull_request) Successful in 1m31s
/ Builds (pull_request) Successful in 1m6s
/ Lint (pull_request) Successful in 2m10s
/ Tests (pull_request) Successful in 1m11s
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-10-15 17:17:29 +03:00
8fe8f2dcc2 [#137] Add index page support
All checks were successful
/ DCO (pull_request) Successful in 53s
/ Vulncheck (pull_request) Successful in 1m29s
/ Builds (pull_request) Successful in 1m43s
/ Lint (pull_request) Successful in 2m57s
/ Tests (pull_request) Successful in 1m16s
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-10-04 14:23:16 +03:00
77eb474581 [#147] Add sampling configuration
All checks were successful
/ DCO (pull_request) Successful in 1m27s
/ Vulncheck (pull_request) Successful in 1m38s
/ Builds (pull_request) Successful in 1m45s
/ Lint (pull_request) Successful in 2m14s
/ Tests (pull_request) Successful in 1m42s
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2024-09-26 14:49:13 +00:00
c8473498ae [#146] Fix of sighup traicing docs
All checks were successful
/ DCO (pull_request) Successful in 49s
/ Builds (pull_request) Successful in 1m18s
/ Vulncheck (pull_request) Successful in 1m13s
/ Lint (pull_request) Successful in 2m9s
/ Tests (pull_request) Successful in 1m15s
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2024-09-25 14:31:00 +03:00
a4233b006c [#144] Update frostfs-sdk-go
All checks were successful
/ DCO (pull_request) Successful in 35s
/ Vulncheck (pull_request) Successful in 57s
/ Builds (pull_request) Successful in 1m4s
/ Lint (pull_request) Successful in 2m43s
/ Tests (pull_request) Successful in 1m9s
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-09-24 18:17:21 +03:00
7e80f0cce6 [#139] Add root ca cert for telemetry configuration
All checks were successful
/ DCO (pull_request) Successful in 1m31s
/ Builds (pull_request) Successful in 1m19s
/ Vulncheck (pull_request) Successful in 1m41s
/ Lint (pull_request) Successful in 2m26s
/ Tests (pull_request) Successful in 1m30s
Signed-off-by: Aleksey Savaitan <a.savaitan@yadro.com>
2024-09-17 11:06:10 +03:00
843708a558 [#134] Support percent-encoding
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2024-09-03 12:00:13 +00:00
77ffde58e9 [#123] Add SECURITY.md
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2024-09-03 11:46:00 +00:00
ca426fff4d [#135] Add fuzzing tests for handlers
All checks were successful
/ Vulncheck (pull_request) Successful in 1m27s
/ DCO (pull_request) Successful in 1m31s
/ Builds (1.22) (pull_request) Successful in 1m29s
/ Builds (1.23) (pull_request) Successful in 1m32s
/ Lint (pull_request) Successful in 2m38s
/ Tests (1.22) (pull_request) Successful in 1m50s
/ Tests (1.23) (pull_request) Successful in 1m47s
Signed-off-by: Roman Ognev <r.ognev@yadro.com>
2024-09-02 16:02:47 +03:00
151e5bc1c8 [#132] Update Go version
All checks were successful
/ Vulncheck (pull_request) Successful in 1m17s
/ DCO (pull_request) Successful in 1m20s
/ Builds (1.22) (pull_request) Successful in 1m50s
/ Builds (1.23) (pull_request) Successful in 1m49s
/ Lint (pull_request) Successful in 2m41s
/ Tests (1.22) (pull_request) Successful in 1m44s
/ Tests (1.23) (pull_request) Successful in 1m41s
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-08-29 10:42:20 +03:00