xichen01 commented on code in PR #6589: URL: https://github.com/apache/ozone/pull/6589#discussion_r1951230776
########## hadoop-hdds/docs/content/design/lifecycle-configurations.md: ########## @@ -0,0 +1,253 @@ +--- +title: AWS S3 Lifecycle Configurations +summary: Enables users to manage lifecycle configurations for buckets, allowing automated deletion of keys based on predefined rules. +date: 2024-04-25 +jira: HDDS-8342 +status: draft +--- +<!-- + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. See accompanying LICENSE file. +--> + +# Lifecycle Management + +## Introduction +I encountered the need for a retention solution within my cluster, specifically the ability to delete keys in specific paths after a certain time period. +This requirement closely resembled the functionality provided by AWS S3 Lifecycle configurations, particularly the Expiration part ([AWS S3 Lifecycle Configuration Examples](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html)). + +## Overview + +### Functionality +- User should be able to create/remove/fetch lifecycle configurations for a specific S3 bucket. +- The lifecycle configurations will be executed periodically. +- Depending on the rules of the lifecycle configuration there could be different actions or even multiple actions. +- At the moment only expiration is supported (keys get deleted). +- The lifecycle configurations supports all buckets not only S3 buckets. Review Comment: AWS S3 buckets do not have the concept of directories, so for FSO buckets we can define the behavior of Lifecycle deletion. A simple way is to define all deletions as recursive deletions, so that there will be no problem of being unable to delete because the directory is not empty. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
