Where is stored config of backends for kubeapi-load-balancer charm?

Dear all,

Does anyone know where is stored config for charm kubeapi-load-balancer? I do not mean “juju config” but specific values for backend and backend port. I’m in situation when charm is constantly overwriting nginx reverse proxy configuration but with wrong IP. It’s this place from the juju debug-log:

unit-kubeapi-load-balancer-0: 23:04:22 INFO unit.kubeapi-load-balancer/0.juju-log status-set: maintenance: Configuring site apilb unit-kubeapi-load-balancer-0: 23:04:22 INFO unit.kubeapi-load-balancer/0.juju-log Wrote vhost config {‘host’: ‘127.0.0.1’, ‘port’: 443, ‘servers’: {443: {(‘192.168.56.26’, 6443), (‘10.244.113.0’, 6443)}, 6443: {(‘192.168.56.26’, 6443), (‘10.244.113.0’, 6443)}}, ‘server_certificate’: ‘/srv/kubernetes/server.crt’, ‘server_key’: ‘/srv/kubernetes/server.key’, ‘proxy_read_timeout’: 600} to apilb.conf unit-ceph-osd-0: 23:04:22 INFO unit.ceph-osd/0.juju-log Updating status. unit-kubeapi-load-balancer-0: 23:04:22 INFO unit.kubeapi-load-balancer/0.juju-log Invoking reactive handler: reactive/load_balancer.py:218:set_nginx_version

IP address 192.168.56.26 is correct IP of one of two k8s masters but the second IP 10.244.113.0 is wrong and I need to correct it (it’s caused probably by another bug but this is not so important now).

I already tried to find out within MongoDB config DB on the Juju controller but I could not find the right place. I also looked to reactive handler but I could not figure out where is the config:

https://github.com/charmed-kubernetes/charm-kubeapi-load-balancer/blob/e2930715efdba064c8ddd106910c8bfb7c0f464a/reactive/load_balancer.py

Thank you for any help

P.S. Temporary I used “chattr +i /etc/nginx/sites-available/apilb” to avoid changes of the config file but this is not a solution and also now the kubeapi-load-balancer unit is marked as “error” in juju status.

I will reply with solution by myself. The solution for the issue described above is to remove “wrong” kubernetes-master unit (and add a new one if needed). Then the kubeapi-load-balancer charm correctly update the nginx load balancer (reverse proxy) configuration - it remove “bad” record and if you add new kubernetes-master unit then it will add correct IP for the new one. Note: kubernetes-master = kubernetes-control-plane unit (just different naming, control plane is newer).