At the cluster setting level, a user must enable lifecycle policies. As it is enabled in the cluster, so use the management API:
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
A missing Policy-Lifecycle
header on the domain is considered a tacit enablement so it is not required to make any changes.
A bucket may have one or multiple lifecycle policies, such as:
Expire all versioned content after one year
Expire all current content after 5 years, etc.
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, implicitly applying to all content in the bucket by;
Naming the single policy
Not declaring it enabled (as it is by default)
Relying on a missing prefix
The preserve query argument on the COPY operations indicates leaving other persisted headers as they are.
Important
Re-transmit all Policy-Lifecycle headers to make them appear on the new object. It is recommended to use Content UI for editing policy rules.
See S3 lifecycle policy examples. Note that Swarm currently only supports expiration policies.