Skip to content

Latest commit

 

History

History
71 lines (52 loc) · 2.02 KB

ROADMAP.md

File metadata and controls

71 lines (52 loc) · 2.02 KB

Roadmap

This document provides a high-level roadmap for Digitox development.

CI/CD

  • 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 Server

  • API: Create API server
  • API: Create session routes
  • API: Create block list routes
  • API: Create device routes

Session

  • 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

  • Blocklist: Handle list blocklists
  • Blocklist: Handle find blocklist
  • Blocklist: Handle remove blocklist
  • Blocklist: Handle save blocklist
  • Blocklist: Validate model before persisting

Proxy

  • 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

Devices

  • Device: Handle list devices
  • Device: Handle find device
  • Device: Handle remove device
  • Device: Handle save device
  • Device: Validate model before persisting

Authorization

  • Auth: Restrict access using auth token

Misc

  • 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

Someday Maybe

  • Security: Generate OAuth credentials if not provided (no default)
  • Security: Generate RSA key pair if not provided (no default)