1212import yaml
1313from backends import ComposeBackend , KubernetesBackend
1414from templates import TEMPLATES
15- from warnet .services import FO_CONF_NAME , GRAFANA_PROVISIONING , PROM_CONF_NAME
15+ from warnet .services import AO_CONF_NAME , FO_CONF_NAME , GRAFANA_PROVISIONING , PROM_CONF_NAME
1616from warnet .tank import Tank
1717from warnet .utils import gen_config_dir , load_schema , validate_graph_schema
1818
@@ -181,8 +181,10 @@ def generate_deployment(self):
181181 self .container_interface .generate_deployment_file (self )
182182 if "forkobserver" in self .services :
183183 self .write_fork_observer_config ()
184+ if "addrmanobserver" in self .services :
185+ self .write_addrman_observer_config ()
184186 if "grafana" in self .services :
185- self .write_grafna_config ()
187+ self .write_grafana_config ()
186188 if "prometheus" in self .services :
187189 self .write_prometheus_config ()
188190
@@ -205,8 +207,27 @@ def write_fork_observer_config(self):
205207 """
206208 )
207209 logger .info (f"Wrote file: { dst } " )
210+
211+ def write_addrman_observer_config (self ):
212+ src = TEMPLATES / AO_CONF_NAME
213+ dst = self .config_dir / AO_CONF_NAME
214+ shutil .copy (src , dst )
215+ with open (dst , "a" ) as f :
216+ for tank in self .tanks :
217+ f .write (
218+ f"""
219+ [[nodes]]
220+ id = { tank .index }
221+ name = "node-{ tank .index } "
222+ rpc_host = "{ tank .ipv4 } "
223+ rpc_port = { tank .rpc_port }
224+ rpc_user = "{ tank .rpc_user } "
225+ rpc_password = "{ tank .rpc_password } "
226+ """
227+ )
228+ logger .info (f"Wrote file: { dst } " )
208229
209- def write_grafna_config (self ):
230+ def write_grafana_config (self ):
210231 src = TEMPLATES / GRAFANA_PROVISIONING
211232 dst = self .config_dir / GRAFANA_PROVISIONING
212233 shutil .copytree (src , dst , dirs_exist_ok = True )
0 commit comments