결과
keeper-direct 전용 Telegram DevOps 알림을 구축했습니다.
- 전용 Telegram 그룹:
keeper-direct-devops - 기존 OpenClaw 채널 env: 비활성화 (
telegram.openclaw-disabled.env) - 활성 keeper env:
/home/tlswk/.config/keeper-ops/telegram.env(repo 밖, 600 권한) - access audit timer:
keeper-access-audit.timer, every 1 min - 기존 ops timers: smoke/deep/report 모두 active 유지
검증
- Telegram test send: passed
- READ:
/diagnose->READ GET 200, Telegram delivered - CREATE/ACTION:
/api/keeper-out/admin/authPOST check ->CREATE/ACTION POST 200, Telegram delivered - ERROR: missing lead ->
ERROR GET 404, Telegram delivered - ops all check:
8 pass / 0 warn / 0 fail
상세 상태 문서
Keeper Ops Automation Status (2026-05-08)
Machine: Vhagar /
kontologyProject:keeper-directProduction:https://www.keeper-direct.ceo
BLUF
Keeper outbound operations now have an active local automation loop on Vhagar.
- Smoke checks run every 5 minutes.
- Deep Vercel/Supabase checks run every 15 minutes.
- Access/CRUD/error audit runs every 1 minute and sends Telegram alerts to the dedicated
keeper-direct-devopschat. - Daily AI Comms report runs around 23:10 KST.
- First live
allcheck passed with8 pass / 0 warn / 0 fail.
Installed Files
/home/tlswk/projects/vhagar/scripts/ops/keeper_ops_check.sh
/home/tlswk/projects/vhagar/scripts/ops/keeper_ops_report.sh
/home/tlswk/projects/vhagar/scripts/ops/keeper_access_audit.sh
/home/tlswk/projects/vhagar/scripts/ops/keeper_telegram_notify.sh
/home/tlswk/projects/vhagar/scripts/ops/keeper_telegram_pair_chat.sh
/home/tlswk/projects/vhagar/scripts/ops/systemd/keeper-access-audit.service
/home/tlswk/projects/vhagar/scripts/ops/systemd/keeper-access-audit.timer
/home/tlswk/projects/vhagar/scripts/ops/systemd/keeper-ops-smoke.service
/home/tlswk/projects/vhagar/scripts/ops/systemd/keeper-ops-smoke.timer
/home/tlswk/projects/vhagar/scripts/ops/systemd/keeper-ops-deep.service
/home/tlswk/projects/vhagar/scripts/ops/systemd/keeper-ops-deep.timer
/home/tlswk/projects/vhagar/scripts/ops/systemd/keeper-ops-report.service
/home/tlswk/projects/vhagar/scripts/ops/systemd/keeper-ops-report.timer
State and logs:
/home/tlswk/.local/state/keeper-ops/
/home/tlswk/.local/state/keeper-ops/logs/checks-YYYYMMDD.jsonl
/home/tlswk/.local/state/keeper-ops/logs/access-YYYYMMDD.jsonl
/home/tlswk/.local/state/keeper-ops/last-summary.json
/home/tlswk/.config/keeper-ops/telegram.env
Enabled Timers
| Timer | Schedule | Purpose |
|---|---|---|
keeper-access-audit.timer |
every 1 min | Vercel access, CRUD-like method, and error Telegram audit |
keeper-ops-smoke.timer |
every 5 min | page, git, AI Comms checks |
keeper-ops-deep.timer |
every 15 min | Vercel and Supabase checks |
keeper-ops-report.timer |
daily 23:10 KST plus jitter | AI Comms daily report |
Verification
Completed on 2026-05-08 KST:
| Check | Result |
|---|---|
| shell syntax | passed |
| systemd unit verify | passed |
| smoke dry-run | 5 pass / 0 warn / 0 fail |
| deep dry-run | 3 pass / 0 warn / 0 fail after Vercel project option fix |
| live all check | 8 pass / 0 warn / 0 fail |
| systemd smoke service | status=0/SUCCESS |
| systemd deep service | status=0/SUCCESS |
| daily report publish | msg_20260508_28fe68ec |
| final bridge publish | msg_20260508_4649c6bc |
| dedicated Telegram chat | paired to keeper-direct-devops; token/chat id stored outside repo |
| Telegram test send | passed, message delivered to dedicated chat |
| access audit READ test | /diagnose produced READ GET 200 and Telegram notification |
| access audit CRUD/action test | /api/keeper-out/admin/auth produced CREATE/ACTION POST 200 and Telegram notification |
| access audit error test | missing lead produced ERROR GET 404 and Telegram notification |
Published web:
https://ai.shinjadong.cloud/2026-05-08-cx-vhagar-keeper-ops-자동화-구축-완료.htmlhttps://ai.shinjadong.cloud/export/msg_20260508_4649c6bc.md
Alert Policy
keeper_ops_check.sh posts to AI Comms when:
- a check fails for the first time,
- a check remains failed past the cooldown window,
- a failed check recovers.
It does not auto-remediate, merge, deploy, delete data, or change secrets.
keeper_access_audit.sh posts Telegram notifications for production Vercel request logs matching:
/keeper-out*/diagnose*/agent*/api/keeper-out*/api/diagnose*/api/place*/api/agent*- any matching HTTP status
>=400or Vercelerror/fatallevel
Classification:
GET,HEAD,OPTIONS->READPOST->CREATE/ACTIONPUT,PATCH->UPDATEDELETE->DELETE- HTTP
>=400or Vercelerror/fatal->ERROR
Current Caveats
/home/tlswk/projects/keeper-direct/next.config.tsis a known dirty file and is intentionally left untouched.- Existing unrelated user systemd failures remain outside this setup:
cb-daglo,cb-gemini,cf-upload-notebooklm,phase4-verify. - Vercel CLI auth was initialized during verification; no token contents were printed or committed.
- The first accidental Telegram test went to the existing OpenClaw channel; that env was renamed to
telegram.openclaw-disabled.envand active notifications now use the dedicated keeper-direct chat only.