Skip to content

v3.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 09 Nov 11:28
· 3 commits to main since this release
a3dadb6

What's Changed

  • Breaking change: Update MinIO ILM policy with improved validation, noncurrent version support, and better schema structure by @SoulKyu in #588
  • Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 by @dependabot in #589
  • Remove force_destroy check from user update to prevent unintended deletions by @felladrin in #591
  • Update module to v3 by @felladrin in #593

New Contributors

Guide for upgrading from v2 to v3

Breaking Changes in ILM Policy Resource

The MinIO ILM (Information Lifecycle Management) policy resource has been significantly improved with better validation and structure. The following changes require attention when upgrading:

1. Noncurrent Version Expiration Changes

  • Old: noncurrent_version_expiration_days = 5
  • New:
    noncurrent_expiration {
      days = "5d"
    }
  • Note: Days format now requires a "d" suffix.

2. Noncurrent Version Transition Changes

  • Old: noncurrent_version_transition_days = 5
  • New:
    noncurrent_transition {
      days           = "5d"
      storage_class  = "TIER_NAME"
      newer_versions = 3  # Optional
    }

3. Days Format Changes

  • All day-based fields now require the "Nd" format (e.g., "30d" instead of 30).
  • This affects:
    • transition.days
    • noncurrent_transition.days
    • noncurrent_expiration.days

4. Date Format Standardization

  • All date fields must now use the YYYY-MM-DD format.
  • Affected fields:
    • transition.date

Upgrade Steps

  1. Search your codebase for minio_ilm_policy resources.
  2. Update any noncurrent version configurations to use the new block syntax.
  3. Add a "d" suffix to all day-based values.
  4. Verify date formats are in the YYYY-MM-DD format.
  5. Run terraform plan to verify changes.

Example of Updated Configuration

Before:

resource "minio_ilm_policy" "example" {
  bucket = "mybucket"
  rule {
    id = "rule1"
    noncurrent_version_expiration_days = 5
  }
}

After:

resource "minio_ilm_policy" "example" {
  bucket = "mybucket"
  rule {
    id = "rule1"
    noncurrent_expiration {
      days = "5d"
    }
  }
}

These changes improve validation and make the configuration more consistent. While they require updates to existing configurations, they provide better error messages and prevent invalid configurations.

For assistance, please refer to the updated documentation or open an issue.

Full Changelog: v2.5.1...v3.0.0