1
0
mirror of https://github.com/minio/docs.git synced 2025-08-06 14:42:56 +03:00
Files
docs/source/administration/object-management/create-lifecycle-management-expiration-rule.rst
Daryl White 127215c229 Adds information about changes to ILM deletes (#1359)
- New option with JSON to expire all versions of an object with a delete
marker.
- Changes `mc ilm rule` subcommand flags `--expire-all-object-versions`
to note that only applies to objects without a delete marker.

Closes #1201
2024-10-29 15:23:14 -04:00

4.9 KiB

Automatic Object Expiration

minio

Table of Contents

Each procedure on this page creates a new object lifecycle management rule that expires objects on a MinIO bucket. This procedure supports use cases like removing "old" objects after a certain time period or calendar date.

Requirements

Install and Configure mc

This procedure uses mc for performing operations on the MinIO cluster. Install mc on a machine with network access to both source and destination clusters. See the mc Installation Quickstart <mc-install> for instructions on downloading and installing mc.

Use the mc alias set command to create an alias for the source MinIO cluster and the destination S3-compatible service. Alias creation requires specifying an access key for a user on the source and destination clusters. The specified users must have permissions <minio-lifecycle-management-create-expiry-rule-permissions> for configuring and applying expiry operations.

Required Permissions

MinIO requires the following permissions scoped to the bucket or buckets for which you are creating lifecycle management rules.

  • s3:PutLifecycleConfiguration
  • s3:GetLifecycleConfiguration

MinIO also requires the following administrative permissions on the cluster in which you are creating remote tiers for object transition lifecycle management rules:

  • admin:SetTier
  • admin:ListTier

For example, the following policy provides permission for configuring object transition lifecycle management rules on any bucket in the cluster:.

/extra/examples/LifecycleManagementAdmin.json

Expire Objects after Number of Days

Use mc ilm rule add with ~mc ilm rule add --expire-days to expire bucket contents a number of days after object creation:

mc ilm rule add ALIAS/PATH --expire-days "DAYS" 
  • Replace ALIAS <mc ilm rule add ALIAS> with the alias <mc alias> of the S3-compatible host.
  • Replace PATH <mc ilm rule add ALIAS> with the path to the bucket on the S3-compatible host.
  • Replace DAYS <mc ilm rule add --expire-days> with the number of days after which to expire the object. For example, specify 30 to expire the object 30 days after creation.

Expire Versioned Objects

Use mc ilm rule add to expiring noncurrent object versions and object delete markers:

  • To expire noncurrent object versions after a specific duration in days, include ~mc ilm rule add --noncurrent-expire-days.
  • To expire delete markers for objects with no remaining versions, include ~mc ilm rule add --expire-delete-marker.
mc ilm rule add ALIAS/PATH \ 
   --noncurrent-expire-days NONCURRENT_DAYS \
   --expire-delete-marker
  • To expire all versions of an object, include ~mc ilm rule add --expire-all-object-versions. This expiration only applies to objects without a DeleteMarker as the latest or current version.

    mc ilm rule add ALIAS/PATH \ 
       --expire-all-object-versions
  • Replace ALIAS <mc ilm rule add ALIAS> with the alias <mc alias> of the S3-compatible host.

  • Replace PATH <mc ilm rule add ALIAS> with the path to the bucket on the S3-compatible host.

  • Replace NONCURRENT_DAYS <mc ilm rule add --noncurrent-expire-days> with the number of days after which to expire noncurrent object versions. For example, specify 30d to expire a version after it has been noncurrent for at least 30 days.

Expire All Versions of a Deleted Object

Starting with MinIO Server RELEASE.2024-05-01T01-11-10Z, MinIO supports deleting all versions of an object that has a delete marker as its latest version. MinIO supports such deletes with JSON, not through the command line.

To add this capability to a rule, first export the rule to modify with mc ilm rule export. Modify the exported rule with additional JSON that resembles the following:

<DelMarkerObjectExpiration>
    <Days> 10 </Days>
</DelMarkerObjectExpiration>   

This example JSON expires all versions of the deleted object after 10 days. Modify the value in the <Days> element to the number of days you want to wait after deleting the object before expiring it and removing it from MinIO.