mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-07 02:09:06 +00:00
feat(web): add webhook-managed machine access and multi-instance CLI support (#1989)
* feat: add webhook-managed access and multi-instance CLI support * fix(foreign): verify credential of foreign credential peer
This commit is contained in:
@@ -32,7 +32,7 @@ impl CredentialManageRpc for CredentialManageRpcService {
|
||||
ctrl: Self::Controller,
|
||||
req: GenerateCredentialRequest,
|
||||
) -> crate::proto::rpc_types::error::Result<GenerateCredentialResponse> {
|
||||
super::get_instance_service(&self.instance_manager, &None)?
|
||||
super::get_instance_service(&self.instance_manager, &req.instance)?
|
||||
.get_credential_manage_service()
|
||||
.generate_credential(ctrl, req)
|
||||
.await
|
||||
@@ -43,7 +43,7 @@ impl CredentialManageRpc for CredentialManageRpcService {
|
||||
ctrl: Self::Controller,
|
||||
req: RevokeCredentialRequest,
|
||||
) -> crate::proto::rpc_types::error::Result<RevokeCredentialResponse> {
|
||||
super::get_instance_service(&self.instance_manager, &None)?
|
||||
super::get_instance_service(&self.instance_manager, &req.instance)?
|
||||
.get_credential_manage_service()
|
||||
.revoke_credential(ctrl, req)
|
||||
.await
|
||||
@@ -54,7 +54,7 @@ impl CredentialManageRpc for CredentialManageRpcService {
|
||||
ctrl: Self::Controller,
|
||||
req: ListCredentialsRequest,
|
||||
) -> crate::proto::rpc_types::error::Result<ListCredentialsResponse> {
|
||||
super::get_instance_service(&self.instance_manager, &None)?
|
||||
super::get_instance_service(&self.instance_manager, &req.instance)?
|
||||
.get_credential_manage_service()
|
||||
.list_credentials(ctrl, req)
|
||||
.await
|
||||
|
||||
@@ -276,13 +276,17 @@ impl WebClientService for InstanceManageRpcService {
|
||||
let Some(control) = self.manager.get_instance_config_control(&inst_id) else {
|
||||
continue;
|
||||
};
|
||||
let Some(name) = self.manager.get_network_instance_name(&inst_id) else {
|
||||
let Some(network_name) = self.manager.get_network_name(&inst_id) else {
|
||||
continue;
|
||||
};
|
||||
let Some(instance_name) = self.manager.get_instance_name(&inst_id) else {
|
||||
continue;
|
||||
};
|
||||
let meta = NetworkMeta {
|
||||
inst_id: Some(inst_id.into()),
|
||||
network_name: name,
|
||||
network_name,
|
||||
config_permission: control.permission.into(),
|
||||
instance_name,
|
||||
};
|
||||
metas.push(meta);
|
||||
}
|
||||
|
||||
@@ -50,13 +50,6 @@ impl LoggerRpc for LoggerRpcService {
|
||||
) -> Result<SetLoggerConfigResponse, rpc_types::error::Error> {
|
||||
let level_str = Self::log_level_to_string(request.level());
|
||||
|
||||
// 更新当前日志级别
|
||||
if let Some(current_level) = CURRENT_LOG_LEVEL.get() {
|
||||
if let Ok(mut level) = current_level.lock() {
|
||||
*level = level_str.clone();
|
||||
}
|
||||
}
|
||||
|
||||
// 发送新的日志级别到 logger 重载器
|
||||
if let Some(sender) = LOGGER_LEVEL_SENDER.get() {
|
||||
if let Ok(sender) = sender.lock() {
|
||||
@@ -78,6 +71,13 @@ impl LoggerRpc for LoggerRpcService {
|
||||
)));
|
||||
}
|
||||
|
||||
// 更新当前日志级别
|
||||
if let Some(current_level) = CURRENT_LOG_LEVEL.get() {
|
||||
if let Ok(mut level) = current_level.lock() {
|
||||
*level = Self::log_level_to_string(request.level());
|
||||
}
|
||||
}
|
||||
|
||||
Ok(SetLoggerConfigResponse {})
|
||||
}
|
||||
|
||||
|
||||
@@ -234,12 +234,14 @@ where
|
||||
let config = self
|
||||
.handle_get_network_config(identify.clone(), instance_id)
|
||||
.await?;
|
||||
let network_name = config.network_name.unwrap_or_default();
|
||||
metas.insert(
|
||||
instance_id,
|
||||
NetworkMeta {
|
||||
inst_id: Some(instance_id.into()),
|
||||
network_name: config.network_name.unwrap_or_default(),
|
||||
network_name: network_name.clone(),
|
||||
config_permission: 0,
|
||||
instance_name: network_name,
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user