(&mut self, info: InstanceInfo)
| 1036 | } |
| 1037 | |
| 1038 | fn add_instance(&mut self, info: InstanceInfo) { |
| 1039 | // Sync to KvStore |
| 1040 | let data = InstanceData { |
| 1041 | app_id: info.app_id.clone(), |
| 1042 | ip: info.ip, |
| 1043 | public_key: info.public_key.clone(), |
| 1044 | reg_time: encode_ts(info.reg_time), |
| 1045 | port_policy: info.port_policy.clone(), |
| 1046 | port_policy_hash: info.port_policy_hash.clone(), |
| 1047 | admin_port_policy: info.admin_port_policy.clone(), |
| 1048 | }; |
| 1049 | if let Err(err) = self.kv_store.sync_instance(&info.id, &data) { |
| 1050 | error!("failed to sync instance to KvStore: {err:?}"); |
| 1051 | } |
| 1052 | |
| 1053 | self.state |
| 1054 | .apps |
| 1055 | .entry(info.app_id.clone()) |
| 1056 | .or_default() |
| 1057 | .insert(info.id.clone()); |
| 1058 | self.state.instances.insert(info.id.clone(), info); |
| 1059 | } |
| 1060 | |
| 1061 | fn generate_wg_config(&self) -> Result<String> { |
| 1062 | let model = WgConf { |
no test coverage detected