289 lines
7.2 KiB
Markdown
289 lines
7.2 KiB
Markdown
# AI Stack Deployer - Roadmap Summary
|
|
|
|
**Last Updated**: 2026-01-13
|
|
**Status**: Production-ready with active development
|
|
|
|
---
|
|
|
|
## ✅ Recently Completed (Last 4 Days)
|
|
|
|
### Jan 10-13, 2026
|
|
- ✅ Multi-language UI (NL, AR, EN) with RTL support
|
|
- ✅ React migration with WebGL design
|
|
- ✅ SSE deployment progress streaming
|
|
- ✅ Real-time name validation
|
|
- ✅ Docker build fix (hybrid Node.js/Bun strategy)
|
|
- ✅ Repository consolidation (3 repos → 1)
|
|
- ✅ Unified CI/CD pipeline
|
|
- ✅ Logging infrastructure (log-ingest → Loki → Grafana)
|
|
- ✅ AI Stack monitoring dashboard at logs.intra.flexinit.nl
|
|
|
|
---
|
|
|
|
## 🔥 Current Priority (HIGH)
|
|
|
|
### 1. Automated Cleanup System ⚠️ CRITICAL
|
|
**Problem**: Disk space exhaustion on Dokploy server (10.100.0.20) causes CI failures
|
|
|
|
**Target**: Keep 15GB+ free space (85% max usage)
|
|
|
|
**Components to Implement**:
|
|
```
|
|
[ ] CI workflow cleanup step
|
|
└─ Prune build cache after each build (keep 2GB)
|
|
└─ Remove images older than 24h
|
|
|
|
[ ] Server-side cron job
|
|
└─ Daily Docker system prune at 4 AM
|
|
└─ Remove volumes older than 72h
|
|
└─ Prune flexinit-runner builder cache (keep 5GB)
|
|
|
|
[ ] Disk monitoring
|
|
└─ Grafana alerts at 80% usage
|
|
└─ Slack/email notifications
|
|
|
|
[ ] Post-deployment cleanup
|
|
└─ Remove unused resources after stack deploy
|
|
```
|
|
|
|
**Implementation Files**:
|
|
- `.gitea/workflows/*.yaml` - Add cleanup steps
|
|
- `/etc/cron.d/docker-cleanup` on 10.100.0.20 - Cron job
|
|
- Grafana alert rules
|
|
|
|
**Current Disk Usage** (97GB total):
|
|
- Docker images: ~10GB
|
|
- Containers: ~1.5GB
|
|
- Volumes: ~30GB
|
|
- Build cache: Up to 6GB (needs pruning)
|
|
|
|
---
|
|
|
|
### 2. Web-based TUI Support 🚧 IN PROGRESS
|
|
**Goal**: Enable rich terminal UI apps (htop, lazygit, OpenCode TUI mode) in browser
|
|
|
|
**Completed** (Terminal Environment):
|
|
- ✅ TERM=xterm-256color
|
|
- ✅ COLORTERM=truecolor (24-bit color)
|
|
- ✅ ncurses-base and ncurses-term packages
|
|
- ✅ Locale configuration (en_US.UTF-8)
|
|
- ✅ Environment variables passed to stacks
|
|
|
|
**Remaining** (Direct Web Terminal):
|
|
```
|
|
[ ] Add ttyd to stack Docker image
|
|
[ ] Configure dual-port exposure:
|
|
├─ Port 8080 → OpenCode Web IDE
|
|
└─ Port 7681 → ttyd Raw Terminal
|
|
[ ] Update Traefik routing for terminal port
|
|
[ ] Test TUI applications:
|
|
├─ htop, btop (system monitoring)
|
|
├─ lazygit, lazydocker
|
|
├─ vim/neovim with full features
|
|
└─ OpenCode TUI mode
|
|
[ ] Document TUI capabilities for users
|
|
```
|
|
|
|
**Architecture**:
|
|
```
|
|
https://name.ai.flexinit.nl/ → OpenCode Web IDE
|
|
https://name.ai.flexinit.nl:7681/ → ttyd Raw Terminal
|
|
```
|
|
|
|
**Use Cases**:
|
|
- OpenCode TUI mode in browser
|
|
- Git TUIs (lazygit, tig)
|
|
- System monitoring (htop, btop)
|
|
- vim/neovim with full ncurses support
|
|
- Any ncurses-based application
|
|
|
|
---
|
|
|
|
## 📋 Next (Medium Priority)
|
|
|
|
### 3. User Authentication
|
|
```
|
|
[ ] Protect deployments with auth
|
|
[ ] User accounts and sessions
|
|
[ ] Stack ownership tracking
|
|
[ ] Permission management
|
|
```
|
|
|
|
### 4. Rate Limiting
|
|
```
|
|
[ ] Prevent deployment abuse
|
|
[ ] Per-user quotas
|
|
[ ] API rate limiting
|
|
[ ] DDoS protection
|
|
```
|
|
|
|
### 5. Stack Management UI
|
|
```
|
|
[ ] List user's stacks
|
|
[ ] Delete stack functionality
|
|
[ ] View stack status/health
|
|
[ ] Restart/redeploy actions
|
|
```
|
|
|
|
---
|
|
|
|
## 🔮 Later (Backlog)
|
|
|
|
### Testing & Quality
|
|
- [ ] Unit tests for validation logic
|
|
- [ ] Integration tests for deployment flow
|
|
- [ ] E2E tests for UI workflows
|
|
- [ ] Visual regression tests
|
|
- [ ] Load testing
|
|
|
|
### Features
|
|
- [ ] Resource limits configuration (CPU/memory)
|
|
- [ ] Custom domain support (bring your own domain)
|
|
- [ ] Image versioning (semantic versions + rollback)
|
|
- [ ] Auto-cleanup of abandoned stacks (inactive > 30 days)
|
|
- [ ] Multi-region deployment
|
|
- [ ] Stack templates (pre-configured environments)
|
|
|
|
### Internationalization
|
|
- [ ] Add French (fr) for Belgium market
|
|
- [ ] Add German (de) for DACH region
|
|
- [ ] Add Spanish (es) for global reach
|
|
- [ ] Extract translations to JSON files (optional)
|
|
- [ ] Translation management workflow
|
|
|
|
### Observability
|
|
- [ ] Usage analytics dashboard
|
|
- [ ] Billing integration
|
|
- [ ] Performance optimization tracking
|
|
- [ ] Security auditing
|
|
- [ ] User behavior insights
|
|
|
|
---
|
|
|
|
## 📊 Key Metrics to Track
|
|
|
|
### Deployment Success Rate
|
|
- **Target**: > 95%
|
|
- **Current**: Not tracked
|
|
|
|
### Disk Space Usage
|
|
- **Target**: < 85% (15GB+ free)
|
|
- **Current**: ~82% (17GB free)
|
|
- **Alert**: 80%
|
|
|
|
### CI/CD Pipeline
|
|
- **Target**: < 5 min build time
|
|
- **Current**: ~3-4 min
|
|
- **Bottleneck**: Docker build cache
|
|
|
|
### Stack Uptime
|
|
- **Target**: > 99%
|
|
- **Current**: Monitored via Grafana
|
|
|
|
---
|
|
|
|
## 🛠️ Technical Debt
|
|
|
|
### High Priority
|
|
1. ⚠️ **Clean up deprecated files**
|
|
- `src/frontend/` (legacy vanilla JS UI)
|
|
- Old `app.js` with inline i18n (replaced by React)
|
|
- Outdated documentation references
|
|
|
|
2. ⚠️ **Add automated tests**
|
|
- No unit tests for validation logic
|
|
- No integration tests for deployment flow
|
|
- No i18n tests
|
|
|
|
### Medium Priority
|
|
3. **Improve error handling**
|
|
- Better error messages for API failures
|
|
- Retry logic for transient failures
|
|
- Rollback on partial deployment failures
|
|
|
|
4. **Refactor deployment orchestrator**
|
|
- Split into smaller, testable functions
|
|
- Add progress callback abstraction
|
|
- Improve state management
|
|
|
|
---
|
|
|
|
## 🚀 Recent Achievements Timeline
|
|
|
|
| Date | Achievement | Impact |
|
|
|------|-------------|--------|
|
|
| 2026-01-13 | Multilingual deployment progress | Backend sends localized SSE events |
|
|
| 2026-01-13 | WebGL background effect fix | Clearer, more visible animation |
|
|
| 2026-01-13 | Docker Compose variable fix | Deployment works correctly |
|
|
| 2026-01-13 | TUI environment variables | Stacks support rich terminal UIs |
|
|
| 2026-01-10 | Dutch SEO metadata | Better search visibility |
|
|
| 2026-01-10 | React migration complete | Modern UI with 87KB gzipped bundle |
|
|
| 2026-01-10 | Multi-language UI | EN/NL/AR with RTL support |
|
|
|
|
---
|
|
|
|
## 📈 Growth Roadmap
|
|
|
|
### Phase 1: Stability (Current)
|
|
- ✅ Core deployment working
|
|
- ✅ Multi-language support
|
|
- 🚧 Automated cleanup
|
|
- 🚧 TUI support
|
|
|
|
### Phase 2: Scale (Q1 2026)
|
|
- Authentication & authorization
|
|
- Rate limiting
|
|
- Stack management UI
|
|
- Monitoring & alerting
|
|
|
|
### Phase 3: Features (Q2 2026)
|
|
- Custom domains
|
|
- Resource limits
|
|
- Stack templates
|
|
- Auto-cleanup
|
|
|
|
### Phase 4: Enterprise (Q3 2026)
|
|
- Multi-region deployment
|
|
- Team collaboration
|
|
- Billing integration
|
|
- Advanced analytics
|
|
|
|
---
|
|
|
|
## 🎯 Success Criteria
|
|
|
|
### For "Automated Cleanup System"
|
|
✅ Complete when:
|
|
- CI builds never fail due to disk space
|
|
- Disk usage stays below 80%
|
|
- Automated alerts working
|
|
- Documentation updated
|
|
|
|
### For "Web-based TUI Support"
|
|
✅ Complete when:
|
|
- htop renders correctly in browser
|
|
- lazygit works fully functional
|
|
- OpenCode TUI mode accessible
|
|
- User documentation published
|
|
- No performance degradation
|
|
|
|
---
|
|
|
|
## 📞 Contact & Contribution
|
|
|
|
**Owner**: Oussama Douhou
|
|
**Repository**: flexinit/agent-stack
|
|
**Monitoring**: https://logs.intra.flexinit.nl/d/ai-stack-overview
|
|
**CI/CD**: https://git.app.flexinit.nl/flexinit/agent-stack/actions
|
|
|
|
**Want to Contribute?**
|
|
1. Check open items in roadmap
|
|
2. Consult AGENTS.md for implementation guidelines
|
|
3. Read CLAUDE.md for architecture
|
|
4. Submit PR to dev branch
|
|
|
|
---
|
|
|
|
**Generated**: 2026-01-13 21:20 CET
|
|
**Sources**: ROADMAP.md, git history, test results, documentation
|