USERSERVICE

A service allowing users to manage profile-specific content files (such as the user avatar) and settings (such as language preferences) after successful authentication.

Characteristics

Service Nameuserservice
Port Range8080
Profiles-
Helm Chartclient
Public APIUser Settings Endpoints

Function

The USERSERVICE manages user-related data and provides CRUD (create, read, update, delete) operations on it.

Its endpoints are provided in an own API.

>> User Settings Endpoints

Requirements

In addition to the yuuvis® Momentum core services, USERSERVICE has further requirements.

>> USERSERVICE Requirements

Configuration

The following parameters are part of the service configuration:

  • app.security.admin-role: References the role (by name) that provides administrative rights and may be used in USERSERVICE, e.g. to access or manage data of other users.
  • app.userdata.content.max-data-per-user: Defines the maximum storage space available for all contents of one user.
  • app.userdata.content.max-file-size: Defines the maximum storage space for one single content item.
  • app.userdata.setting.max-data-per-user: Defines the maximum storage space available for all settings of one user.
  • app.userdata.setting.max-file-size: Defines the maximum storage space for one single setting item.

The following spring properties are ready configured for the installation and should be left unchanged to ensure that the USERSERVICE parameters are effective. Otherwise, it would cause unintended behavior.

  • spring.servlet.multipart.max-file-size
  • spring.servlet.multipart.max-request-size

As of 2023 Autumn, it is possible to configure multiple database connection to realize tenant-specific data storage. The configuration has to be formatted like the storage section in the application-dbs.yml configuration file for the core system.

Docker Deployment

Within the docker environment, the USERSERVICE will run in two separate docker containers.

Instead of deploying docker containers manually, we strongly recommend to use docker-compose. With docker-compose you can easily manage one or several deployments on your docker host, without copy-pasting docker commands manually. You will find pre-defined service stacks for connecting to different databases in our repository.

Running USERSERVICE for Testing

Depending on the database you want to connect to the USERSERVICE, choose the correct deployment commands.

Deployment via docker-compose for PostgreSQL

Start the service with a PostgreSQL database for testing purposes with following steps:

  • In a console supporting docker, go to project docker directory.
  • Build a docker-compose image with docker-compose -f docker-compose-postgres.yml build.
  • Start this image with docker-compose -f docker-compose-postgres.yml up.

Deployment via docker-compose for Microsoft SQL Server

Start the service with a Microsoft SQL Server database for testing purposes with following steps:

  • In a console supporting docker, go to project docker directory.
  • Build a docker-compose image with docker-compose -f docker-compose-mssql.yml build.
  • Start this image with docker-compose -f docker-compose-mssql.yml up.

Deployment via docker-compose for CockroachDB

Start the service with a CockroachDB for testing purposes with following steps:

  • In a console supporting docker, go to project docker directory.
  • Build a docker-compose image with docker-compose -f docker-compose-cockroach.yml build.
  • Start this image with docker-compose -f docker-compose-cockroach.yml up.