[ocis] AppRegistry registration refresh
- 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
Assessment
This issue has not been assessed yet.