Centralized Management for Multiple DataplaneAPI
Hi,
I have several HAProxy nodes installed on-premises, and each node has its own DataplaneAPI instance. Currently, if I need to make changes, I have to call each DataplaneAPI individually for every node. This can be quite cumbersome.
Is there a way to centralize these calls, so I only need to update one DataplaneAPI and have the others automatically synchronize with it?
Thank you for your help.
@AmirAghaee did you find a way of doing this?
My solution was to do what OP is doing, and write an additional service which (as best as possible) tries to keep maps, acls, backends, etc in sync even if requests to one of the nodes fails or there is some transient problem in the dataplaneapi requests to individual nodes. I'd imagine HAProxy is not interested in implementing this as an open source component because it canibalises the business of their managed product, "haproxy fusion control plane"
@AmirAghaee did you find a way of doing this?
No, I didn’t find a solution within DataplaneAPI. I changed my approach, and it works well. I implemented Ansible with AWX—after calling the API on the first HAProxy node, I run a playbook to sync all HAProxy nodes. This approach is simple and stable.