f120715a37
[ #516 ] Convert expiration date to epoch
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-10-22 14:21:49 +00:00
e35b582fe2
[ #506 ] Deny bucket names with dot
...
/ DCO (pull_request) Successful in 1m14s
/ Vulncheck (pull_request) Successful in 1m49s
/ Builds (pull_request) Successful in 1m37s
/ Lint (pull_request) Successful in 3m3s
/ Tests (pull_request) Successful in 1m34s
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-10-08 12:50:22 +03:00
39fc7aa3ee
[ #404 ] Fix using encoding type in multipart upload listing
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-10-08 09:44:05 +00:00
da41f47826
[ #404 ] Add check of encoding type in object listing
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-10-08 09:44:05 +00:00
9e5fb4be95
[ #507 ] Return not implemented by default in bucket router
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-10-07 05:38:35 +00:00
346243b159
[ #450 ] Fix getPutPayloadSize
...
/ DCO (pull_request) Successful in 1m17s
/ Vulncheck (pull_request) Successful in 1m20s
/ Builds (pull_request) Successful in 1m24s
/ Lint (pull_request) Successful in 2m23s
/ Tests (pull_request) Successful in 1m25s
If X-Amz-Decoded-Content-Length explicitly set use it even if value is 0
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-10-03 14:23:06 +03:00
c2adbd758a
[ #488 ] middleware/auth: Add frostfs-to-s3 error transformation
...
/ Vulncheck (pull_request) Successful in 1m3s
/ DCO (pull_request) Successful in 1m27s
/ Builds (pull_request) Successful in 1m27s
/ Lint (pull_request) Successful in 3m5s
/ Tests (pull_request) Successful in 1m56s
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-10-02 13:18:25 +03:00
bc17ab5e47
[ #488 ] middleware/policy: Add frostfs-to-s3 error transformation
...
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-10-02 12:35:04 +03:00
9fadfbbc2f
[ #488 ] Renamed api/errors, layer/frostfs and layer/tree package names
...
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-10-02 12:35:04 +03:00
827ea1a41e
[ #488 ] Move layer/frostfs.go to layer/frostfs/frostfs.go
...
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-10-02 12:35:04 +03:00
968f10a72f
[ #488 ] Move layer/tree_service.go to layer/tree/tree_service.go
...
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-10-02 12:35:04 +03:00
738ce14f50
[ #434 ] Remove container on failed bucket creation
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-09-25 07:15:24 +00:00
a87c636b4c
[ #493 ] Fix X-Frostfs-S3-VHS header processing
...
It is assumed that the X-Frostfs-S3-VHS header
will have the value enabled/disabled instead
of true/false.
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2024-09-16 14:28:19 +03:00
26baf8a94e
[ #492 ] Add panic catchers to fuzzing tests
...
Signed-off-by: Roman Ognev <r.ognev@yadro.com>
2024-09-16 10:36:30 +00:00
f187141ae5
[ #486 ] Fix PUT object with negative Content-Length
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-09-16 08:45:46 +00:00
3cffc782e9
[ #486 ] Fix PUT encrypted object
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-09-16 08:45:46 +00:00
d0e4d55772
[ #460 ] Add network info cache
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-09-13 09:56:24 +00:00
42e72889a5
[ #450 ] Add test for chunk-encoded object size
...
/ DCO (pull_request) Successful in 1m9s
/ Vulncheck (pull_request) Successful in 1m20s
/ Builds (pull_request) Successful in 1m52s
/ Lint (pull_request) Successful in 2m47s
/ Tests (pull_request) Successful in 1m49s
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-09-13 12:00:24 +03:00
98815d5473
[ #450 ] Fix aws-chunked header workflow
...
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2024-09-13 11:59:07 +03:00
62615d7ab7
[ #369 ] Request reproducer
...
/ DCO (pull_request) Successful in 47s
/ Builds (pull_request) Successful in 59s
/ Vulncheck (pull_request) Successful in 1m15s
/ Lint (pull_request) Successful in 2m15s
/ Tests (pull_request) Successful in 1m20s
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-09-11 15:25:09 +03:00
575ab4d294
[ #369 ] Enhanced http requests logging
...
Signed-off-by: Nikita Zinkevich <n.zinkevich@yadro.com>
2024-09-11 15:25:09 +03:00
d919e6cce2
[ #482 ] Fix containers resolving
...
/ DCO (pull_request) Successful in 1m8s
/ Builds (pull_request) Successful in 1m7s
/ Vulncheck (pull_request) Successful in 1m12s
/ Lint (pull_request) Successful in 2m24s
/ Tests (pull_request) Successful in 1m24s
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-09-05 12:33:14 +03:00
056f168d77
[ #448 ] multipart: Support removing duplicated parts
...
Previously after tree split we can have duplicated parts
(several objects and tree node referred to the same part number).
Some of them couldn't be deleted after abort or compete action.
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-09-03 13:20:38 +00:00
d6b506f6d9
[ #466 ] Implement PATCH for multipart objects
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-09-03 11:57:59 +00:00
b08f476ea7
[ #462 ] Implement PATCH for regular objects
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-09-03 11:57:59 +00:00
664f83b2b7
[ #480 ] Add fuzzing tests
...
/ DCO (pull_request) Successful in 1m34s
/ Vulncheck (pull_request) Successful in 1m45s
/ Builds (1.22) (pull_request) Successful in 1m51s
/ Builds (1.23) (pull_request) Successful in 1m56s
/ Lint (pull_request) Successful in 3m3s
/ Tests (1.22) (pull_request) Successful in 1m52s
/ Tests (1.23) (pull_request) Successful in 1m51s
Signed-off-by: Roman Ognev <r.ognev@yadro.com>
2024-09-02 15:59:07 +03:00
d76c4fe2a2
[ #472 ] tree: Don't use sorted GetSubTree for nodes without FileName
...
Sorted GetSubTree doesn't return nodes without FileName attribute
if there are more than 1000 nodes in subtree
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-08-27 09:43:29 +00:00
bf00fa6aa9
[ #449 ] Add support headers for vhs and servername
...
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2024-08-23 08:35:05 +00:00
ff690ce996
[ #446 ] Add tests for address style middleware
...
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2024-08-23 08:35:05 +00:00
534ae7f0f1
[ #446 ] Add support virtual-hosted-style
...
Signed-off-by: Roman Loginov <r.loginov@yadro.com>
2024-08-23 08:35:05 +00:00
e73f11c251
[ #452 ] tree: Fix logging
...
/ DCO (pull_request) Successful in 1m6s
/ Vulncheck (pull_request) Successful in 1m10s
/ Builds (1.21) (pull_request) Successful in 1m32s
/ Builds (1.22) (pull_request) Successful in 1m31s
/ Lint (pull_request) Successful in 1m46s
/ Tests (1.21) (pull_request) Successful in 1m51s
/ Tests (1.22) (pull_request) Successful in 1m45s
Don't log parsing tags error in listing
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-08-21 10:38:36 +03:00
5cb77018f8
[ #42 ] Change valid time format for lifecycle configuration
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-08-21 10:38:36 +03:00
fa68a4ce40
[ #412 ] Store creation epoch of delete markers
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-08-21 10:38:35 +03:00
0644067496
[ #412 ] Store creation epoch in tree service
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-08-21 10:38:35 +03:00
481520705a
[ #42 ] Support expiration lifecycle
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-08-21 10:38:35 +03:00
20719bd85c
[ #456 ] PostObject: check object key for emptiness
...
/ DCO (pull_request) Successful in 1m1s
/ Vulncheck (pull_request) Successful in 1m12s
/ Builds (1.21) (pull_request) Successful in 1m29s
/ Builds (1.22) (pull_request) Successful in 1m33s
/ Lint (pull_request) Successful in 2m20s
/ Tests (1.21) (pull_request) Successful in 1m41s
/ Tests (1.22) (pull_request) Successful in 1m39s
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-08-13 09:27:26 +03:00
4f27e34974
[ #456 ] auth: Fix authentication for POST Object
...
During post object operation field AuthHeader in middleware.Box wasn't set
that led to panic
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-08-12 15:25:53 +03:00
3dc989d7fe
[ #451 ] Support Location in CompleteMultipart response
...
/ Vulncheck (pull_request) Successful in 1m15s
/ DCO (pull_request) Successful in 1m13s
/ Builds (1.21) (pull_request) Successful in 1m31s
/ Builds (1.22) (pull_request) Successful in 1m25s
/ Lint (pull_request) Successful in 2m26s
/ Tests (1.21) (pull_request) Successful in 1m40s
/ Tests (1.22) (pull_request) Successful in 1m43s
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-08-06 15:45:09 +03:00
69e77aecc9
[ #451 ] Don't skip [Next]PartNumberMarker in response
...
In ListParts response we should always keep PartNumberMarker (even if it's zero)
and NextPartNumberMarker (even if response isn't truncated)
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-08-06 15:44:56 +03:00
f5326b9f04
[ #437 ] tree: Support removing old split system nodes
...
It's need to fit user expectation on deleting CORS for example.
Previously after removing cors (that was uploaded in split manner)
we can still get some data (from other node)
because deletion worked only for latest node version.
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-07-26 06:54:10 +00:00
51c5c227c2
[ #31 ] Add force bucket delete flag
...
/ DCO (pull_request) Successful in 1m11s
/ Vulncheck (pull_request) Successful in 1m22s
/ Builds (1.21) (pull_request) Successful in 1m26s
/ Builds (1.22) (pull_request) Successful in 2m23s
/ Lint (pull_request) Successful in 2m22s
/ Tests (1.21) (pull_request) Successful in 1m23s
/ Tests (1.22) (pull_request) Successful in 1m25s
Signed-off-by: Pavel Pogodaev <p.pogodaev@yadro.com>
2024-07-25 14:04:54 +03:00
6cb0026007
[ #427 ] layer: Split FrostFS ReadObject to separate methods
...
/ Builds (1.21) (pull_request) Successful in 1m20s
/ Builds (1.22) (pull_request) Successful in 1m15s
/ Vulncheck (pull_request) Successful in 1m6s
/ DCO (pull_request) Successful in 57s
/ Lint (pull_request) Successful in 2m59s
/ Tests (1.21) (pull_request) Successful in 1m9s
/ Tests (1.22) (pull_request) Successful in 1m23s
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-07-23 16:53:59 +03:00
971006a28c
[ #422 ] Support separate container for CORS
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-07-23 12:33:29 +00:00
3213dd7236
[ #404 ] Add processing of encoding-type in versions listing
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-07-23 12:10:35 +00:00
977a20760b
[ #430 ] Delete all split version at once
...
/ DCO (pull_request) Successful in 8m40s
/ Vulncheck (pull_request) Successful in 13m10s
/ Builds (1.21) (pull_request) Successful in 14m11s
/ Builds (1.22) (pull_request) Successful in 14m18s
/ Lint (pull_request) Successful in 16m31s
/ Tests (1.21) (pull_request) Successful in 10m48s
/ Tests (1.22) (pull_request) Successful in 14m31s
Previously after split we can get two `null` versioned object with the same key
and deleting such key removes only one node/object.
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-07-19 11:26:51 +03:00
c0011ebb8d
[ #430 ] tree: Fix multipart having system name
...
Previously if multipart key has the same name as some system node
(e.g. bucket-settings, bucket-cors etc.) it shadows real system node
and bucket started to be unversioned again for example.
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-07-19 11:24:50 +03:00
456319d2f1
[ #430 ] Fix split tree
...
Update tree service to fix split tree problem.
Tree intermediate nodes can be duplicated, so we must handle this.
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-07-19 11:24:46 +03:00
f86b82351a
[ #398 ] Fix parameter parsing in bucket retryer
...
/ Builds (1.20) (pull_request) Successful in 2m7s
/ Builds (1.21) (pull_request) Successful in 1m38s
/ DCO (pull_request) Successful in 2m3s
/ Vulncheck (pull_request) Failing after 2m23s
/ Lint (pull_request) Successful in 4m21s
/ Tests (1.20) (pull_request) Successful in 2m46s
/ Tests (1.21) (pull_request) Successful in 2m42s
RetryStrategyExponential should use jitter backoff
instead of constant delay function
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-07-03 13:42:24 +03:00
465eaa816a
[ #372 ] Drop [e]ACL related code
...
/ DCO (pull_request) Successful in 2m15s
/ Vulncheck (pull_request) Successful in 2m55s
/ Builds (1.20) (pull_request) Successful in 3m46s
/ Builds (1.21) (pull_request) Successful in 3m48s
/ Lint (pull_request) Successful in 5m26s
/ Tests (1.20) (pull_request) Successful in 3m34s
/ Tests (1.21) (pull_request) Successful in 3m18s
Always consider buckets as APE compatible
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-07-01 16:58:44 +03:00
77f8bdac58
[ #372 ] Drop kludge.acl_enabled flag
...
Now only APE container can be created using s3-gw
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-07-01 16:26:19 +03:00