mirror of
https://github.com/Sea-Haven-Industries/afi-backup-monitor.git
synced 2026-09-30 07:13:11 +00:00
1.8 KiB
1.8 KiB
Afi Backup Monitor
AWS SAM stack with two Lambda functions that integrate the Afi.ai backup API with Slack.
Functions
afi-auto-protect — Runs weekly. Compares tenant resources against active protections and automatically applies the configured backup policy to any unprotected users. Posts a summary to Slack.
afi-health-digest — Runs weekly. Pulls task statistics (last 7 days), storage quotas, and resource coverage, then posts a formatted digest to Slack.
Architecture
- Runtime: Python 3.12 (arm64)
- Shared Layer: Afi API client + Slack webhook helper
- Secrets: Afi API key stored in AWS Secrets Manager
- Scheduling: EventBridge cron rules (default: Mondays 10am ET)
Documentation
The canonical map of Sea Haven's AWS infrastructure lives in Confluence. This project's afi-backup-monitor stack is represented there as a Mermaid subgraph.
- AWS Architecture Map (Confluence, IT space, page 1540098)
Setup
-
Store the Afi API key in Secrets Manager:
aws secretsmanager create-secret --name afi-api-key --secret-string "appkey-YOUR_KEY" -
Update
samconfig.tomlwith your Secret ARN, Tenant ID, and Policy ID. -
Build and deploy:
sam build && sam deploy
Manual Testing
aws lambda invoke --function-name afi-auto-protect --payload '{}' /dev/stdout
aws lambda invoke --function-name afi-health-digest --payload '{}' /dev/stdout