mirror of
https://github.com/fawney19/Aether.git
synced 2026-10-12 20:19:51 +08:00
refactor: 拆分 gateway 单体为独立 crate,新增 systemd 部署方案
将 gateway 内部的 model-fetch、provider-transport、scheduler-core、 usage-runtime、video-tasks-core 模块提取为独立 crate;重构 gateway 内部模块结构(state/router/cache/data/query 等);移除大量遗留模块 文件;新增 systemd 二进制部署骨架及相关文档;更新前端 usage 相关 API 和组件。
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
use crate::gateway::handlers::{
|
||||
use crate::control::GatewayPublicRequestContext;
|
||||
use crate::handlers::{
|
||||
admin_provider_ops_architecture_id_from_path, is_admin_provider_ops_architectures_root,
|
||||
};
|
||||
use crate::gateway::{GatewayError, GatewayPublicRequestContext};
|
||||
use crate::GatewayError;
|
||||
use axum::{
|
||||
body::Body,
|
||||
http,
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
use crate::gateway::handlers::{
|
||||
use crate::control::GatewayPublicRequestContext;
|
||||
use crate::handlers::{
|
||||
admin_provider_id_for_provider_ops_balance, admin_provider_id_for_provider_ops_checkin,
|
||||
admin_provider_id_for_provider_ops_config, admin_provider_id_for_provider_ops_connect,
|
||||
admin_provider_id_for_provider_ops_disconnect, admin_provider_id_for_provider_ops_status,
|
||||
admin_provider_id_for_provider_ops_verify, admin_provider_ops_action_route_parts,
|
||||
decrypt_catalog_secret_with_fallbacks, encrypt_catalog_secret_with_fallbacks,
|
||||
};
|
||||
use crate::gateway::{AppState, GatewayError, GatewayPublicRequestContext};
|
||||
use crate::{AppState, GatewayError};
|
||||
use aether_data::repository::provider_catalog::{
|
||||
StoredProviderCatalogEndpoint, StoredProviderCatalogProvider,
|
||||
};
|
||||
|
||||
@@ -5,7 +5,7 @@ use super::{
|
||||
resolve_admin_provider_ops_base_url, AdminProviderOpsCheckinOutcome,
|
||||
ADMIN_PROVIDER_OPS_ACTION_RUST_ONLY_MESSAGE,
|
||||
};
|
||||
use crate::gateway::AppState;
|
||||
use crate::AppState;
|
||||
use aether_data::repository::provider_catalog::{
|
||||
StoredProviderCatalogEndpoint, StoredProviderCatalogProvider,
|
||||
};
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
use super::{AdminProviderOpsSaveConfigRequest, ADMIN_PROVIDER_OPS_SENSITIVE_FIELDS};
|
||||
use crate::gateway::handlers::{
|
||||
use crate::handlers::{
|
||||
decrypt_catalog_secret_with_fallbacks, encrypt_catalog_secret_with_fallbacks,
|
||||
};
|
||||
use crate::gateway::AppState;
|
||||
use crate::AppState;
|
||||
use aether_data::repository::provider_catalog::{
|
||||
StoredProviderCatalogEndpoint, StoredProviderCatalogProvider,
|
||||
};
|
||||
|
||||
@@ -9,13 +9,15 @@ use super::{
|
||||
AdminProviderOpsExecuteActionRequest, AdminProviderOpsSaveConfigRequest,
|
||||
ADMIN_PROVIDER_OPS_CONNECT_RUST_ONLY_MESSAGE,
|
||||
};
|
||||
use crate::gateway::handlers::{
|
||||
use crate::control::GatewayPublicRequestContext;
|
||||
use crate::handlers::admin::misc_helpers::attach_admin_audit_response;
|
||||
use crate::handlers::{
|
||||
admin_provider_id_for_provider_ops_balance, admin_provider_id_for_provider_ops_checkin,
|
||||
admin_provider_id_for_provider_ops_config, admin_provider_id_for_provider_ops_connect,
|
||||
admin_provider_id_for_provider_ops_disconnect, admin_provider_id_for_provider_ops_status,
|
||||
admin_provider_id_for_provider_ops_verify, admin_provider_ops_action_route_parts,
|
||||
};
|
||||
use crate::gateway::{AppState, GatewayError, GatewayPublicRequestContext};
|
||||
use crate::{AppState, GatewayError};
|
||||
use axum::{
|
||||
body::{Body, Bytes},
|
||||
http,
|
||||
@@ -383,7 +385,13 @@ pub(crate) async fn maybe_build_local_admin_provider_ops_providers_response(
|
||||
&credentials,
|
||||
)
|
||||
.await;
|
||||
return Ok(Some(Json(payload).into_response()));
|
||||
return Ok(Some(attach_admin_audit_response(
|
||||
Json(payload).into_response(),
|
||||
"admin_provider_ops_config_verified",
|
||||
"verify_provider_ops_config",
|
||||
"provider",
|
||||
&provider_id,
|
||||
)));
|
||||
}
|
||||
|
||||
if route_kind == "connect_provider" {
|
||||
@@ -664,5 +672,26 @@ pub(crate) async fn maybe_build_local_admin_provider_ops_providers_response(
|
||||
build_admin_provider_ops_config_payload(state, &provider_id, provider, &endpoints)
|
||||
};
|
||||
|
||||
Ok(Some(Json(payload).into_response()))
|
||||
let response = Json(payload).into_response();
|
||||
let response = if route_kind == "get_provider_config" {
|
||||
attach_admin_audit_response(
|
||||
response,
|
||||
"admin_provider_ops_config_viewed",
|
||||
"view_provider_ops_config",
|
||||
"provider",
|
||||
&provider_id,
|
||||
)
|
||||
} else if route_kind == "get_provider_status" {
|
||||
attach_admin_audit_response(
|
||||
response,
|
||||
"admin_provider_ops_status_viewed",
|
||||
"view_provider_ops_status",
|
||||
"provider",
|
||||
&provider_id,
|
||||
)
|
||||
} else {
|
||||
response
|
||||
};
|
||||
|
||||
Ok(Some(response))
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
use super::ADMIN_PROVIDER_OPS_VERIFY_RUST_ONLY_MESSAGE;
|
||||
use crate::gateway::AppState;
|
||||
use crate::AppState;
|
||||
use base64::{engine::general_purpose::URL_SAFE_NO_PAD, Engine as _};
|
||||
use regex::Regex;
|
||||
use serde_json::json;
|
||||
|
||||
Reference in New Issue
Block a user