owncloud / owncloud/ocis

Settings' service implementation used by other microservices

Open
#2,954 1 comment 1 reaction 0 assignees View on GitHub
Type:Technical-Debt
Dominant language
Go
Stars
2.1k
Forks
274
Avg merge
2d 1h
Merged PRs (30d)
103

Description

## Describe the bug

Objects implementing the settings service inside the settings microservice are being used in other microservices such as accounts (https://github.com/owncloud/ocis/blob/master/accounts/pkg/service/v0/permissions.go#L10) and graph (https://github.com/owncloud/ocis/blob/master/graph/pkg/service/v0/drives.go#L27), maybe others.

Communication among services should happen via protobuf or http, and the microservice should expose the required information. Accessing directly to others' microservice information shouldn't happen

## Steps to reproduce

Steps to reproduce the behavior:

1.
2.
3.

## Expected behavior
Accounts (and maybe other) microservice should ask the settings microservice for that information, or that information should be well-known by all the microservices

## Actual behavior
Accounts microservice gets the information directly

## Setup

Please describe how you started the server and provide a list of relevant environment variables.

```console
OCIS_VERSION=vX.X.X
BRANCH=vX.X.X
STORAGE_FRONTEND_UPLOAD_DISABLE_TUS=false
```

## Additional context
It might be problematic in distributed setups if the system is updated progressively without a downtime. Settings microservice v2 might have updated information, so when accounts microservice v1 sends the v1 information to the settings microservice it could cause issues.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.