fix(iac): require Cloudflare DNS token

This commit is contained in:
Haitao Pan 2026-06-27 13:48:20 +08:00
parent 2d3289fbc5
commit 3ce3c6fb66

View File

@ -18,8 +18,8 @@ name: Deploy AI Workspace (IaC + Ansible + Cloudflare)
# VULTR_API_KEY → Vultr 账号 API keyprovision 创主机) # VULTR_API_KEY → Vultr 账号 API keyprovision 创主机)
# SSH_PRIVATE_DEPLOY_KEY_B64 → 部署 SSH 私钥 base64deploy 登录主机,优先) # SSH_PRIVATE_DEPLOY_KEY_B64 → 部署 SSH 私钥 base64deploy 登录主机,优先)
# SSH_PRIVATE_DEPLOY_KEY → 同上原始多行格式(回退,二选一必填) # SSH_PRIVATE_DEPLOY_KEY → 同上原始多行格式(回退,二选一必填)
# CLOUDFLARE_DNS_API_TOKEN → CF Zone DNS Edit tokendns 同步,兼容旧名 # CLOUDFLARE_DNS_API_TOKEN → CF Zone DNS Edit tokendns 同步
# CLOUDFLARE_API_TOKEN → 同上Cloudflare 角色兼容别名 # CLOUDFLARE_API_TOKEN → 兼容旧名DNS job 优先使用 CLOUDFLARE_DNS_API_TOKEN
# kv/openclaw: # kv/openclaw:
# DEEPSEEK_API_KEY → LLM provider keydeploy 注入主机) # DEEPSEEK_API_KEY → LLM provider keydeploy 注入主机)
# NVIDIA_API_KEY → 同上 # NVIDIA_API_KEY → 同上
@ -425,18 +425,16 @@ jobs:
jwtGithubAudience: vault jwtGithubAudience: vault
ignoreNotFound: true ignoreNotFound: true
secrets: | secrets: |
${{ env.VAULT_KV }} CLOUDFLARE_DNS_API_TOKEN | CLOUDFLARE_DNS_API_TOKEN ; ${{ env.VAULT_KV }} CLOUDFLARE_DNS_API_TOKEN | CLOUDFLARE_DNS_API_TOKEN
${{ env.VAULT_KV }} CLOUDFLARE_API_TOKEN | CLOUDFLARE_API_TOKEN
- name: Validate required secrets - name: Validate required secrets
env: env:
CLOUDFLARE_DNS_API_TOKEN: ${{ steps.vault.outputs.CLOUDFLARE_DNS_API_TOKEN }} CLOUDFLARE_DNS_API_TOKEN: ${{ steps.vault.outputs.CLOUDFLARE_DNS_API_TOKEN }}
CLOUDFLARE_API_TOKEN: ${{ steps.vault.outputs.CLOUDFLARE_API_TOKEN }}
run: | run: |
set -euo pipefail set -euo pipefail
# 只校验 REQUIRED 机密非空不打印任何值仅判空INFRA_REPO_TOKEN 可选不校验。 # 只校验 REQUIRED 机密非空不打印任何值仅判空INFRA_REPO_TOKEN 可选不校验。
missing=0 missing=0
if [ -z "${CLOUDFLARE_DNS_API_TOKEN:-}" ] && [ -z "${CLOUDFLARE_API_TOKEN:-}" ]; then if [ -z "${CLOUDFLARE_DNS_API_TOKEN:-}" ]; then
echo "::error::缺少必需机密 CLOUDFLARE_DNS_API_TOKEN (Vault: ${VAULT_KV}/CLOUDFLARE_DNS_API_TOKEN)" echo "::error::缺少必需机密 CLOUDFLARE_DNS_API_TOKEN (Vault: ${VAULT_KV}/CLOUDFLARE_DNS_API_TOKEN)"
missing=1 missing=1
fi fi
@ -466,7 +464,6 @@ jobs:
working-directory: ${{ env.PLAYBOOKS_DIR }} working-directory: ${{ env.PLAYBOOKS_DIR }}
env: env:
CLOUDFLARE_DNS_API_TOKEN: ${{ steps.vault.outputs.CLOUDFLARE_DNS_API_TOKEN }} CLOUDFLARE_DNS_API_TOKEN: ${{ steps.vault.outputs.CLOUDFLARE_DNS_API_TOKEN }}
CLOUDFLARE_API_TOKEN: ${{ steps.vault.outputs.CLOUDFLARE_API_TOKEN }}
run: | run: |
set -euo pipefail set -euo pipefail
# 只为本次新建的 ai_workspace 组主机同步 A 记录(域名取各主机 # 只为本次新建的 ai_workspace 组主机同步 A 记录(域名取各主机