用途
Sealos Database 用于在开发过程中为项目接入真实的 Sealos Cloud 数据库。默认目标是:识别应用的数据库需求,使用 sealos-cli 创建或复用 Sealos 数据库,获取连接信息,只写入所需的本地环境变量,并验证应用能够连接。
主要能力
- 分析项目数据库意图:通过只读分析脚本 analyze-project-database.mjs 识别项目使用的数据库信号和环境变量键。
- 管理数据库生命周期:列出、创建、复用、查看详情、获取连接信息、等待就绪。
- 支持多种数据库类型:postgresql、mongodb、mysql、apecloud-mysql、redis、kafka、qdrant、nebula、weaviate、milvus、pulsar、clickhouse。
- 环境变量接线:将连接信息映射到项目已有的环境变量键,如 DATABASE_URL、MONGODB_URI、REDIS_URL 等。
- 连接验证:运行项目自身的迁移或连接测试命令,确认应用可连接。
- 公网访问控制:在应用无法访问私有端点时,经确认后启用公网访问,测试后可关闭。
使用方式
- 解析目标项目:确认工作目录,运行分析脚本。
- 检查 sealos-cli:确认版本、帮助、登录状态;未安装时可用 npx -y sealos-cli@latest。
- 选择创建或复用:先列出已有数据库,名称、类型、用途匹配则复用,否则创建。
- 等待就绪并获取连接数据:轮询详情和连接信息。
- 接线开发环境:将连接映射到项目已有环境变量键,保留注释和无关键。
- 验证应用连接:运行迁移或最小连接测试。
- 报告结果:数据库名称、类型、区域/工作区、状态、更新的环境文件和键名(不泄露值)、验证命令与结果、公网访问状态。
适用场景
- 将已有项目连接到 Sealos 数据库。
- 用 Sealos 数据库替换本地 Compose 数据库用于开发。
- 为 Devbox 工作流添加数据库。
限制与安全规则
- 不在最终答案中打印数据库密码或完整连接串。
- 不覆盖已有环境变量值,除非确认或保留旧值。
- 不提交 .env、.env.local、连接串、密码、kubeconfig 或 Sealos 认证文件。
- 启用公网访问前需询问,应用运行在 Sealos/Devbox 内时优先私有连接。
- 破坏性操作(删除数据库、删除备份、恢复可能冲突的名称、禁用活跃应用依赖的访问)前需询问。
- 默认使用 sealos-cli 的 JSON 输出并解析,而非抓取表格输出。
- 工作区不明确、凭据不可用或环境变量目标被跟踪时,请求在变更前停止。
参考
- scripts/analyze-project-database.mjs:只读项目数据库意图分析器。
- references/sealos-cli-database.md:sealos-cli database 命令契约。
- references/env-integration.md:安全的环境文件编辑和连接串映射。