hvac-kia-content/docs/deployment_strategy.md
Ben Reed 7e5377e7b1 docs: Update all documentation to use hkia naming convention
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>
2025-08-19 13:40:27 -03:00

95 lines
No EOL
3.4 KiB
Markdown

# 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:**
1. **Installation Location**: `/opt/hvac-kia-content/`
2. **Service Management**: systemd units for scheduling
3. **Environment**: Direct execution on control plane with DISPLAY access
4. **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
1. Install Python environment at `/opt/hvac-kia-content/`
2. Configure environment variables and credentials
3. Set up logging directory with rotation
4. Create systemd service unit
### Phase 2: Scheduling
1. Create systemd timer units for 8AM and 12PM ADT
2. Configure NAS sync via rsync
3. Set up monitoring and alerting
### Phase 3: Monitoring
1. Log rotation and archival
2. Health checks and status reporting
3. 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.