- add stateful config distribution logic into endpoints.ConfigController (node endpoint) with fast "only_stateful_config" update logic
- add stateful config logic into helpers.broadcast_new_config
- add new function broadcast_stateful_config into helpers.py
- port Alexander Presnyakov get_existing_db_roots function into node_manipulation.py from other branch
- add new SharedStorageMonitor threaded compomemt for Failover it starts working with NodeMonitor component as a separate thread that checks shared storage state/health each 5 mins.
add Base api client
add NodeController api client
fix ClusterController Api client
add NodeController in endpoints.py
add 2 new endpoints to dispatcher: cluster/check-shared-storage and node/check-shared-file
add check_shared_storage method into ClusterHandler class
add set_shared_storage to node_manipulation t
add reading shared_storage in failover/config.py
fix is_shared_storage method in failover/config.py
add check_shared_storage in NodeMonitor class
fix some minor styling
[add] managers/certificate.py with CertificateManger class
[mv] creating self-signed certificate logic into CertificateManger class
[add] renew and days_before_expire methods to CertificateManger class
[mv] several certificate dependent constants to managers/certificate.py
[add] CherryPy BackgroundTask to invoke certificate check hourly (3600 secs)
[fix] tests
[fix] bug with txn timer clean (clean_txn_by_timeout, worker and invoking of it)