v3.0.0
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 of30
). - 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
- Search your codebase for
minio_ilm_policy
resources. - Update any noncurrent version configurations to use the new block syntax.
- Add a "d" suffix to all day-based values.
- Verify date formats are in the
YYYY-MM-DD
format. - 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