Done
Details
Details
Reporter
Owen Stephens
Owen StephensPO Rank
0
Release
Sunflower (R1 2025)
TestRail: Cases
Open TestRail: Cases
TestRail: Runs
Open TestRail: Runs
Created February 5, 2025 at 12:06 PM
Updated March 12, 2025 at 2:31 PM
Resolved March 12, 2025 at 2:31 PM
Current situation or problem:
For file storage in S3 in Agreements and Licenses modules the S3 settings are stored in application settings. The current implementation has multiple issues:
The S3 secret key is visible in the frontend in the app settings. The S3 configuration is a sysop task and should not be exposed to the UI. (https://folio-org.atlassian.net/browse/ERM-3287#icft=ERM-3287)
The S3ObjectPrefix – like /diku/agreements/ – can be changed in the app settings in the UI. All tenants share a bucket in the standard configuration that most multi-tenant hosters use for all modules. Changing the prefix will mess up with the directory structure.
The ERM module doesn't use a changed S3 environment variable when the module is restarted because the module uses the value stored in the app_settings database table of the tenant. A manual change is needed via UI or API.
All non-ERM modules use a single configuration for all tenants set in environment variables. It's suprisingly inconsistent that the ERM modules have a different S3 setup.
Sysops in a multi-tenant installation with a high number of tenants need tooling that fully automated populates the tenant S3 configuration of mod-agreements and mod-licenses when creating a new tenant or when changing the S3 configuration. A module should have such tooling out of the box, we cannot require each sysop to write such tooling.
In scope
Supporting environment variables for S3 configuration in place of the current app settings
Out of scope
There is no need for tenant specific S3 configuration.