feat: initial implementation of Datacat

- Add project structure with UV/hatch build system
- Implement config module (env vars + YAML file support)
- Implement collector module for pylitterbot integration
- Implement metrics module for Datadog submission
- Support LR3, LR4, and Feeder Robot metrics
- Add event emission for state changes
- Add CLI with --once mode for single collection
This commit is contained in:
Tanishq Dubey
2025-12-16 11:49:43 -05:00
commit 3b3f3df53c
13 changed files with 1296 additions and 0 deletions

20
.env.example Normal file
View File

@@ -0,0 +1,20 @@
# Datacat Environment Variables
# Copy this file to .env and update with your credentials
# Whisker/Litter Robot credentials
WHISKER_USERNAME=your-email@example.com
WHISKER_PASSWORD=your-password
# Datadog credentials
DATADOG_API_KEY=your-datadog-api-key
DATADOG_APP_KEY=your-datadog-app-key
DATADOG_SITE=datadoghq.com
# Collector settings
DATACAT_POLL_INTERVAL=120
DATACAT_INCLUDE_PETS=true
DATACAT_EMIT_EVENTS=true
DATACAT_METRIC_PREFIX=litterrobot
# Optional: Path to config file (if using YAML config instead of env vars)
# DATACAT_CONFIG_FILE=/path/to/config.yaml