- 50 命令:patrol/health/board/recall/poke/who/inbox/mind/message/team 等 - 异步并行 SSH (asyncio subprocess) - 命令注册表 + @command decorator + 插件扩展架构 - 环境检测 (Mac/VM/agent 身份) - JSON 输出契约 (stdout=成功, stderr=错误 code) - 权限模型 (agent 身份检测 + 环境限制) - pytest 23/23 通过 - deploy-joy.sh 全集群 16 VM 部署脚本 (含 PEP 668 兼容) - 旧 bash 版归档到 archive/commands.bash/ Closes: joy CLI 2.0 迁移
25 lines
1.1 KiB
Bash
25 lines
1.1 KiB
Bash
# devops 领域检查 — NATS / 磁盘 / 备份
|
|
domain_check() {
|
|
local issues=()
|
|
# NATS stream health
|
|
if command -v nats >/dev/null 2>&1; then
|
|
local msgs
|
|
msgs=$(nats stream info vm-messages 2>/dev/null | grep Messages | head -1 | grep -o '[0-9,]\+' | head -1 | tr -d ',')
|
|
[[ -n "$msgs" ]] && (( msgs > 45000 )) && issues+=("NATS stream near limit: ${msgs}/50000")
|
|
fi
|
|
# Disk on devops
|
|
local disk
|
|
disk=$(ssh -o ConnectTimeout=3 devops "df -h / | tail -1" 2>/dev/null | awk '{print $5}' | tr -d '%')
|
|
[[ -n "$disk" ]] && (( disk > 85 )) && issues+=("devops disk ${disk}%")
|
|
# Konqi outbox backlog
|
|
local backlog
|
|
backlog=$(find ~/office/konqi/outbox -maxdepth 1 -name "*.json" -type f 2>/dev/null | wc -l | tr -d ' ')
|
|
(( backlog > 5 )) && issues+=("konqi outbox backlog: ${backlog}")
|
|
|
|
[[ ${#issues[@]} -eq 0 ]] && echo '{"status":"ok","domain":"devops"}'
|
|
jq -nc '{status:"issues",domain:"devops",issues:$ARGS.positional}' --args "${issues[@]:-}"
|
|
}
|
|
|
|
domain_summary() {
|
|
echo "NATS 集群健康,磁盘正常"
|
|
}
|