Brian Wheeler
bd649f8c46
Set the media type for directories
2024-05-16 15:35:12 -04:00
jonaustin09
5acf1f332a
fix: Fixes #555 , Added the logic to return InvalidBucketState when calling PutObjectLockConfiguration action on not object lock enabled bucket
2024-05-16 11:30:35 -04:00
jonaustin09
481c9246c6
feat: HeadObject ation multipart upload case
2024-05-03 18:10:32 -04:00
jonaustin09 and Ben McClelland
b4cd35f60b
feat: error refactoring and enable object lock in backends
...
Added support to enable object lock on bucket creation in posix and azure
backends.
Implemented the logic to add object legal hold and retention on object creation
in azure and posix backends.
Added the functionality for HeadObject to return object lock related headers.
Added integration tests for these features.
2024-05-02 15:23:48 -07:00
jonaustin09
0c3771ae2d
feat: Added GetObjectAttributes actions implementation in posix, azure and s3 backends. Added integration tests for GetObjectAttributes action
2024-04-29 15:31:53 -04:00
jonaustin09 and Ben McClelland
89755ea5aa
feat: Changed object lock actions interface to put/get []byte
2024-04-22 13:19:09 -07:00
jonaustin09 and Ben McClelland
00476ef70c
feat: Closes #490 , Added integration tests for object lock actions
2024-04-22 13:13:40 -07:00
jonaustin09 and Ben McClelland
fbaba0b944
feat: Added object WORM protection by object-lock feature from AWS with the following actions support: PutObjectLockConfiguration, GetObjectLockConfiguration, PutObjectRetention, GetObjectRetention, PutObjectLegalHold, GetObjectLegalHold
2024-04-22 13:13:40 -07:00
Ben McClelland
c81403fe90
feat: add metadata storage abstraction layer
...
Closes #511 . This adds an abstraction layer to the metadata
storage to allow for future non-xattr metadata storage
implementations.
2024-04-15 13:57:31 -07:00
Ben McClelland
aeea61544b
feat: add s3err QuotaExceeded for posix/scoutfs
...
When fileystem quota exceeded, the gateway will now return the
error:
S3 error: 403 (QuotaExceeded):
Your request was denied due to quota exceeded.
This will help clients to better detect upload errors due to
quota exceeded.
Fixes #483
2024-04-06 11:53:40 -07:00
Ben McClelland
c228bbfd79
feat: add option to change ownership of dir/files to acct settings
...
When enabled, any new directories or files created through the
gateway will change ownership based on the account uid/gid.
Fixes #238 .
2024-03-30 22:26:29 -07:00
Ben McClelland
f72d6349fe
feat: consolidate scoutfs/posix mkdir in backend
...
We had some duplicated code that we can bring into the backend
package so that we can remove duplications. This moves the mkdir
implementation into backend so that both posix and scoutfs can
call the same implementation.
2024-03-30 22:26:29 -07:00
jonaustin09
e6203c5765
feat: Closes #441 , Added access control integration tests, fixed some bugs in bucket policy and acl access checking flow
2024-03-28 14:52:56 -04:00
Ben McClelland and GitHub
4d02ac21c5
Merge pull request #460 from versity/bucket-policies
...
Bucket Policy
2024-03-25 15:19:46 -07:00
jonaustin09
754c221c4d
feat: Added bucket policy access verifier function implementation. Changed the default behaviour of bucket ACLs. Fixed the supported actions list for bucket policy. Implemented Copy* actions access checker function
2024-03-25 16:00:35 -04:00
jonaustin09
af641e5368
feat: Added integration test cases for Put/Get/DeleteBucketPolicy actions. Made some bug fixes in these actions implementations
2024-03-20 17:31:52 -04:00
jonaustin09
d469a72213
feat: Implemented Put/Get/DeletBucketPolicy s3 actions in posix backend. Implemented policy document validation function
2024-03-15 15:47:10 -04:00
Ben McClelland
8144d90e25
feat: check for xattr support on posix init
2024-03-14 08:16:52 -07:00
Ben McClelland
d4d511cf98
feat: compile support for 32bit and bsd platforms
2024-03-11 09:42:36 -07:00
Ben McClelland and GitHub
5b2beb8fc0
Merge pull request #443 from versity/ben/cleanup
...
chore: cleanup redundant nil checks and unused variable args
2024-03-11 09:01:17 -07:00
Ben McClelland
39663724a6
chore: cleanup redundant nil checks and unused variable args
2024-03-09 10:34:04 -08:00
Ben McClelland
f7655dab9b
fix: delete object xml response should be DeleteResult instead of DeleteObjectsResult
2024-03-09 10:20:15 -08:00
Jon Austin and GitHub
0c056f935b
ListObjectsV2 start-after prop ( #388 )
...
* fix: Fixes #138 , Added StartAfter property in ListObjectsV2 action, added couple of integration tests for ListObjectsV2
2024-02-01 11:04:52 -08:00
Ben McClelland
68794518af
fix: remove special proxy handling for bucket acls in posix backend
2024-01-31 10:10:12 -08:00
jonaustin09 and Ben McClelland
3cce3a5201
feat: Added unit and integration test cases for posix bucket tagging related actions
2024-01-31 10:09:48 -08:00
jonaustin09 and Ben McClelland
d70ea61830
feat: Added the following actions support in posix backend: PutBucketTagging, GetBucketTagging, DeleteBucketTagging
2024-01-31 10:09:48 -08:00
Ben McClelland
6481e2aac5
fix: cleanup backend ACLs
...
This adds the default ACL to the CreateBucket backend method so
that the backend doesn't need to know how to construct and ACL.
This also moves the s3proxy ACLs to a tag key/value because the
gateway ACLs are not the same accounts as the backend s3 server.
TODO: we may need to mask this tag key/value if we add support
for the Get/PutBucketTagging API.
2024-01-10 09:36:00 -08:00
Ben McClelland
cd8ad7d482
fix: breaking changes with aws sdk updates
2023-11-28 13:51:32 -08:00
jonaustin09
b8140fe3ed
fix: Fixed error case when overwriting a directory object with file one
2023-10-10 18:20:42 -04:00
Ben McClelland
23281774aa
fix: allow posix GET of 0-len directory type object
2023-10-07 15:57:31 -07:00
Ben McClelland
5ca44e7c2f
fix: prevent directory type object uploads containing data
...
Since objects with trailing "/" are mapped to directories in the
posix filesystem, they must not contain data since there is no
place to store that data.
This checks both PutObject and CreateMultipartUpload for invalid
directory object types containing data.
2023-10-07 15:36:03 -07:00
jonaustin09
856d79d385
fix: Fixes #274 , Fixed putting and getting object metadata case normalization issue
2023-10-05 15:33:03 -04:00
Ben McClelland
ae4e382e61
feat: refactor internal iam service
...
This moves the internal iam service from the posix backend so
that we can start implementing new iam services right in the auth
module.
The internal iam service has same behavior as before, but now
must be enabled with the --iam-dir cli option.
New single user service is the default when no other iam service
is selected. This just runs the gateway in single user mode with
just the root account.
2023-10-02 11:12:18 -07:00
Ben McClelland
4661af11dd
feat: replace access/role context locals with full account info
2023-10-02 10:59:59 -07:00
Jon Austin and GitHub
9cb357ecc5
CopyObject metadata ( #265 )
...
* fix: Object tag actions cleanup
* fix: Fixes #249 , Changed ListObjects default max-keys from -1 to 1000
* fix: Fixes #250 , Added support to provide a marker not from the objects list and list the objects after the provided marker in ListObjects(V2) actions
* feat: Closes #256 , Addded a check step, to compare object metadatas and allow the copying to itself, if the metadata has been changed
* fix: Simplified range assignment in CopyObject posix function
2023-09-26 18:09:09 -07:00
jonaustin09 and Ben McClelland
4be5d64c8b
fix: Object tag actions cleanup
2023-09-23 21:00:45 -07:00
jonaustin09 and Ben McClelland
e392ac940a
fix: VerifyACL function clenup: removed unused bucket argument from the function declaration
2023-09-19 16:36:42 -07:00
jonaustin09
a77954a307
fix: Fixes #246 , Added max length check for tag keys and values in PutObjectTagging and PutObject actions
2023-09-19 14:42:30 -04:00
jonaustin09
c9653cff71
fix: Fixes #245 , Fixed exceeding range error for UploadPartCopy action
2023-09-19 11:53:49 -04:00
Jon Austin and GitHub
1874d3c329
fix: Fixes #244 , Added destincation bucket ACL check for CopyObject action ( #253 )
2023-09-18 11:49:37 -07:00
jonaustin09 and Ben McClelland
cb6b60324c
fix: Fixes #243 , fixed the error case for CopyObject to copy the object into itself
2023-09-18 09:29:25 -07:00
jonaustin09
6ac69b3198
feat: Closes #217 , Created an admin API and CLI action to list all the buckets and its owners as a table
2023-09-12 08:29:34 -04:00
jonaustin09
35fe6d8dee
fix: some cleanup in posix, router and acl
2023-09-08 12:46:50 -04:00
jonaustin09
8d2e2a4106
fix: Fixes #204 , Change ListBuckets action logic to return all the buckets for admin users and the buckets owned by a user for regular users. Added integration test cases for ListBuckets action
2023-09-07 14:49:47 -04:00
jonaustin09
4c7584c99f
feat: Closes #206 , Added an admin api endpoint and a CLI action to change buckets owner
2023-09-06 17:41:47 -04:00
jonaustin09
cb2f6a87aa
fix: Fixes #207 , Fixes #198 : added lexicographical order by object key and uploadId for ListMultipartUploads response, Added FE support to pass the necessary arguments to BE for ListMultipartUploads
2023-09-01 15:33:58 -04:00
jonaustin09
a2439264b2
fix: Fixes #195 , fixed DeleteObjects action response structure
2023-08-24 18:37:01 +04:00
jonaustin09
7d8a795e95
fix: Fixes #184 , Change InvalidArgument to InvalidRange error for GetObject by range for larger ragnes
2023-08-04 20:27:47 +04:00
jonaustin09
cc28535618
fix: Fixes #186 , Fixed object metadata storing and retrieval flow in PutObject and GetObject actions
2023-08-04 01:43:30 +04:00
jonaustin09 and Ben McClelland
97847735c8
fix: s3response action responses naming cleanup
2023-07-31 21:41:10 -07:00