fdb-kubernetes-operator icon indicating copy to clipboard operation
fdb-kubernetes-operator copied to clipboard

Add support for using the management API

Open johscheuer opened this issue 3 years ago • 1 comments

What would you like to be added/changed?

We should look into adopting the management and configuration API from FDB https://github.com/apple/foundationdb/blob/main/documentation/sphinx/source/special-keys.rst#management-module the API was added in 7.0 and should be support for all newer versions. The benefit of adopting those APIs is that we don't need to copy binaries like fdbcli into our container (wee probably still need the binary for backups if the operator should manage backups). In addition to that all requests that are made will be in the scope of the operator process from a memory perspective and we would not require to fork another process that should bring more robustness when he operator runs at a memory limit. The API usage should be disabled by default and can be activated by using a setting when everything works like expected we can change the default to true in a later version of the operator.

The following command can be replaced:

  • configure command - https://github.com/FoundationDB/fdb-kubernetes-operator/issues/1195
  • exclude command - https://github.com/FoundationDB/fdb-kubernetes-operator/issues/1193
  • include command - https://github.com/FoundationDB/fdb-kubernetes-operator/issues/1194
  • kill command - https://github.com/FoundationDB/fdb-kubernetes-operator/issues/815
  • canSafelyRemove - https://github.com/FoundationDB/fdb-kubernetes-operator/issues/990
  • change coordinators - https://github.com/FoundationDB/fdb-kubernetes-operator/issues/1192

We probably can also remove some additional methods that we build around fdbcli once we remove the fdbcli support. This is intended as a tracking issue and I will create later for each change an issue.

johscheuer avatar Apr 09 '22 14:04 johscheuer

We should also target https://github.com/FoundationDB/fdb-kubernetes-operator/issues/1002 as part of the implementation.

johscheuer avatar May 02 '22 09:05 johscheuer