owncloud / owncloud/ocis

[ocis] AppRegistry registration refresh

Open
#3,832 20 comments 0 reactions 0 assignees View on GitHub
Category:Enhancement Category:Technical Priority:p2-high Topic:Hardening Type:Story
Dominant language
Go
Stars
2.1k
Forks
274
Avg merge
2d 2h
Merged PRs (30d)
106

Description

## Is your feature request related to a problem? Please describe.
AppProviders may register theirselves at the AppRegistry via the `AddProvider` call implemented in https://github.com/cs3org/reva/blob/master/pkg/app/registry/static/static.go#L180.

The AppProvider (currenlty WOPI only) registers itself once on startup in https://github.com/cs3org/reva/blob/master/internal/grpc/services/appprovider/appprovider.go#L141

## Describe the solution you'd like
The registration should have a TTL, so that the registry can remove AppProviders that didn't refresh it's registration.

The AppProvider should be responsible to refresh the registration.

## Describe alternatives you've considered
Have a static app registry. Downside is, that we also don't notice if the AppProvider is gone (eg. network segregation, ...)
But a static registry is easily scaleable. This isn't the case for the current in-memory registration based registry.

## Technical Changes

- [ ] The default app config remains static
- [ ] Instead of "Adding the provider" to the registry we use the implicit registration mechanism of go-micro
- [ ] The app provider metadata needs to be added as service metadata to the go-micro registry for the app provider
- [ ] The app provider needs to refresh his registration. Otherwise it will drop out of the registry.

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.