Commit Graph

409 Commits (v0.29.0-rc.1)

Author SHA1 Message Date
Denis Kirillov f958eef2b3 [#325] Use default empty data.LockInfo in get/head in case of error
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-03-04 09:49:41 +00:00
Denis Kirillov 8050ca2d51 [#306] Use session token for container read operations
/ DCO (pull_request) Successful in 1m54s Details
/ Vulncheck (pull_request) Successful in 1m55s Details
/ Builds (1.20) (pull_request) Successful in 2m49s Details
/ Builds (1.21) (pull_request) Successful in 1m56s Details
/ Lint (pull_request) Successful in 3m59s Details
/ Tests (1.20) (pull_request) Successful in 2m30s Details
/ Tests (1.21) (pull_request) Successful in 2m19s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-03-01 18:14:33 +03:00
Denis Kirillov c12e264697 [#306] Simplify cid resolver for metrics
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-03-01 17:46:16 +03:00
Denis Kirillov 937367caaf [#318] Fix panic on invalid multipart form
Previously, simple 'curl -X POST http://localhost:8084/test' leads to panic because of wrong handle matching

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-29 17:30:28 +03:00
Marina Biryukova 31da31862a [#300] Update error logging in DeleteMultipleObjects
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-02-29 14:24:32 +00:00
Denis Kirillov 56b50f2075 [#306] Remove flag to disable policy contract
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Denis Kirillov 8f89f275bd [#306] Save bucket policy as native chain
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Denis Kirillov ff15f9f28a [#306] Fix update settings for buckets without owner key in tree
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Denis Kirillov c868af8a62 [#306] Add flag to enable old ACL bucket creation
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Denis Kirillov bac1b3fb2d [#306] Use zero basic acl to mark APE containers
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Denis Kirillov c452d58ce2 [#306] Reduce number of policy contract invocations
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Denis Kirillov d9d12debc3 [#306] Add tests
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Denis Kirillov 3d0d2032c6 [#306] acl: Handle put/get acl for APE buckets
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Denis Kirillov 1f2cf0ed67 [#306] Use APE instead of eACL on bucket creation
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Denis Kirillov 37be8851b3 [#306] Simplify namespaces configuration
Resolve ns alias at the beginning of the request just once.
Keep in ns map only one default ns key.

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Denis Kirillov c4c199defe [#306] Use s3 as chain id prefix to be consistent
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-28 17:50:08 +03:00
Alexey Vanin 563c1d9bd7 [#308] Fix linter issues
/ DCO (pull_request) Successful in 1m31s Details
/ Builds (1.20) (pull_request) Successful in 1m59s Details
/ Builds (1.21) (pull_request) Successful in 1m37s Details
/ Vulncheck (pull_request) Successful in 2m14s Details
/ Lint (pull_request) Successful in 4m7s Details
/ Tests (1.20) (pull_request) Successful in 2m28s Details
/ Tests (1.21) (pull_request) Successful in 1m58s Details
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-02-16 18:25:06 +03:00
Denis Kirillov c334adeb6d [#165] Sort nodes in ServiceClientMemory
/ DCO (pull_request) Successful in 1m22s Details
/ Builds (1.20) (pull_request) Successful in 1m52s Details
/ Builds (1.21) (pull_request) Successful in 1m17s Details
/ Vulncheck (pull_request) Successful in 1m51s Details
/ Lint (pull_request) Failing after 1m55s Details
/ Tests (1.20) (pull_request) Successful in 2m24s Details
/ Tests (1.21) (pull_request) Successful in 2m24s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:53:12 +03:00
Denis Kirillov a74d498df2 [#165] Return sort after HEAD in listing
/ DCO (pull_request) Successful in 1m16s Details
/ Builds (1.20) (pull_request) Successful in 2m9s Details
/ Builds (1.21) (pull_request) Successful in 1m39s Details
/ Vulncheck (pull_request) Successful in 1m52s Details
/ Lint (pull_request) Failing after 1m47s Details
/ Tests (1.20) (pull_request) Successful in 2m27s Details
/ Tests (1.21) (pull_request) Successful in 2m13s Details
We have to sort object after HEAD because we make request in different goroutines,
so the order is not deterministic.

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:15:08 +03:00
Denis Kirillov 69297a4a38 [#165] Delete object from tree in case of storage error
Extend storage node errors in case of which we continue deleting from tree
with 'object not found' error

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:15:08 +03:00
Denis Kirillov 71d82d1cc8 [#165] Fix lint issues
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:15:08 +03:00
Denis Kirillov fafe4af529 [#165] Fix real object size in listing
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:15:03 +03:00
Denis Kirillov 88f1acbdfc [#165] Cancel context in outdated list session
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:09:48 +03:00
Denis Kirillov 4e15452853 [#165] Fix lint errors
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:09:48 +03:00
Denis Kirillov da642a498a [#165] Listing fix data race
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:09:48 +03:00
Denis Kirillov 093de13f54 [#165] Add stream listing tests
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:09:48 +03:00
Denis Kirillov cf4fc3b602 [#165] Extend error on getting listing containers not in current namespace
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:09:48 +03:00
Denis Kirillov 739a6ec9df [#165] Support latest only stream listing
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:09:48 +03:00
Denis Kirillov c7ee628ab0 [#165] Fix versions listing
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:09:48 +03:00
Denis Kirillov 4ad84b9b94 [#165] listing: Use NodeVersion instead of ObjectInfo
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:09:48 +03:00
Denis Kirillov 29ac91dfd5 [#165] Support streaming listing
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 16:09:48 +03:00
Denis Kirillov 84af85ed67 [#302] Update APE to support chain id as bytes
/ DCO (pull_request) Successful in 1m52s Details
/ Vulncheck (pull_request) Successful in 2m0s Details
/ Builds (1.20) (pull_request) Successful in 2m49s Details
/ Builds (1.21) (pull_request) Successful in 1m59s Details
/ Lint (pull_request) Successful in 2m44s Details
/ Tests (1.20) (pull_request) Successful in 2m30s Details
/ Tests (1.21) (pull_request) Successful in 2m24s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-02-02 12:53:45 +03:00
Denis Kirillov 43cae9ee04 [#248] Correct object versions response markers
/ DCO (pull_request) Successful in 1m40s Details
/ Vulncheck (pull_request) Successful in 1m42s Details
/ Builds (1.20) (pull_request) Successful in 2m29s Details
/ Builds (1.21) (pull_request) Successful in 1m37s Details
/ Lint (pull_request) Successful in 3m55s Details
/ Tests (1.20) (pull_request) Successful in 2m23s Details
/ Tests (1.21) (pull_request) Successful in 2m16s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-21 10:53:50 +03:00
Denis Kirillov a17ff66975 [#282] policy: Use prefixes to distinguish s3/iam actions/resources
/ DCO (pull_request) Successful in 1m37s Details
/ Vulncheck (pull_request) Successful in 1m50s Details
/ Builds (1.20) (pull_request) Successful in 2m24s Details
/ Builds (1.21) (pull_request) Successful in 2m2s Details
/ Lint (pull_request) Successful in 4m26s Details
/ Tests (1.20) (pull_request) Successful in 2m28s Details
/ Tests (1.21) (pull_request) Successful in 1m58s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-20 10:41:15 +03:00
Denis Kirillov 38c5503a02 [#261] alc: Remove unused
/ Vulncheck (pull_request) Successful in 2m1s Details
/ DCO (pull_request) Successful in 1m49s Details
/ Builds (1.20) (pull_request) Successful in 2m21s Details
/ Builds (1.21) (pull_request) Successful in 2m4s Details
/ Lint (pull_request) Successful in 2m56s Details
/ Tests (1.20) (pull_request) Successful in 2m17s Details
/ Tests (1.21) (pull_request) Successful in 1m46s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-18 15:49:58 +03:00
Denis Kirillov 8273af8bf8 [#261] Make PutBucketPolicy handler use policy contract
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-18 15:49:54 +03:00
Denis Kirillov 28c6bb4cb8 [#266] Support per namespace placement policies configuration
/ DCO (pull_request) Successful in 1m34s Details
/ Builds (1.20) (pull_request) Successful in 3m15s Details
/ Builds (1.21) (pull_request) Successful in 2m55s Details
/ Vulncheck (pull_request) Successful in 2m51s Details
/ Lint (pull_request) Successful in 5m12s Details
/ Tests (1.20) (pull_request) Successful in 2m57s Details
/ Tests (1.21) (pull_request) Successful in 2m48s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-28 16:12:42 +03:00
Denis Kirillov ff1ec56d24 [#260] Use namespace as domain when create bucket
/ DCO (pull_request) Successful in 1m26s Details
/ Vulncheck (pull_request) Successful in 2m6s Details
/ Builds (1.20) (pull_request) Successful in 2m20s Details
/ Builds (1.21) (pull_request) Successful in 2m21s Details
/ Lint (pull_request) Successful in 3m15s Details
/ Tests (1.20) (pull_request) Successful in 2m28s Details
/ Tests (1.21) (pull_request) Successful in 2m17s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-27 15:30:12 +03:00
Denis Kirillov cf7254f8cd [#260] Refactor api/auth/center.go
Move the Center interface to middleware package where it's used

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-23 11:00:09 +03:00
Roman Loginov 861454e499 [#218] Add check content sha256 header
The X-Amz-Content-Sha256 header check is done only for unencrypted payload.

Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2023-11-22 11:33:52 +00:00
Marina Biryukova b28ecef43b [#219] Return ETag in quotes
/ Vulncheck (pull_request) Successful in 9m5s Details
/ Lint (pull_request) Successful in 11m1s Details
/ Tests (1.20) (pull_request) Successful in 9m59s Details
/ Tests (1.21) (pull_request) Successful in 9m53s Details
/ DCO (pull_request) Successful in 11m34s Details
/ Builds (1.20) (pull_request) Successful in 12m24s Details
/ Builds (1.21) (pull_request) Successful in 8m59s Details
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2023-11-22 11:12:32 +00:00
Marina Biryukova fe796ba538 [#217] Consider Copy-Source-SSE-* headers during copy
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2023-11-13 13:22:58 +00:00
Denis Kirillov 5ee73fad6a [#248] Correct NextVersionIDMarker in listing versions
/ DCO (pull_request) Successful in 4m40s Details
/ Vulncheck (pull_request) Successful in 5m43s Details
/ Lint (pull_request) Successful in 10m27s Details
/ Tests (1.20) (pull_request) Successful in 5m41s Details
/ Tests (1.21) (pull_request) Successful in 5m47s Details
/ Builds (1.20) (pull_request) Successful in 1m9s Details
/ Builds (1.21) (pull_request) Successful in 4m7s Details
Despite the spec https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectVersions.html#API_ListObjectVersions_ResponseElements
says that
"When the number of responses exceeds the value of MaxKeys,
NextVersionIdMarker specifies the first object version not returned
 that satisfies the search criteria. Use this value for the
 version-id-marker request parameter in a subsequent request."
 the actual behavior of AWS S3 is returning NextVersionIdMarker as the last returned object version

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-10-31 17:36:24 +03:00
Marina Biryukova 890a8ed237 [#227] Add versionID header after complete multipart
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2023-10-31 14:07:08 +00:00
Denis Kirillov 0bed25816c [#224] Add conditional escaping for object name
Chi gives inconsistent results in terms of whether
the strings returned are URL coded or not
See:
* https://github.com/go-chi/chi/issues/641
* https://github.com/go-chi/chi/issues/642

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-10-31 13:58:51 +00:00
Denis Kirillov b169c5e6c3 [#239] Update test for check goroutines leak
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-10-31 13:51:23 +00:00
Marina Biryukova cf13aae342 [#225] Add default storage class to responses
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2023-10-31 13:37:07 +00:00
Denis Kirillov 0938d7ee82 [#226] Fix status code in GET/HEAD delete marker
/ Vulncheck (pull_request) Successful in 2m26s Details
/ Lint (pull_request) Successful in 4m0s Details
/ Tests (1.20) (pull_request) Successful in 2m59s Details
/ Tests (1.21) (pull_request) Successful in 1m52s Details
/ DCO (pull_request) Successful in 4m17s Details
/ Builds (1.20) (pull_request) Successful in 6m33s Details
/ Builds (1.21) (pull_request) Successful in 1m28s Details
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-10-27 10:58:57 +03:00
Denis Kirillov 4f5f5fb5c8 [#222] Fix marshaling errors in `DeleteObjects` method
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-10-25 14:54:02 +00:00
Marina Biryukova 25bb581fee [#205] Add md5 checksum in header
/ Vulncheck (pull_request) Successful in 1m50s Details
/ DCO (pull_request) Successful in 3m29s Details
/ Lint (pull_request) Successful in 3m37s Details
/ Tests (1.20) (pull_request) Successful in 2m9s Details
/ Tests (1.21) (pull_request) Successful in 2m5s Details
/ Builds (1.20) (pull_request) Successful in 5m47s Details
/ Builds (1.21) (pull_request) Successful in 1m29s Details
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2023-10-25 11:04:19 +03:00