Documentation of 'snapshots.expiry' semantics

In the documentation for snapshot.expiry it just says:


When snapshots are to be deleted

Key: snapshots.expiry
Type: string
Live update: no

Specify an expression like 1M 2H 3d 4w 5m 6y.

But it doesn’t say what the given value would actually do. Does it mean that snapshots older than approximately 6 and a half years will be deleted? (In which case it would be clearer as 6y 5m 4w 3d 2H 1M, as you would speak it)

Or is it keeping some snapshots for 1 minute, some snapshots for 2 hours, some for 3 days, and so on?

Also, is a “month” a calendar month, or some static value like 30 days? Otherwise, a period like “6 years, 5 months, 4 weeks and 3 days” is variable, depending on the current year and month.


Supplementary question on snapshot.schedule. The documentation says:

Specify either a cron expression (<minute> <hour> <dom> <month> <dow> ), a comma-separated list of schedule aliases (@hourly , @daily , @midnight , @weekly , @monthly , @annually , @yearly ), or leave empty to disable automatic snapshots.

But the test suite suggests that:

  1. The terms are separated by comma-space, not comma (and the source code agrees)
  2. It’s possible to combine schedule aliases with (at least one) cron expression

Does the documentation need updating, or am I misreading it?