SuperAPI AI 工具集

config

部署与运维

查看项目

更新于 10-16 05:06

技能介绍

用途:帮助结构化地编写 Kamal 部署配置 config/deploy.yml,这是驱动每次 Kamal 部署的唯一文件。

主要能力:讲解必填键、全部顶层选项及默认值、按环境的目的地(-d)、扩展键(x-),以及如何用 YAML 锚点保持文件 DRY。

使用方式:先检查已有文件——读取 config/deploy.yml、查找 config/deploy.<destination>.yml、检查 .kamal/secrets 中引用的密钥名。若不存在,用 kamal init 生成配置文件、.kamal/secrets 和 .kamal/hooks 示例钩子。编辑后运行 kamal config 打印合并后的解析配置,确认解析符合预期。

关键步骤:service 是唯一必填值,用作容器名前缀;image 指定 Docker 镜像名;registry、servers、env 描述运行位置与方式;按需调整顶层选项,如 primary_role(默认 web)、retain_containers(默认 5)、readiness_delay(默认 7)、deploy_timeout(默认 30)、drain_timeout(默认 30)、require_destination(默认 false)、minimum_version(默认 nil)。

Destinations:用 -d 传入目的地时,Kamal 会同时读取并合并 config/deploy.<destination>.yml;密钥按 <secrets_path>-common 再 <secrets_path>.<destination> 顺序查找,后者覆盖前者。设 require_destination: true 可强制每次命令带 -d。

扩展与 DRY:Kamal 拒绝无法识别的键,拼错或臆造的键会报错;以 x- 开头的键会被忽略,可作为扩展声明可复用块,从而在 deploy.yml 根级定义锚点并用 << 别名合并。顶层 aliases 键可定义命令快捷方式。

限制:资料未提供具体版本要求、平台支持范围或收费信息;配置键的完整清单见 references/config-keys.md。