Improve MongoDB compatibility and connection diagnostics; unify asset dialogs and sidebar navigation; support visible multi-account target links and mapped connection tests. Include regression tests and validation documentation.
4.0 KiB
文件资产管理
资产与代理现已合并为一个「资产管理」入口,下设「文件资产」和「连接资产」。SSH/SOCKS5 在连接资产维护;StatefulSet 等 Kubernetes 资源直接在目标维护。完整操作和兼容说明见 统一资产与目标连接。
文件资产不再属于项目:新建、编辑与就地上传没有「所属项目」字段,切换顶部项目不隐藏资产。环境信息及列表环境筛选仍保留;各处资产选择器按类型列出全部可用资产,不再按目标或连接资产的项目、环境隐藏选项。旧文件资产、备份和同步数据中的项目字段读取时忽略,文件、备注、ID 和引用保留,保存后不再写入项目,无需重新上传,也不做全库批量迁移。旧调用方提交文件资产的 project 会被忽略;GET /api/v1/assets?project=... 不再按项目过滤,environment 仍有效。连接资产的旧项目元数据及 API 则保留兼容,不能套用文件资产的清空规则。
就地上传、未保存提醒、元数据与引用跳转见配置操作与易用性。
在「资产管理 → 文件资产」统一上传配置文件,然后在目标、账号或兼容的连接资产中选择资产引用。同一份文件可以被多个配置复用;重新上传并保存同一资产后,后续连接使用更新后的内容。
| 资产类型 | 使用位置 | 文件内容 |
|---|---|---|
| Kubeconfig | 目标 → Kubernetes 资源 → Kubeconfig 资产;兼容旧 K8s 引用 | 自包含的 Kubernetes YAML/JSON 配置 |
| SSH 私钥 | SSH/SFTP 目标 → 账号 → 私钥资产 | PEM 或 OpenSSH 私钥;加密私钥的口令仍在账号中设置 |
| SSH 公钥 | SSH/SFTP 网关 → 账号 → 客户端公钥资产 | OpenSSH 公钥列表,可包含多行 |
| SSH 用户证书 | SSH/SFTP 目标 → 账号 → 用户证书资产 | 与所选私钥匹配的 OpenSSH 用户证书,由目标服务器信任的 CA 签发 |
| TLS/CA 证书 | 目标 → 上游 TLS → 目标 CA 证书资产 | PEM 证书或证书链,用于验证目标服务器 |
| 其他配置文件(文本) | 资产管理集中保存 | UTF-8 文本配置,暂不直接参与协议连接 |
上传文件上限为 512 KiB,使用 UTF-8 编码。管理界面不回显文件内容;资产名称、类型和引用关系可用于识别文件。私钥、证书和其他文件内容均加密保存到数据库。普通配置导出、模板和历史差异隐藏文件内容,完整迁移使用加密备份。
更新文件时,在资产列表选择「编辑资产」,重新上传并保存。未上传新文件时保留已存内容,「取消本次上传」仅撤销本次选择。更新前须停止引用该资产的网关;有引用的资产不能删除,需先在相应配置中解除或更换引用。通过资产历史可以查看变更和恢复旧版本,恢复同样受运行状态限制。
现有内联私钥、公钥和 CA 配置继续兼容;选择资产并保存后使用资产引用。不同类型的资产不能混用。SSH 用户证书需要同时选择匹配的私钥,单独的公钥文件不能用于登录上游;证书是否受信任、主体和有效期是否允许登录,仍由目标 SSH 服务验证。
目标内联 Kubernetes 配置及旧 K8s 引用的 Kubeconfig 下拉均列出全部 Kubeconfig,不受项目或环境筛选影响,不需要「显示全部项目/环境」开关。SSH 私钥、证书等选择器也按类型使用全部范围。点击「刷新资产列表」可获取其他页面新上传的文件,失败时保留原选择并提供重试。没有 Kubeconfig 类型资产时会提示就地创建;普通文件不会被当作 Kubeconfig。操作和验证边界见 Kubernetes。
Kubeconfig 中的外部证书路径和登录插件依赖运行 serviceport 的服务器环境,建议上传内嵌证书与私钥的自包含文件。管理服务启动所用的 TLS 文件、数据库主密钥和自动生成的网关主机密钥属于部署与运行材料,不是目标或账号的文件配置。