Edge-dcb Module submission self-evaluation

Edge-dcb Module submission self-evaluation

  • Step 1 - select one of the 3 results below against each criteria:

  • ACCEPTABLE

  • UNACCEPTABLE

  • INAPPLICABLE

  • Step 2 - provide evidence 

 

Comments/ Action Items

Responsible

Evaluation result: 

  • ACCEPTABLE

  • UNACCEPTABLE

  • INAPPLICABLE

Evidence:

 

Status:

To Do

In Progress

Done

 

Comments/ Action Items

Responsible

Evaluation result: 

  • ACCEPTABLE

  • UNACCEPTABLE

  • INAPPLICABLE

Evidence:

 

Status:

To Do

In Progress

Done

1

 Uses Apache 2.0 license

 

Kalibek Turgumbayev 

Acceptable

https://github.com/folio-org/edge-dcb/blob/master/LICENSE

Done

2

 Module build MUST produce a valid module descriptor

 

Kalibek Turgumbayev 

Acceptable

https://github.com/folio-org/edge-dcb/blob/master/descriptors/ModuleDescriptor-template.json

Done

3

 Module descriptor MUST include interface requirements for all consumed APIs

Edge module does not require API list as they are encoded in system user permissions.

Kalibek Turgumbayev 

Acceptable

 

Done

4

 Third party dependencies use an Apache 2.0 compatible license

Attached is the result of license scan: mvn license:third-party-report

Kalibek Turgumbayev 

Acceptable

Done

5

 Installation documentation is included

Deployment is described shortly

Jira: https://folio-org.atlassian.net/browse/EDGEDCB-11

Kalibek Turgumbayev 

Acceptable

https://github.com/folio-org/edge-dcb/tree/master?tab=readme-ov-file#installationdeployment

In Progress

6

 Personal data form is completed, accurate, and provided as PERSONAL_DATA_DISCLOSURE.md file

Checked and the file is present with appropriate details.

Gurleen Kaur1 

Acceptable

https://github.com/folio-org/edge-dcb/blob/master/PERSONAL_DATA_DISCLOSURE.md

Done

7

 Sensitive and environment-specific information is not checked into git repository

 

Gurleen Kaur1 

Acceptable

 

Done

8

 Module is written in a language and framework from the officially approved technologies page

 

Gurleen Kaur1 

Acceptable

 

Done

9

 Module only uses FOLIO interfaces already provided by previously accepted modules e.g. a UI module cannot be accepted that relies on an interface only provided by a back end module that hasn't been accepted yet

 

Gurleen Kaur1 

Acceptable

https://github.com/folio-org/edge-dcb/blob/master/descriptors/ModuleDescriptor-template.json

Done

10

Integration with any third party system (outside of the FOLIO environment) tolerates the absence of configuration / presence of the system gracefully

 

Gurleen Kaur1 

Acceptable

https://github.com/folio-org/edge-dcb/blob/master/README.md#deployment-information

Done

11

 Sonarqube hasn't identified any security issues, major code smells, or excessive (>3%) duplication

 

Dmytro Bykov 

ACCEPTABLE

https://sonarcloud.io/summary/new_code?id=org.folio%3Aedge-dcb

DONE

12

 Uses officially supported build tools

 

Dmytro Bykov 

ACCEPTABLE

https://github.com/folio-org/edge-dcb/blob/master/pom.xml#L25

https://github.com/folio-org/edge-dcb/blob/master/Dockerfile

DONE

13

 Unit tests have 80% coverage or greater and are based on officially approved technologies

 

Dmytro Bykov 

ACCEPTABLE

https://sonarcloud.io/summary/new_code?id=org.folio%3Aedge-dcb

https://github.com/folio-org/edge-dcb/blob/master/pom.xml#L188

DONE

14

 

Adesh Singh 

ACCEPTABLE

https://github.com/folio-org/edge-dcb/blob/master/descriptors/ModuleDescriptor-template.json

DONE

15

 Module includes executable implementations of all endpoints in the provides section of the Module Descriptor

 

Adesh Singh 

INAPPLICABLE

https://github.com/folio-org/edge-dcb/blob/master/descriptors/ModuleDescriptor-template.json

DONE

16

Environment vars are documented in the ModuleDescriptor

 

Adesh Singh 

INAPPLICABLE

https://github.com/folio-org/edge-dcb/blob/master/descriptors/ModuleDescriptor-template.json

DONE

17

 If a module provides interfaces intended to be consumed by other FOLIO Modules, they must be defined in the Module Descriptor "provides" section

 

Adesh Singh 

INAPPLICABLE

https://github.com/folio-org/edge-dcb/blob/master/descriptors/ModuleDescriptor-template.json

DONE

18

 All API endpoints are documented in RAML or OpenAPI

 

Adesh Singh 

ACCEPTABLE

https://github.com/folio-org/edge-dcb/blob/master/src/main/resources/swagger.api/edge-dcb.yaml

DONE

19

 All API endpoints protected with appropriate permissions as per the following guidelines and recommendations, e.g. avoid using *.all permissions, all necessary module permissions are assigned, etc.

 

Vignesh Kalyanasundaram 

INAPPLICABLE

There are no endpoints defined in module descriptor.

https://github.com/folio-org/edge-dcb/blob/master/descriptors/ModuleDescriptor-template.json

DONE

20

 Module provides reference data (if applicable), e.g. if there is a controlled vocabulary where the module requires at least one value

For edge module, there are no prerequisites data. 

Vignesh Kalyanasundaram 

INAPPLICABLE

 

 

21

 If provided, integration (API) tests must be written in an officially approved technology

Code needs to be commited

Vignesh Kalyanasundaram 

ACCEPTABLE

 

In Progress

22

 Data is segregated by tenant at the storage layer

 

Magzhan Artykov 

INAPPLICABLE

 

 

23

 The module doesn't access data in DB schemas other than its own and public

 

Magzhan Artykov 

INAPPLICABLE

 

 

24

 The module responds with a tenant's content based on x-okapi-tenant header

For edge module, only apikey is needed.

Vignesh Kalyanasundaram 

INAPPLICABLE

 

DONE

25

 Standard GET /admin/health endpoint returning a 200 response

Need to check list of endpoints needs to be added in addition to health

exposure:
include:health,info,loggers
System JIRA01505d01-b853-3c2e-90f1-ee9b165564fcEDGEDCB-12

Vignesh Kalyanasundaram 

ACCEPTABLE

Module have the spring boot actuator dependency and health endpoint is enabled. It is accessible in local but unable to test it in rancher. 

https://github.com/folio-org/edge-dcb/blob/master/src/main/resources/application.yml#L23

https://github.com/folio-org/edge-dcb/blob/master/pom.xml#L100

In Progress

26

 High Availability (HA) compliant

    • Possible red flags:

      • Connection affinity / sticky sessions / etc. are used

      • Local container storage is used

      • Services are stateful

 

Magzhan Artykov 

 

 

In Progress

27

 Module only uses infrastructure / platform technologies on the officially approved technologies list.

    • e.g. PostgreSQL, ElasticSearch, etc.

 

Dmytro Bykov 

ACCEPTABLE

DR-000037 - TESTCONTAINERS_POSTGRES_IMAGE

DONE