A user must enable lifecycle policies at the cluster setting level. Use the management API when enabled:

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: text/plain' -d '{}' \
    'http://lucky1.tx.caringo.com:91/api/storage/clusters/_self/settings/policy.lifecycle?value=enabled' \
    -u admin:ourpwdofchoicehere

Info

A missing Policy-Lifecycle header on the domain is considered a tacit enablement that does not require any changes.

A bucket contains one or multiple lifecycle policies, such as:

Such policies are applied on a bucket object using one or multiple Policy-Lifecycle headers:

curl -X COPY --post301 --location-trusted \
    -H 'Policy-Lifecycle: RuleId:"rule5" ExpirationDays:1825 ObsoleteExpirationDays:365' \
    'http://lucky1.tx.caringo.com/mybucket?domain=mydomain&preserve'

In the previous example, apply implicitly to all content in the bucket by:

The preserve query argument on the COPY operations indicates leaving other persisted headers unchanged.

Important

  • Re-transmit all Policy-Lifecycle headers to appear on the new object. It is advised to use the Content UI for editing policy rules.

  • Swarm supports expiration policies currently.

See https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-examples.html.