This document provides a high-level roadmap for Digitox development.
- CI/CD: Build API server docker image
- CI/CD: Run proxy and API server containers with shared data store
- CI/CD: Create deployment pipeline using Kubernetes
- CI/CD: Run unit tests during CI build
- API: Create API server
- API: Create session routes
- API: Create block list routes
- API: Create device routes
- Session: Handle list sessions
- Session: Handle find session
- Session: Handle remove session
- Session: Handle save session
- Session: Validate model before persisting
- Session: Validate blocklists exist before persisting
- Blocklist: Handle list blocklists
- Blocklist: Handle find blocklist
- Blocklist: Handle remove blocklist
- Blocklist: Handle save blocklist
- Blocklist: Validate model before persisting
- Proxy: Start session by copying active session blocklists to /etc/squid/blocklist
- Proxy: End session by removing /etc/squid/blocklist
- Proxy: Restart proxy after blocklist update
- Proxy: Restart proxy immediately after session or blocklist change
- Proxy: Restrict proxy access to devices
- Device: Handle list devices
- Device: Handle find device
- Device: Handle remove device
- Device: Handle save device
- Device: Validate model before persisting
- Auth: Restrict access using auth token
- Misc: Rename project to Digitox
- Misc: Combine Squid and API server containers
- Misc: Create digitoxctl CLI
- Misc: Switch to Ginkgo for testing
- Misc: Generate OpenAPI spec for API
- Misc: Use SQLite as data store
- Misc: Update README with Docker instructions
- Misc: Update API documentation
- Misc: Update security documentation
- Security: Generate OAuth credentials if not provided (no default)
- Security: Generate RSA key pair if not provided (no default)