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 Name | userservice |
---|---|
Port Range | 8080 |
Profiles | - |
Helm Chart | client |
Public API | User 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.
Requirements
In addition to the yuuvis® Momentum core services, USERSERVICE has further 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
.