SuperAPI AI 工具集

sealos-database

部署与运维

查看项目

更新于 10-16 06:04

技能介绍

用途

Sealos Database 技能用于在开发阶段为项目提供真实的 Sealos Cloud 数据库。其默认目标是:识别应用的数据库需求,使用 sealos-cli 创建或复用 Sealos 数据库,获取连接详情,仅写入所需的本地环境变量,并验证应用能够连接。

主要能力

  • 通过 sealos-cli 创建、列出、查看和连接 Sealos Cloud 数据库。
  • 支持多种数据库类型,包括 postgresql、mongodb、mysql、apecloud-mysql、redis、kafka、qdrant、nebula、weaviate、milvus、pulsar 和 clickhouse。
  • 提供项目数据库意图分析脚本,用于识别项目使用的数据库类型和环境变量约定。
  • 将数据库连接信息映射到项目已有的环境变量键,如 DATABASE_URL、MONGODB_URI、REDIS_URL 等。
  • 支持在应用运行于 Sealos 外部且无法访问私有端点时,按需启用公网访问。
  • 提供安全规则,避免泄露密码、覆盖已有环境变量或提交敏感文件。

使用方式

  1. 解析目标项目:确认工作目录,运行分析脚本 node <SKILL_DIR>/scripts/analyze-project-database.mjs <project-dir>,并检查其引用的真实文件。
  2. 检查 sealos-cli:运行 sealos-cli --version、sealos-cli database --help、sealos-cli whoami。若未安装,可使用 npx -y sealos-cli@latest ... 执行一次性命令,全局安装前需询问。若认证缺失或过期,运行 sealos-cli login <region>、sealos-cli workspace list、sealos-cli workspace current。
  3. 选择创建或复用:先运行 sealos-cli database list -o json 列出已有数据库。名称、类型和用途匹配时复用;否则创建新数据库。创建示例:sealos-cli database create postgresql --name <app-dev-db> --cpu 1 --memory 1 --storage 3 --replicas 1 -o json。如需选择版本,先运行 sealos-cli database versions --type postgresql -o json。
  4. 等待就绪并获取连接数据:轮询 sealos-cli database get <name> -o json 和 sealos-cli database connection <name> -o json。
  5. 配置开发环境:将连接信息映射到项目已有的环境变量键。Next.js 和前端相关项目优先使用 .env.local;仅当仓库已用于本地开发且被 gitignore 时使用 .env。.env.example 仅作文档,不得写入真实密钥。保留注释和无关键。
  6. 验证应用连通性:运行项目正常的验证路径,如迁移或内省命令(prisma migrate、drizzle-kit migrate、db:migrate、db:push),启动应用或运行最小的数据库连接测试。若应用在 Sealos 外部无法访问私有端点,需先询问再启用公网访问:sealos-cli database enable-public <name> -o json,测试后如不再需要可禁用:sealos-cli database disable-public <name> -o json。
  7. 报告结果:总结数据库名称、类型、区域/工作区、状态,更新的环境文件和键(不泄露密钥值),验证命令和结果,以及公网访问状态和后续操作。

适用场景

  • 将现有项目连接到 Sealos 数据库。
  • 用 Sealos 数据库替换本地 Compose 数据库用于开发。
  • 为 Devbox 工作流添加数据库。

限制

  • 安全规则要求:不得在最终答案中打印数据库密码或完整连接字符串;未经确认或保留旧值,不得覆盖已有环境变量;不得提交 .env、.env.local、连接字符串、密码、kubeconfig 或 Sealos 认证文件;启用公网访问前需询问,应用运行在 Sealos/Devbox 内时优先使用私有连接;执行破坏性操作(删除数据库、删除备份、恢复到可能冲突的名称、禁用活跃应用依赖的访问)前需询问;默认使用 sealos-cli 的 JSON 输出并解析,而非抓取表格输出。
  • 支持的 CLI 数据库类型以资料中列出的为准。
  • 其他功能、收费、价格、平台、效果或使用步骤资料中暂未提供。