kostiantyn-nemchenko / ansible-role-patroni

:elephant: Ansible Role for Patroni
https://galaxy.ansible.com/kostiantyn-nemchenko/patroni
MIT License
68 stars 44 forks source link

Bootstrap vs Dynamic configuration settings #79

Closed acehead closed 4 years ago

acehead commented 4 years ago

Could you explain the rationale behind setting configuration values on the bootstrap.dcs level? Values such as maximum_lag_on_failover or slots can often change over the time. With bootstrap configuration it seems that it is impossible to change them afterwards, wouldn't it be better to set them using dynamic configuration approach?

kostiantyn-nemchenko commented 4 years ago

Global dynamic configuration (config that is stored in /<namespace>/<scope>/config in the given DCS), or in other words everything that user defines in bootstrap.dcs section of patroni config file, could be changed only via patronictl edit-config or REST API request once Patroni cluster is bootstrapped and accepts connections. slots, maximum_lag_on_failover and all other dynamic configuration options could be set only in bootstrap.dcs section, because their values must be the same across all cluster members.

kostiantyn-nemchenko commented 4 years ago

Closing this. Feel free to reopen the issue or create a new one if you have questions / objections.