Documentation Updates: - Updated project specification with hkia naming and paths - Modified all markdown documentation files (12 files updated) - Changed service names from hvac-content-* to hkia-content-* - Updated NAS paths from /mnt/nas/hvacknowitall to /mnt/nas/hkia - Replaced all instances of "HVAC Know It All" with "HKIA" Files Updated: - README.md - Updated service names and commands - CLAUDE.md - Updated environment variables and paths - DEPLOY.md - Updated deployment instructions - docs/project_specification.md - Updated naming convention specs - docs/status.md - Updated project status with new naming - docs/final_status.md - Updated completion status - docs/deployment_strategy.md - Updated deployment paths - docs/DEPLOYMENT_CHECKLIST.md - Updated checklist items - docs/PRODUCTION_TODO.md - Updated production tasks - BACKLOG_STATUS.md - Updated backlog references - UPDATED_CAPTURE_STATUS.md - Updated capture status - FINAL_TALLY_REPORT.md - Updated tally report Notes: - Repository name remains hvacknowitall-content (unchanged) - Project directory remains hvac-kia-content (unchanged) - All user-facing outputs now use clean "hkia" naming 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
3.4 KiB
3.4 KiB
HKIA - Deployment Strategy
Summary
After thorough testing and implementation, the content aggregation system has been successfully built with 6 scrapers. However, deployment strategy has been revised due to technical constraints with TikTok scraping requirements.
Source Status
✅ Working Sources (5/6)
- WordPress Blog: REST API - ✅ Working
- MailChimp RSS: RSS Feed - ✅ Working
- Podcast RSS: Libsyn Feed - ✅ Working
- YouTube: yt-dlp - ✅ Working
- Instagram: instaloader with session persistence - ✅ Working
⚠️ TikTok Constraints
- TikTok: Requires headed browser with DISPLAY=:0 for bot detection avoidance
- Cannot be containerized due to GUI browser requirement
- Not suitable for Kubernetes deployment
Deployment Decision
Original Plan: Kubernetes Container
- ❌ Not viable due to TikTok headed browser requirement
- ❌ Running GUI applications in containers adds significant complexity
- ❌ Display forwarding in Kubernetes is not practical for production
Revised Plan: Direct System Service
Deploy as systemd service on control plane node:
- Installation Location:
/opt/hvac-kia-content/ - Service Management: systemd units for scheduling
- Environment: Direct execution on control plane with DISPLAY access
- Scheduling: cron-like scheduling via systemd timers
Benefits of Direct Deployment
✅ Advantages
- Simple deployment - no container complexity
- Full system access - DISPLAY, browsers, sessions
- Reliable TikTok scraping - headed browser support
- Easy maintenance - direct file access and logging
- Resource efficiency - no container overhead
⚠️ Considerations
- Host dependency - requires control plane node
- Manual updates - no container image versioning
- Environment coupling - tied to specific system
Implementation Plan
Phase 1: Service Setup
- Install Python environment at
/opt/hvac-kia-content/ - Configure environment variables and credentials
- Set up logging directory with rotation
- Create systemd service unit
Phase 2: Scheduling
- Create systemd timer units for 8AM and 12PM ADT
- Configure NAS sync via rsync
- Set up monitoring and alerting
Phase 3: Monitoring
- Log rotation and archival
- Health checks and status reporting
- Error notification system
File Structure
/opt/hvac-kia-content/
├── src/ # Source code
├── logs/ # Application logs
├── data/ # Scraped content and state
├── .env # Environment configuration
├── requirements.txt # Python dependencies
└── systemd/ # Service configuration
├── hkia-scraper.service
├── hkia-scraper-morning.timer
└── hkia-scraper-afternoon.timer
NAS Integration
Sync to: /mnt/nas/hkia/
- Markdown files with timestamped archives
- Organized by source and date
- Incremental sync to minimize bandwidth
Conclusion
While the original containerized approach is not viable due to TikTok's GUI requirements, the direct deployment approach provides a robust and maintainable solution for the HKIA content aggregation system.
The system successfully aggregates content from 5 major sources with the option to include TikTok when needed, providing comprehensive coverage of the HKIA brand across digital platforms.