mod-configuration has been discussed on the development channel recently. Developers like it because they can simply drop variables to the/configurations/entriesAPI. Simply use the "configuration.*" permission shared by all modules and you are done. No need to add schema validation, no need to add dedicated permissions, no need to add a dedicated API. Drawbacks:
A big institution need config write permissions with module granularity. One member of staff may be allowed to edit circulation config but not acquisition config.
No validation. mod-configuration cannot validate a POST or PUT request because it doesn't know. Only the module it belong to knows this. Relevant use case: Using curl/wget/postman/...
No documentation. mod-configuration has no documentation, one needs to search, maybe the module's README has some? A dedicated module API always publishes the API documentation athttps://dev.folio.org/reference/api/
Performance. Requests to mod-configuration result in latency. If the config API belongs to the module the module can cache it and can invalidate the cache if the config is changed. Caching requests to mod-configuration will always result in a time period with outdated values. In mod-inventory-storage we've combined fetching the HRID config and HRID generation into a single SQL query.
Coupling. Modules should be loosely coupled and therefore each module should store its own configs.
It was requested that a formalRFC/Architecture Decision Recordbeen created if mod-configuration should no longer been used for module-specific configurations.
Team decided we want to have this as a RFC. Target should be to have this implemented within Nolana. Could discuss in your meetings while the RFC process moves on.
The topic of Kafka security was raised as part of a conversation at the TC yesterday.
The Security Team should be aware of this and probably should weigh in on the topic, or even generate proposals if we have ideas for how to solve the problem.
It may make sense to wait until Olamide's RFC for the tenant-specific topics is created/discussed/etc.
Today:
On hold until the RFC is available for review.
10 min
OWASP
Team
Jakub Skoczen raised the idea of evaluating if FOLIO meets this OWASP Application Security Verification Standard. Ryan Berger has run some tools a while back, but it's probably time to revisit, and maybe take it further.
Maybe make this a periodic task → e.g. once per flower release?
User Story: FOLIO-3584SPIKE - investigate OWASP Zed Attack Proxy (ZAP)
10 min
Cumulative upload problem
Team
Regarding file upload size issues (SeeFOLIO-3317-Spike - investigate possible file upload vulnerabilityOPEN), let's brainstorm ideas for mitigating the cumulative upload problem, not just the large file upload size problem.
Some APIs are more vulnerable to this than others, such as those not protected by permissions - e.g. mod-login, edge APIs, etc.
Axel provided some background/context. We still need to give this some thought and possibly suggest a solution
Use case 1: Some script unintentionally sends endless data to some API. This is caught by a maximum upload size.
Use case 2: Denial of service. Difficult to address in Okapi. Might be better handled in other tools like nginx or firewalls that can limit requests. Unlikely that a denial of service attack has a valid login / access token.
TODO: For use case 2: Only add documentation that implementers should use an external firewall (or external nginx) to limit requests.
Today:
No progress, Axel will pick this up again and we'll revisit next week.
Who's going to do what in terms of documenting a recommendation, etc.
STCOR-395"refactor login form to avoid using any form framework whatsoever"
I've added versions for the Spring components to theOfficially Supported Technologies list. For Orchid it's easy:https://wiki.folio.org/display/TC/OrchidFor Nolana it's more complicated:https://wiki.folio.org/display/TC/NolanaThe OSS support of several Spring components ends in May 2023. This is more than three months before the end of the Nolana support period that end in August or September 2023. The next minor version of those Spring components will be released in November 2022, this is during Nolana bug fest. We need to bump to this next minor version and release a bug fix for all affected FOLIO Spring libraries and FOLIO modules in November 2022.Running unsupported Spring components is a security risk. If there is a security issue in asupportedSpring component we simply can bump the patch version, no risk. If there is a security issue in anunsupportedSpring component we don't get notified because it's unsupported, and if we know of an issue we need to bump the minor version, this comes with some risk. Bumping the minor version as early as possible gives more testing time and is less risky. We can discuss this today.
How do we want to approach this?
Consult the Spring Force team... Is this feasible? Do you have better suggestions?
Craig McNally to post in #folio-spring-base, at-mentioning Petrenko.
How do we communicate this out?
Coordinate with the release manager (Oleksii Petrenko)
How much work is expected to be required?
Craig McNally to follow up with Oleksii P. again to see if the team has discussed this yet.
Today:
Met with Oleksii P. and Spring-force. They're onboard with this proposal and will take it from here.
Craig McNally to ask Firebird team to create a JIRA project for mod-data-expert-spring-migration, and move MDEXP-553, MDEXP-552 to that project.
Ryan Berger to create tickets for modules that still use react-hot-loader
Today:
According to the PO (Magda Z.), mod-data-export-spring-migration is temporary/a placholder. We don't need a separate JIRA project for it. My understanding is that the migration from RMB → Spring Way will eventually make its way into mod-data-export and mod-data-export-worker, which both already have their own JIRA projects.