feat(acceptance): 建立同构验收与弹性容量体系
实现本地三节点 K3s 同构环境、脱敏生产快照、Gemini 图片和多参考图视频协议模拟、统一验收报告及故障注入。\n\n新增 Worker 容量控制器、资源与连接预算、任务恢复保护,并将生产验收拆分为 validation 执行和人工 CAS 放量。\n\n验证包括 Go 全量测试、PostgreSQL HTTP 集成测试、go vet、OpenAPI、ShellCheck、前端检查、迁移及发布脚本测试。
This commit is contained in:
+43
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
usage() {
|
||||
cat <<'EOF'
|
||||
Usage:
|
||||
AI_GATEWAY_ACCEPTANCE_SNAPSHOT_DATABASE_URL='postgresql://...' \
|
||||
scripts/acceptance/export-production-snapshot.sh \
|
||||
--release-sha <full-sha> --output <snapshot.json>
|
||||
|
||||
This command is database read-only. The supplied role should have SELECT access
|
||||
only. It never prints the database URL or candidate credentials.
|
||||
EOF
|
||||
}
|
||||
|
||||
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
||||
repository_root=$(cd "$script_dir/../.." && pwd)
|
||||
|
||||
[[ ${1:-} == --release-sha && ${3:-} == --output && $# -eq 4 ]] || {
|
||||
usage >&2
|
||||
exit 64
|
||||
}
|
||||
release_sha=$2
|
||||
output=$4
|
||||
database_url=${AI_GATEWAY_ACCEPTANCE_SNAPSHOT_DATABASE_URL:-}
|
||||
|
||||
[[ $release_sha =~ ^[0-9a-f]{40}$ ]] || {
|
||||
echo 'release SHA must be a full lowercase Git SHA' >&2
|
||||
exit 64
|
||||
}
|
||||
[[ -n $database_url ]] || {
|
||||
echo 'AI_GATEWAY_ACCEPTANCE_SNAPSHOT_DATABASE_URL is required' >&2
|
||||
exit 64
|
||||
}
|
||||
umask 077
|
||||
(
|
||||
cd "$repository_root/apps/api"
|
||||
AI_GATEWAY_DATABASE_URL="$database_url" \
|
||||
go run ./cmd/acceptance-snapshot export \
|
||||
--release-sha "$release_sha" \
|
||||
--output "$output"
|
||||
)
|
||||
chmod 0600 "$output"
|
||||
Reference in New Issue
Block a user