SuperAPI AI 工具集

package-neon-multi-node-green

数据与分析

查看项目

更新于 10-16 02:37

技能介绍

用途:在 getcolors/neon-multi-node 的五机拓扑(compute-0、pageserver-0(兼存储代理)、safekeeper-0/1/2)上部署与运维自托管 Neon Postgres 17,提供 Green 运行时;同级 Red、Blue 技能使用相同期望状态与状态地址。同一 profile 一次只运行一个生命周期操作。

安装:

npx skills add https://github.com/getcolors/neon-multi-node --skill package-neon-multi-node-green cp .agents/skills/package-neon-multi-node-green/green ./green chmod +x green

每次更新技能后需同步根启动器。从公开部署的 getcolors/neon-multi-node-aws 非机密期望状态出发,为新独立部署修改 profile、固定 tenant/timeline 身份、桶名、provider 设置、DNS 名与允许的 SSH/Postgres 源 CIDR。不得复用已有 profile 指向新状态。

实时操作前先运行:

./green build ./green create --dry-run

这两条路径渲染确定性产物,不联系 provider,也不访问 SSH 文件;须先解决所有校验错误。.colors/ 为生成输出,只能改期望状态或包源码。用 ./green create 收敛、./green describe 检查、./green rehearse 做破坏性数据恢复验证(仅用于测试部署)。

凭据放在被忽略的私有环境文件;AWS 使用其环境 SDK 凭据链;DNS 使用 COLORS_PAR_CLOUDFLARE_API_TOKEN。包会创建受限应用 S3 凭据并私密传给 Ansible,保留在加密 Terraform 后端状态与目标机器 root 可读文件。切勿导出 COLORS_PAR_PROFILE 或提交凭据、Terraform 状态、私钥、生成输出。

PostgreSQL 在 55433 端口用原生 TLS 及仅 DNS 的 Cloudflare A 记录;配置证书本身不拒绝明文,须保留自定义 HBA 策略并做负向认证/TLS 检查。运维路径用 sslmode=verify-full 加受信 CA 包与配置主机名;密码经生成的入口 SSH 别名从 /etc/neon/secrets/neon_role_password 私下获取,不得打印在证据中。

三台独立 safekeeper 构成 WAL 仲裁;compute 与 pageserver 仍是单点故障。S3 上传为异步,不能因收敛成功宣称完全高可用或零全存储丢失 RPO。验收须包含真实 SQL 读写、特定认证/明文拒绝、新 WAL 对象、跨收敛与恢复的持久性。删除会销毁应用数据,须在提交的期望状态保留 compute-prevent-destroy: true;仅授权拆除时:

COLORS_PAR_COMPUTE_PREVENT_DESTROY=false ./green delete

DAG 须证明所有写入者已停止后才清空应用桶,先移除 DNS 与本地别名再销毁机器,失败时保留访问密钥,完全退役后才完成状态桶。限制:需自备 AWS/Cloudflare 等环境与凭据;具体发行版、硬件与价格暂未提供。