70ec5a0a5b
[ #83 ] Don't create extra delete marker
...
We shouldn't create delete marker if:
1. object doesn't exist at all
2. last version is already a delete marker
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-04-19 17:56:11 +03:00
fb99b26209
[ #57 ] api: Clean up List and Name caches when object is missing in Tree service
2023-04-04 17:15:04 +03:00
a0937126cb
[ #64 ] Support new system attributes
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-03-22 11:46:58 +03:00
813aa2f173
Rename package name
...
Due to source code relocation from GitHub.
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-03-07 17:38:08 +03:00
740acadd37
[TrueCloudLab#36] Fix cors object payload
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-02-20 19:22:48 +03:00
8ac630ee71
[TrueCloudLab#25] Add zone data to BucketInfo
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-02-17 13:47:48 +03:00
8e14ccad9f
[ #754 ] Remove duplicating CID/OID logging calls
...
Signed-off-by: Artem Tataurov <a.tataurov@yadro.com>
(cherry picked from commit 8c178fc3c7265fecc897a2526419bb748847c668)
2022-12-28 17:06:32 +03:00
af7fbd6f32
[ #754 ] Add CID and OID to logs
...
Signed-off-by: Artem Tataurov <a.tataurov@yadro.com>
2022-12-28 17:06:32 +03:00
000d9ed42a
[ #2 ] Update issue links
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2022-12-21 11:17:45 +03:00
388482e230
[ #2 ] Rename internals
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2022-12-21 11:17:45 +03:00
96dff367db
[ #1 ] Build S3 Gateway with FrostFS dependencies
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2022-12-15 12:43:52 +03:00
Angira Kekteeva
f5fe9a9b4b
[ #741 ] Fix data race
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-11-16 18:19:31 +03:00
Denis Kirillov
094eb12578
[ #726 ] Use client time on regular requests
...
Use `X-Amz-Date` header as `now` when
* compute expiration epoch
* set Timestamp for object and container
* forming locks
* send notifications
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-11-14 14:53:55 +03:00
Denis Kirillov
16ad0cadcb
[ #733 ] Fix container name
...
User system name instead of regular.
Set name as CID if name attribute is missed
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-10-26 17:52:02 +03:00
Angira Kekteeva
da61fd8bcb
[ #728 ] Add error message to AbortMultipartUpload
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-10-25 19:04:11 +03:00
Denis Kirillov
821df3d648
[ #669 ] Optimize getNodeVersion for tags operation
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-10-20 17:56:09 +03:00
Denis Kirillov
90eb4f0188
[ #713 ] Add check access control for system caches
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-10-11 15:26:42 +03:00
Denis Kirillov
cb55d36063
[ #713 ] Update tests
...
Add bearer token to test context
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-10-11 15:26:42 +03:00
Denis Kirillov
3d31c2ab4a
[ #713 ] Fix cache access
...
User can access only keys that he puts into caches
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-10-11 15:26:42 +03:00
Denis Kirillov
2a41929be3
[ #702 ] Reload resolvers and TLS certs on SIGHUP
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-09-28 15:07:31 +03:00
Denis Kirillov
be4600988e
[ #709 ] Add expiration attribute for legal hold
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-09-26 16:51:53 +03:00
Denis Kirillov
3d08562843
[ #505 ] Handle access denied from tree service
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-09-13 18:05:16 +03:00
Denis Kirillov
80beedf13e
[ #504 ] Use bktInfo in tree service to check owner
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-09-13 18:05:16 +03:00
Denis Kirillov
4082cd6b54
[ #606 ] Keep eacl records order on conflict
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-09-08 12:21:47 +03:00
Denis Kirillov
ffd259671a
[ #704 ] Fix nil pointer dereference on decReader
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-09-07 15:51:44 +03:00
Denis Kirillov
9cd4ef1ac4
[ #657 ] Replace FileName with FilePath attribute
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-09-07 15:50:43 +03:00
272c485706
[ #669 ] Use object cache in PutLockInfo optimization
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2022-08-31 13:19:00 +03:00
5ffe28a42f
[ #669 ] Optimize PutLockInfo
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2022-08-31 13:19:00 +03:00
9590b39333
[ #682 ] Return added node id in AddVersion
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2022-08-29 18:24:00 +03:00
Denis Kirillov
5c7a509cc9
[ #684 ] Fix continuation token for directories
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-29 16:10:01 +03:00
Denis Kirillov
1a580b6fa4
[ #666 ] Support tagging directive for CopyObject
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-25 12:55:33 +03:00
Denis Kirillov
24e1f7e1dd
[ #545 ] Drop object search
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-25 11:49:08 +03:00
Denis Kirillov
c3ad6d2faf
[ #637 ] Add header to override CopiesNumber
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-19 10:31:26 +03:00
Angira Kekteeva
3b343d1bd5
[ #634 ] Fix tests
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-16 17:49:15 +03:00
Angira Kekteeva
5307211398
[ #634 ] Add CopiesNumber in NeoFS requests
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-16 17:49:15 +03:00
Denis Kirillov
6aab3936d9
[ #625 ] Limit listing generator with maxKeys
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-16 13:47:37 +03:00
Denis Kirillov
3824151699
[ #616 ] Reduce number of requests during listing
...
Check if object is directory before request to NeoFS
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-16 13:47:37 +03:00
Denis Kirillov
107d8a9033
[ #595 ] Fix typos and rewording
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-13 10:26:00 +03:00
Denis Kirillov
7ab473a688
[ #595 ] Simplify encryption.Params struct
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-13 10:26:00 +03:00
Denis Kirillov
94a6a55919
[ #595 ] Move decrypter to separate package
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-13 10:26:00 +03:00
Denis Kirillov
87c05eb514
[ #595 ] Add SSE with customer key
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-08-13 10:26:00 +03:00
Angira Kekteeva
1987f271f9
[ #577 ] Remove usages of deprecated io/ioutil
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-09 17:20:40 +04:00
Angira Kekteeva
f66e4a77cd
[ #577 ] Add IsDeleteMarker() to NodeVersion
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-09 17:20:40 +04:00
Angira Kekteeva
2a933f48be
[ #577 ] Remove redundant set of isLatest
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-09 17:20:40 +04:00
Angira Kekteeva
3188fd8eb7
[ #577 ] Fix delete from tagging cache
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-09 17:20:40 +04:00
Angira Kekteeva
245e64900d
[ #577 ] Replace ObjInfo with ExtObjInfo in cache
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-09 17:20:40 +04:00
Angira Kekteeva
dc77ad4863
[ #577 ] Fix tests
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-09 17:20:40 +04:00
Angira Kekteeva
dfd734b9ec
[ #577 ] Separate GetObjectInfo and GetExtendedObjectInfo
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-09 17:20:40 +04:00
Angira Kekteeva
37c46e926e
[ #577 ] Add Version() to ExtendedObjectInfo
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-09 17:20:40 +04:00
Angira Kekteeva
3ac3f1cc9d
[ #577 ] Rename objectInfo.Version() to VersionID()
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-09 17:20:40 +04:00
Angira Kekteeva
eaf76afe50
[ #577 ] Remove ObjectVersionInfo
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-09 17:20:40 +04:00
Angira Kekteeva
072e694540
[ #643 ] Optimize GetObjectTagging
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-05 15:32:46 +03:00
Angira Kekteeva
9372534345
[ #643 ] Fix tagging cache
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-08-05 15:32:46 +03:00
Alex Vanin
5219965105
[ #498 ] Remove log string sanitizer
...
`zap` lib does all the job anyway.
Suppress CWE-117 from CodeQL.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-07-29 09:32:37 +03:00
Denis Kirillov
1fd943ee88
[ #610 ] Fix deleted object removal
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-29 09:31:54 +03:00
Denis Kirillov
5dd658302d
[ #612 ] Fix comment
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-26 17:36:21 +03:00
Denis Kirillov
b2e8b1cfb3
[ #612 ] Make listing more robust
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-26 17:36:21 +03:00
Angira Kekteeva
4483c6f57a
[ #619 ] Filter system metadata
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-07-26 15:37:13 +03:00
Angira Kekteeva
4380406602
[ #619 ] Remove unused PutSystemObjectParams
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-07-26 15:37:13 +03:00
Alex Vanin
e0136feb73
[ #611 ] Split name processing from object info creation procedure
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-07-25 14:23:30 +03:00
Alex Vanin
97f81d3270
[ #611 ] Process delimiters on the object info cache hit
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-07-25 14:23:30 +03:00
Denis Kirillov
85eacdb970
[ #602 ] Fix removal non-empty bucket
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
0057f6b7db
[ #546 ] Add size and etag in nodeVersionInfo
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Angira Kekteeva
56eb2dc3dc
[ #569 ] Rename versioning consts
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-07-22 15:19:16 +03:00
Angira Kekteeva
77f466b1d5
[ #569 ] Fix tests
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-07-22 15:19:16 +03:00
Angira Kekteeva
72013e08ec
[ #569 ] Refactor versioning in tree service
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
9f019c7470
[ #542 ] Add test to check delete marker
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
b380d4ab53
[ #542 ] Clear list cache on object removal
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
f1a0288e3a
[ #542 ] Handle unversioned mode
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
fdf0974679
[ #542 ] Fix object removal
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
88c392d024
[ #490 ] Optimize GetObjectTaggingAndLock
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
c88a9842db
[ #488 ] Sync using oid.ID
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
85c203e157
[ #488 ] Sync using cid.ID
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
42a761c1f2
[ #547 ] Cache ObjectInfo instead of Object
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
5984f2c2bc
[ #525 ] Add comment to clarify anonymous func
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
ad95d1745c
[ #525 ] Parallelize listing
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
6ad7c988e6
[ #532 ] Fix object removal
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
12a2060dd0
[ #524 ] Optimize listing
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Angira Kekteeva
3f5afabd4a
[ #515 ] Fix nil reference when a part is missing
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
93a7c2eaeb
[ #514 ] Missed version id in tags
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
59570ac075
[ #513 ] Don't remove delete mark object
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Alex Vanin
4f3d206422
[ #478 ] Don't fetch epoch at object upload
...
Creation epoch was used for versioning. With
tree service, versioning is done on the NeoFS
side in the tree.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
9dfc7e043f
[ #476 ] Save full parts info to multipart object
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Alex Vanin
7fd27e04fe
[ #477 ] Provide aggregation of tags and locks in layer.Client
...
Adopts GetObjectTaggingAndLock method from
TreeClient in layer.Client with caching.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-07-22 15:19:16 +03:00
Alex Vanin
f8496973b8
[ #477 ] Aggregate fetching tags and lock in layer.TreeService
...
New method aggregates GetObjectTagging and GetLock
methods in single RPC to the tree service.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
a02900a4f7
[ #474 ] Use appropriate null version during listing
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
c8e8ba9f6a
[ #476 ] Fix parts info for GetObjectAttributes
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
9b1ccd39be
[ #475 ] Add extra attributes to partInfo
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
5b9a5cadef
[ #452 ] Fix lint issues
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
1a456eaa8b
[ #452 ] Remove unused
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
9fb3fb1274
[ #452 ] Fix versions tests
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
dd534e8738
[ #451 ] Handle lock objects using tree service
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
70957d75fd
[ #417 ] Complete multipart upload using tree service
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
6b2ddcadd0
[ #417 ] Abort multipart upload using tree service
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
58f2bf44b1
[ #417 ] List parts using tree service
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
bc0bdc7767
[ #417 ] Upload part using tree service
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
e1b9a4432a
[ #417 ] List multipart uploads using tree service
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
2022-07-22 15:19:16 +03:00
Denis Kirillov
13e01164d7
[ #417 ] Create multipart upload using tree service
...
Signed-off-by: Denis Kirillov <denis@nspcc.ru>
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-07-22 15:19:16 +03:00
Angira Kekteeva
b6a43c6f4c
[ #449 ] Replace error checks and literals
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
2022-07-22 15:19:16 +03:00
Angira Kekteeva
385a2102f0
[ #449 ] Add tree service for bucket tagging
...
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-07-22 15:19:16 +03:00