uoa-repository-manager-service/README.md

6.5 KiB

uoa-repository-manager-service (Provide backend)

Introduction

Architecture




Building

The backend is a Maven project. It has been tested using Java 8.

Manual Build Instructions

Requirements:
  • Java 8
  • Apache Maven 3+
Build Instructions:
  1. Clone the repository and move inside the directory
    git clone https://code-repo.d4science.org/MaDgIK/uoa-repository-manager-service.git && cd uoa-repository-manager-service
  2. Provide all not-set or redacted configurations, inside the src/main/resources/application.yml file.
  3. Build Maven project
    mvn clean package
    Produces the file "./target/uoa-repository-manager-service.jar" which can be run with: - Run the app with: java -jar ./target/uoa-repository-manager-service.jar



Build using Docker

The repository contains a Dockerfile which can be used to build an image containing the compiled project.

Requirements:
  • Docker
Build Instructions:
  1. Clone the repository and move inside the directory
    git clone https://code-repo.d4science.org/MaDgIK/uoa-repository-manager-service.git && cd uoa-repository-manager-service
  2. Provide all not-set or redacted configurations, inside the src/main/resources/application.yml file.
  3. Build Docker image
    docker build . -t <docker-image-name>

Deployment

Prerequisites

Instructions

Execute java -jar ./target/uoa-repository-manager-service.jar

Installation

Prerequisites

Infrastructure Installation and Configuration

Install all software found in the list of Prerequisites using the official documentation.

PostgreSQL - Configuration

[...]

Configuration

The configuration can be set inside the src/main/resources/application.yml file.

server:
   port: 8480
   servlet:
      context-path: /uoa-repository-manager-service
springdoc:
   swagger-ui:
      disable-swagger-default-url: true
      path: /swagger-ui.html
      displayRequestDuration: true
   api-docs:
      path: /api-docs
spring:
   jpa:
      hibernate:
         ddl-auto: update
    datasource:
        url: ${services.provide.db.url}
        username: ${services.provide.db.username}
        password: ${services.provide.db.password}
        driverClassName: ${services.provide.db.driverClassName}

Configurations about the provide service.

services:
   openaireServicesBaseUrl: https://beta.services.openaire.eu
   provide:
      dev-machine: 88.197.53.71   # VM-71

Configuration about Authentication and authorization infrastructure (AAI).

      aai:
         baseURL: https://aai.openaire.eu
         oidc:
            domain: .openaire.eu # use empty value for local, otherwise: ".openaire.eu"
            id: XX
            issuer: ${services.provide.aai.baseURL}/oidc/
            redirectURL: http://localhost:${server.port}${server.servlet.context-path}/openid_connect_login
            secret: XX
            webURL: http://localhost:4200/join
         registry:
            coid: XX
            username: XX
            password: XX
            production: false
            url: ${services.provide.aai.baseURL}/registry/

[...]

      adminEmail: XX
      analyticsURL: https://analytics.openaire.eu/addsite.php?
      baseUrl: ${services.openaireServicesBaseUrl}/openaire

Broker's configuration

      broker:
         api: api/
         openaire: openaireBroker
         port: 443
         url: https://beta.broker.openaire.eu

Client's configuration

      clients:
         dsm: ${services.provide.baseUrl}
         search: ${services.openaireServicesBaseUrl}/search/v2/api
         usageEvents: http://beta.lbs.openaire.eu:8080/ajax/summary
         usagestats: ${services.openaireServicesBaseUrl}/usagestats

Database configuration for Provide.

      db:
         driverClassName: org.postgresql.Driver
         password: dnetPwd
         url: jdbc:postgresql://${services.provide.dev-machine}:5432/repomanager
         username: dnet

Configuration for the IS LookUp service.

      iSLookUpService:
         url: https://dev-openaire.d4science.org:443/is/services/isLookUp

Mail-server configuration.

      mail:
         authenticate: true
         debug: false
         from: XX
         host: smtp.gmail.com
         mode: ssl
         password: XX
         port: 465
         replyTo: XX
         username: XX

Redis's configuration

      redis:
         host: vereniki.athenarc.gr
         password: XX
         port: 6379

[...]

      topic_types:
         url: ${services.openaireServicesBaseUrl}/provision/mvc/vocabularies/dnet:topic_types.json   # TODO - Check this! The requested json file does not exist in the DEV-url below)
      usageStatisticsDiagramsBaseURL: https://beta.openaire.eu/stats3/
      usageStatisticsNumbersBaseURL: ${services.openaireServicesBaseUrl}/usagestats/datasources/
      usagestats:
         adminEmail: XX
         sushiliteEndpoint: ${services.openaireServicesBaseUrl}/usagestats/sushilite/
         sushiliteR5Endpoint: ${services.openaireServicesBaseUrl}/usagestats_r5/sushilite/r5/
      validator:
         results:
            url: https://beta.provide.openaire.eu/compatibility/browseHistory/
      validatorService:
         url: http://${services.provide.dev-machine}:8080/uoa-validator-service/services/validatorWebService



Security

Maintenance

Recovery

References





Notes for Swagger-UI:

Introduction

Architecture

Bulding

Deployment

Installation

Configuration

Security

Maintenance

Recovery

References