Validate ISO-8601 duration format for max_expiry_duration
Added validation to reject invalid max_expiry_duration formats in policy configs, ensuring compliance with ISO-8601 standards. Updated the `New` function to fail fast on invalid inputs and included detailed error messages for better clarity. Comprehensive tests were added to verify both valid and invalid scenarios.
bump tag to build binary with update
returnfmt.Errorf("invalid max_expiry_duration %q in kind %d: %v",rule.MaxExpiryDuration,kind,err)
returnfmt.Errorf("invalid max_expiry_duration %q in kind %d: %v (format must be ISO-8601 duration, e.g. \"PT10M\" for 10 minutes, \"P7D\" for 7 days, \"P1DT12H\" for 1 day 12 hours)",rule.MaxExpiryDuration,kind,err)
returnfmt.Errorf("invalid max_expiry_duration %q in global rule: %v",tempPolicy.Global.MaxExpiryDuration,err)
returnfmt.Errorf("invalid max_expiry_duration %q in global rule: %v (format must be ISO-8601 duration, e.g. \"PT10M\" for 10 minutes, \"P7D\" for 7 days, \"P1DT12H\" for 1 day 12 hours)",tempPolicy.Global.MaxExpiryDuration,err)