1
0
mirror of https://github.com/minio/minio.git synced 2025-04-03 03:10:33 -04:00

11 Commits

Author SHA1 Message Date
Krishnan Parthasarathi
c829e3a13b Support for remote tier management ()
With this change, MinIO's ILM supports transitioning objects to a remote tier.
This change includes support for Azure Blob Storage, AWS S3 compatible object
storage incl. MinIO and Google Cloud Storage as remote tier storage backends.

Some new additions include:

 - Admin APIs remote tier configuration management

 - Simple journal to track remote objects to be 'collected'
   This is used by object API handlers which 'mutate' object versions by
   overwriting/replacing content (Put/CopyObject) or removing the version
   itself (e.g DeleteObjectVersion).

 - Rework of previous ILM transition to fit the new model
   In the new model, a storage class (a.k.a remote tier) is defined by the
   'remote' object storage type (one of s3, azure, GCS), bucket name and a
   prefix.

* Fixed bugs, review comments, and more unit-tests

- Leverage inline small object feature
- Migrate legacy objects to the latest object format before transitioning
- Fix restore to particular version if specified
- Extend SharedDataDirCount to handle transitioned and restored objects
- Restore-object should accept version-id for version-suspended bucket ()
- Check if remote tier creds have sufficient permissions
- Bonus minor fixes to existing error messages

Co-authored-by: Poorna Krishnamoorthy <poorna@minio.io>
Co-authored-by: Krishna Srinivas <krishna@minio.io>
Signed-off-by: Harshavardhana <harsha@minio.io>
2021-04-23 11:58:53 -07:00
iternity-dotcom
9ffb5d5b0a Add awscli test: test bucket lifecycle ()
Co-authored-by: Andre Bruch <ab@andrebruch.com>
Signed-off-by: Harshavardhana <harsha@minio.io>
2021-04-22 17:32:52 -07:00
Harshavardhana
4915433bd2
Support bucket versioning ()
- Implement a new xl.json 2.0.0 format to support,
  this moves the entire marshaling logic to POSIX
  layer, top layer always consumes a common FileInfo
  construct which simplifies the metadata reads.
- Implement list object versions
- Migrate to siphash from crchash for new deployments
  for object placements.

Fixes 
2020-06-12 20:04:01 -07:00
Harshavardhana
36e88cbd50
fix mint tests in awscli to ignore NotImplemented properly () 2020-05-08 22:32:10 -07:00
Harshavardhana
a1de9cec58
cleanup object-lock/bucket tagging for gateways ()
This PR is to ensure that we call the relevant object
layer APIs for necessary S3 API level functionalities
allowing gateway implementations to return proper
errors as NotImplemented{}

This allows for all our tests in mint to behave
appropriately and can be handled appropriately as
well.
2020-05-08 13:44:44 -07:00
Harshavardhana
3ff5bf2369
fix: convert storage class into azure tiers () 2020-04-19 13:42:56 -07:00
Harshavardhana
8bae956df6
allow copyObject to rotate storageClass of objects ()
Added additional mint tests as well to verify, this
functionality.

Fixes 
2020-04-16 17:42:44 -07:00
poornas
60e60f68dd Add support for object locking with legal hold. () 2020-01-16 15:41:56 -08:00
Bala FA
fb48ca5020 Add Get/Put Bucket Lock Configuration API support ()
This feature implements [PUT Bucket object lock configuration][1] and
[GET Bucket object lock configuration][2]. After object lock
configuration is set, existing and new objects are set to WORM for
specified duration. Currently Governance mode works exactly like
Compliance mode.

Fixes 

[1] https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTObjectLockConfiguration.html
[2] https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETObjectLockConfiguration.html
2019-11-12 14:50:18 -08:00
poornas
4553db3872 mint: turn off progress for awscli sync test ()
Bumping up to awscli 1.11.177 which supports --no-progress flag
2019-08-30 10:26:48 -07:00
Harshavardhana
1dc25bcf5f
Add mint tests into MinIO repo () 2019-07-09 18:32:39 -07:00