资产管理
OpsKat 将你的基础设施组织为树状结构的资产清单。资产代表单个服务器、数据库、消息队列、Kubernetes 集群等。分组提供层级化的组织方式。
资产类型
OpsKat 支持九种资产类型,每种类型都有自己的连接表单、控制台和策略模型。
SSH
用于终端访问、命令执行和文件传输的 SSH 服务器资产。
- 主机 — 主机名或 IP 地址
- 端口 — SSH 端口(默认:22)
- 用户名 — 登录用户
- 认证方式 —
密码或密钥 - 跳板机 — 可选的跳板机链,用于通过堡垒机访问
- 代理 — 可选的 SOCKS5/SOCKS4 代理
本地终端
本地终端资产在你自己的机器上打开一个 Shell —— 不进行远程连接。适合在管理服务器的同时运行本地工具。
- Shell — 可选的 Shell 可执行文件。可从检测到的 Shell 中选择(应用会探测本机,例如 Unix 上的
/etc/shells,以及 Windows 上的 WSL 发行版 / PowerShell / 命令提示符)或手动填写路径。留空则使用操作系统默认 Shell。 - 参数 — 可选的 Shell 启动参数(例如
--login) - 工作目录 — 可选的起始目录(默认:
~)
本地终端没有主机、端口或凭据。
数据库(MySQL / PostgreSQL / SQL Server / SQLite)
用于通过查询编辑器或 AI 智能体执行 SQL 的数据库资产。
- 驱动 —
mysql、postgresql、mssql(SQL Server)或sqlite - 主机 / 端口 — 数据库服务器地址(默认端口:MySQL 3306、PostgreSQL 5432、SQL Server 1433)。SQLite 不使用。
- 用户名 / 密码 — 数据库凭据(SQLite 不使用)
- 数据库 — 默认数据库名
- 只读 — 启用后限制为只读连接
- SSH 资产 — 可选的 SSH 资产用于隧道连接(数据库通过 SSH 隧道经所选服务器访问)
SQLite 使用文件来源而非主机/端口:
- 路径 — SQLite 数据库文件的路径
- 来源 —
local(本机上的文件)或remote_ssh_vfs(远程服务器上的文件,通过 SSH 访问)。远程来源需要一个 SSH 资产。
Redis
用于命令执行和键浏览的 Redis 资产。
- 主机 / 端口 — Redis 服务器地址(默认端口:6379)
- 用户名 / 密码 — 可选的认证信息
- 数据库 — DB 索引(默认:0)
- TLS — 启用 TLS 连接(支持 CA / 客户端证书 / 客户端密钥、跳过校验和服务器名)
- SSH 资产 — 可选的 SSH 资产用于隧道连接
MongoDB
用于通过 MongoDB 面板或 AI 智能体执行文档查询的 MongoDB 资产。
- 主机 / 端口 — MongoDB 服务器地址(默认端口:27017)
- 用户名 / 密码 — 可选的认证信息(认证源默认为
admin) - 数据库 — 默认数据库
- SSH 资产 — 可选的 SSH 资产用于隧道连接
Kafka
用于通过 Kafka 面板管理 Broker、Topic、消费者组、ACL 和 Schema 的 Kafka 集群资产。
- Brokers — 一个或多个
host:port引导 Broker(默认端口:9092)。也接受单个主机/端口。 - Client ID — 可选的客户端标识
- SASL 机制 —
none、plain、scram-sha-256或scram-sha-512 - 用户名 / 密码 — 启用 SASL 时必填
- TLS — 启用 TLS(CA / 客户端证书 / 客户端密钥、跳过校验、服务器名)
- SSH 资产 — 可选的 SSH 资产用于隧道连接
Kubernetes
用于通过 Kubernetes 面板浏览工作负载和实时查看日志,并通过 AI 智能体运行 kubectl 的 Kubernetes 集群资产。
- Kubeconfig — Kubeconfig YAML 内容(必填,静态存储时加密)
- 命名空间 — 可选的默认命名空间
- 上下文(Context) — 可选的 kubeconfig 上下文
- SSH 资产 — 可选的 SSH 资产,用于通过跳板机访问集群 API
etcd
用于通过 etcd 面板浏览和操作键/值的 etcd 集群资产。
- Endpoints — 一个或多个
host:port端点(默认端口:2379) - 用户名 / 密码 — 可选(启用 RBAC 时)
- TLS — 启用 TLS(CA / 客户端证书 / 客户端密钥、跳过校验、服务器名)
- 拨号 / 命令超时 — 可选的连接和命令超时(秒)
- SSH 资产 — 可选的 SSH 资产用于隧道连接
串口
用于通过串口控制台连接设备的串口资产。
- 端口路径 — 串口设备路径(例如 Windows 上的
COM3、Linux/macOS 上的/dev/ttyUSB0)—— 必填 - 波特率 — 例如
9600、115200—— 必填 - 数据位 —
5、6、7或8(默认:8) - 停止位 —
1、1.5或2(默认:1) - 校验位 —
none、odd、even、mark或space(默认:none) - 流控 —
none或hardware
分组
分组通过父子关系将资产组织为树状层级结构。每个资产都属于某个分组(或根级别)。
- 创建嵌套分组来区分环境(例如"生产环境 > Web 服务器")
- 资产和分组可以通过拖拽重新排序
- 分组可以有自己的策略配置,子资产会继承这些策略
添加、编辑和删除资产
添加
点击资产侧边栏中的 + 按钮,选择资产类型,填写必填字段后点击 保存。
编辑
选择资产并点击 编辑(或右键 > 编辑)。修改任意字段后保存。
删除
右键点击资产并选择 删除。资产采用软删除方式(标记为已删除而非从数据库中移除),以保留审计历史。
凭据管理
所有凭据(密码、SSH 私钥、kubeconfig)在存储前都会使用 Argon2id 密钥派生和 AES-256-GCM 加密。加密主密钥通过 go-keyring 存储在操作系统密钥环中:
- macOS — Keychain
- Windows — Windows Credential Manager(Windows 凭据管理器)
- Linux — Secret Service(GNOME Keyring / KDE Wallet)
opsctl CLI 可以通过 --master-key 参数或 OPSKAT_MASTER_KEY 环境变量提供加密密钥,适用于无图形界面的环境。
SSH 密钥管理
你可以通过两种方式导入 SSH 私钥:
- 从文件导入 — 从磁盘选择密钥文件(例如
~/.ssh/id_rsa) - 从 PEM 导入 — 直接粘贴 PEM 编码的密钥内容
导入的密钥作为凭据存储,可以在多个资产之间复用。
导入 / 导出
OpsKat 支持从外部来源导入资产,也支持导出资产清单用于备份。
导入来源
| 来源 | 说明 |
|---|---|
| SSH Config | 解析你的 ~/.ssh/config 文件。可预览条目并选择要导入的项目。 |
| Tabby | 从 Tabby 配置文件导入。 |
| WindTerm | 从 WindTerm 会话文件导入。 |
| 文件 | 从 OpsKat 备份文件(JSON 格式)导入。 |
导入时可以先预览条目再确认,还可以选择是否与现有资产合并。
导出
将资产清单导出为本地 JSON 备份文件。导出内容包括资产、分组、凭据(加密)和策略配置。