Commit Graph
50 Commits
Author SHA1 Message Date
Ben McClelland 7e34078d6a posix: cleanup extra debug output 2023-06-29 11:18:00 -07:00
Jon AustinandGitHub 3c69c6922a Integration test cases for HeadBucket, CopyObject, DeleteObject actions (#117)
* feat: Added integration test cases for HeadBucket, CopyObject, DeleteObjects
* feat: Added logger for debugging
2023-06-29 10:40:54 -07:00
Ben McClelland 6d99c69953 fix range gets with unspecified end range
The aws cli will send range gets of an object with ranges like
the following:
bytes=0-8388607
bytes=8388608-16777215
bytes=16777216-25165823
bytes=25165824-

The last one with the end offset unspecified just means the rest of
the object. So this fixes that case where there is only one offset
in the range.
2023-06-28 23:09:49 -07:00
Jon AustinandGitHub 4bfb3d84d3 Acl integration test (#115)
* feat: Added test an integration test case for acl actions(get, put), fixed PutBucketAcl actions bugs, fixed iam bugs on getting and creating user accounts

* fix: Fixed acl unit tests

* fix: Fixed cli path in exec command in acl integration test

* fix: fixed account creation bug
2023-06-28 19:38:35 -07:00
jonaustin09 ed047f5046 fix: fixed directory object key prefix 2023-06-22 20:12:17 +04:00
Ben McClelland 5ce010b1fa refactor walk to allow for more general obj translation 2023-06-20 13:51:47 -07:00
Ben McClelland 0f733ae0c8 refactor move auth to top level 2023-06-19 11:15:19 -07:00
Ben McClelland 33673de160 fix case where bucket directory is created without acl 2023-06-19 10:34:45 -07:00
Ben McClelland d2eab5bce3 posix: move iam data store to file
Storing to a file will allow more than 64k of storage that the xattr
would be limited to. This attempts to resolve racing updates between
multiple gateways without an explicit coordination between gateways.

This wil also setup a default IAM file on init.
2023-06-19 10:21:53 -07:00
Ben McClelland 94808bb4a9 refactor iam service for blind backend store 2023-06-19 09:53:19 -07:00
Ben McClelland 2427c67171 refactor ACLs to separate out ACL logic from backend 2023-06-16 16:47:05 -07:00
Ben McClelland 09e8889e75 feat: scoutfs backend with move blocks multipart optimized 2023-06-16 10:25:52 -07:00
Ben McClelland 5c61604e82 fix list buckets response for single bucket entry
The xml encoding of the s3.ListBucketsOutput return type was not giving
correct results when there is only a single bucket. This revives the
old aws xsd schema and generated types that will give more accurate xml
encoding results.
2023-06-16 10:22:25 -07:00
jonaustin09 49af6f0049 feat: ACL set up finished: added VerifyACL function, added admin checker function on list buckets, fixed all the unit tests 2023-06-16 20:55:23 +04:00
jonaustin09 3d7ce4210a fix: Fixed GetBucketAcl return type, fixed staticcheck uppercase error, fixed unit tests for PutActions 2023-06-15 20:39:20 +04:00
jonaustin09 114d9fdf63 fix: Branch up to date 2023-06-14 22:41:44 +04:00
jonaustin09 21f0fea5a7 feat: Implemented GetBucketACL, PutBucketACL posix functions, fixed authentication middleware signed headers bug 2023-06-14 22:39:27 +04:00
Ben McClelland 20638aee49 fix: linux otmp object and part uploads
We were missing the object and directory name in the O_TMPFILE uploads,
so were incorrectly trying to link these into the top level directory.
2023-06-14 08:42:39 -07:00
Ben McClelland ef06d11d7c fix: get simple multipart upload tests passing 2023-06-12 07:37:21 -07:00
Ben McClelland f1ac6b808b fix list objects for directory type objects 2023-06-08 22:04:08 -07:00
Ben McClelland 6b16dd76bd fix: convert byte range to start and length 2023-06-07 08:19:13 -07:00
Jon AustinandGitHub 8f27e88198 feat: GetObject range calculation moved to backend, created utility function for it in the backend (#61) 2023-06-06 11:13:45 -07:00
jonaustin09 7dc1c7f4c1 feat: added windows version of posix file 2023-06-02 22:14:25 +04:00
Ben McClelland 04ab589aeb posix: fix put object etag 2023-05-30 21:46:21 -07:00
Ben McClelland b8cb3f774d posix: make temp dir if not already exists 2023-05-30 21:45:51 -07:00
Ben McClelland 981894aef2 posix: fix fallback tempfile naming 2023-05-31 04:09:47 +00:00
Ben McClelland 5cbcf0c900 add copyright headers to source files 2023-05-28 14:38:45 -07:00
Ben McClelland 8b79fb24de update module/import paths to new name, add cli framework 2023-05-28 12:10:12 -07:00
Ben McClelland c9320ea6ce posix: cleanup loadUserMetaData unused return value 2023-05-25 15:58:22 -07:00
Ben McClelland 207088fade posix: cleanup redundant error checks 2023-05-25 15:51:16 -07:00
Ben McClelland 89d613b268 posix: cleanup a couple comments 2023-05-25 10:35:38 -07:00
Ben McClelland c21c7be439 backend: remove etag arg from HeadObject() 2023-05-25 10:30:32 -07:00
Ben McClelland cc1fb2cffe posix: replace os.IsNotExist(err) with errors.Is(err, fs.ErrNotExist) 2023-05-25 10:09:25 -07:00
Ben McClelland 0bab1117d4 posix: add tag set/get/delete 2023-05-25 10:04:44 -07:00
Ben McClelland 9469dbc76f posix: fallocate uploads when available 2023-05-24 14:36:11 -07:00
Ben McClelland 3c3516822f posix: add New(), Shutdown(), and String() methods 2023-05-24 14:22:35 -07:00
Ben McClelland 7391dccf58 posix: add etag for get object 2023-05-24 14:09:51 -07:00
Ben McClelland 56a8638933 posix: add user defined metadata for uploads 2023-05-24 14:09:51 -07:00
Ben McClelland 41db361f86 posix: add fallback for upload temp files 2023-05-24 14:09:48 -07:00
jonaustin09andBen McClelland d2c2cdbabc fix: fixed etag error in GetObject backend function 2023-05-24 08:25:56 -07:00
jonaustin09andBen McClelland c5de938637 feat: Added acceptRange field in GetBject backend function 2023-05-24 08:25:56 -07:00
jonaustin09andBen McClelland 70f5e0fac9 feat: Removed etag from GetObject function 2023-05-24 08:25:56 -07:00
jonaustin09 dcdc62411e fix: Some changes on PutObject return type 2023-05-24 15:58:51 +04:00
Ben McClelland e85f764f08 backend: move posix list objects walk to common utility 2023-05-23 15:41:46 -07:00
Ben McClelland 01be7a2a6b posix: add list objects 2023-05-23 11:38:48 -07:00
jonaustin09 7e4521f1ee fix: added length args 2023-05-23 23:31:23 +05:00
Ben McClelland 3559592fcd posix: initial object requests 2023-05-19 19:19:42 -07:00
Ben McClelland b55f4b79d3 posix: initial mulipart requests 2023-05-19 14:43:27 -07:00
Ben McClelland 80f8b1b883 posix: initial bucket requests 2023-05-18 20:48:07 -07:00
Ben McClelland f156a78dee fill out basic project layout 2023-05-05 17:16:59 -07:00