운영자 대시보드
본 섹션은 운영자 (
[email protected]) 전용. Microsoft Entra ID 로그인 게이트 (예정). 정보가 customer 별 운영 디테일 포함.
매일 (자동, 점검만)
| 항목 | 자동화 | 점검 방법 |
|---|---|---|
| 03:00 KST local backup | com.axe.backup.local | restic snapshots 직접 |
| 03:30 KST ring push (axe → realchoice) | com.axe.ring.push | axe ring status |
| 매시 frame integrity check | com.frame.integrity-check | ssh axe-macmini "docker exec frame-mcp-blue python -m frame.cli integrity-check --entity axec" |
| 매시 cron jobs (stream/magnet) | supercronic | 각 service 로그 |
매일 운영자가 받는 Slack 보고 (또는 메일):
- 어제 backup 성공/실패
- frame integrity 결과 (모든 entity 정상이면 1줄 OK)
- stream/magnet alert 합계
매주
- 직원 활동 audit (frame
audit_log× 모든 entity) - secret 만료 임박 항목 (30일 이내)
- Cloudflare tunnel uptime
- macmini 디스크 사용량 (모든 customer)
매월
- 직원 권한 review (
customers.yaml > user_entity_map) - backup 크기 변화
- Vaultwarden organization 멤버 변동
- 회계 사무소 export 송부
분기
- Restore drill (
com.axe.restore-drill, Jan/Apr/Jul/Oct 15) - DECISIONS 회고 (변경 필요?)
- 비용 review (Cloudflare, Microsoft, Anthropic)
- Cold SSD rotation
주요 도구
| CLI | 용도 |
|---|---|
axe customers list/add/show | customer 목록 |
axe health <target> | 인프라 health probe (positional, target 기본값 all) |
axe deploy <service> <customer> --apply | blue/green deploy |
axe ring push/sync/status/init | ring backup (Phase 5) |
axe cold init/sync/status | cold SSD backup |
axe console rebuild/data/restart/sso/token | admin.axelabs.ai 콘솔 갱신 |
axe secret get/list/status | Vault 직접 호출 (단건) |
axe secret check/pull/push/rotate <svc> | 매니페스트 기반 일괄 (architecture/secrets, D-ops-17) |
axe phase | 현재 rollout phase |
axe onboard <customer> --apply | 신규 customer bootstrap (18-step) |
axe restore --customer X --from Y --as-of Z | restic 복원 — Phase 5 stub, 현재 restic 직접 호출 사용 (known-gaps) |
axe docs-check [--since <ref>] | 코드 ↔ axelabs-docs drift 감지 (release flow) |
axe ship [<service>] | release-gate: docs-check + push + deploy. git push origin main 대신 사용 (release flow) |
자동 일일 backup = com.axe.backup.local launchd (매일 03:00 KST). 수동 시도는 restic backup 직접.
외부 콘솔
| 콘솔 | 용도 |
|---|---|
https://admin.axelabs.ai | 운영자 web 콘솔 (Microsoft SSO) |
https://axe.axelabs.ai/vault | Vaultwarden (master password) |
| Azure portal | Entra ID app 관리 |
| Cloudflare dashboard | DNS, tunnel, Universal SSL |
핵심 파일
| 파일 | 역할 |
|---|---|
/Users/axe/.axe/customers.yaml | SSOT — customer registry |
/Users/axe/.axe/bin/axe | CLI |
/Users/axe/CLAUDE.md | 포트 할당, launchd 서비스 목록 |
/Users/axe/multi-tenant-platform-plan.md | 마스터 플랜 + D 결정 |
/Users/axe/frame/DECISIONS.md | D-ops-1~15 |
/Users/axe/.axe/state.yaml | 현재 rollout phase, 다음 세션 컨텍스트 |
/Users/axe/.axe/tunnels/axelabs/config.yml | cloudflared ingress |
/Users/axe/.axe/vault/docker-compose.yml | Vaultwarden |
다음 세션 시작 시
cat /Users/axe/.axe/state.yaml— 현재 phase 확인cat /Users/axe/.axe/NEXT_SESSION.md— 마지막 세션의 다음 작업- 운영자 콘솔 (
https://admin.axelabs.ai) 의 dashboard 확인 - 미해결 알람 (어제 backup 실패 등) 처리
비상
| 사건 | 즉시 대응 |
|---|---|
| frame DB 손상 | Runbook · DB 복구 |
| cloudflared 죽음 | docker start axelabs-tunnel |
| Vaultwarden 죽음 | Runbook · Vaultwarden recovery |
| customer macmini 도난/화재 | Runbook · macmini 손실 |
| secret 노출 의심 | Runbook · secret rotation |
다음
Last updated on