Add application setting to permit MinIO for offline transfers
What does this MR do and why?
Add application setting to permit MinIO for offline transfers
Introduces a new application setting allow_minio_for_offline_transfer
to control whether MinIO can be used as an object storage location for
offline transfers. This replaces the previous Rails.env.development?
check with a proper configurable setting.
Changes:
- Add
allow_minio_for_offline_transferboolean to theimportersjsonb column in ApplicationSetting model (defaults to false) - Add JSON schema validation for the new setting
- Update Import::Offline::Configuration to use the new setting instead of Rails.env.development?
- Update specs to use stub_application_setting
I have not yet made this setting configurable via the API or documented it. I will address that in a follow-up MR.
References
How to set up and validate locally
ApplicationSetting.current.update!(allow_minio_for_offline_transfer: false)
Import::Offline::Configuration.new.send(:supported_providers)
=> ["aws"]
ApplicationSetting.current.update!(allow_minio_for_offline_transfer: true)
Import::Offline::Configuration.new.send(:supported_providers)
# => ["aws", "minio"]
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.
Edited by James Nutt