Skip to content

Commit

Permalink
chore: update roadmap
Browse files Browse the repository at this point in the history
  • Loading branch information
amphineko committed Jan 21, 2024
1 parent 7062243 commit be15272
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 57 deletions.
1 change: 1 addition & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"customizations": {
"vscode": {
"extensions": [
"bierner.github-markdown-preview",
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode"
],
Expand Down
102 changes: 45 additions & 57 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,51 @@

- Restart by using the reload button on the top-right corner, to apply changes of your NAS clients/~~MPSKs~~/PKI

## Features & Roadmap

- Web Portal

- MPSK Authentication Dashboard
- CRUD: Name/Phy Address/PSK
- Export/Import
- PKI Dashboard
- CA/Server/Client Certificate Issue and Delete
- Client Certificate Export (PKCS#12 with trust chain)
- ~~PKCS#12 Export Password Input~~ (WIP:hourglass:)
- ~~Password-based Authentication Dashboard~~ (WIP:hourglass:)
- NAS Client Dashboard
- CRUD: Name/Allowed Subnet/Secret
- Export/Import
- Radiusd Dashboard
- Log Inspection
- Regenerate/Reload

- Supervisor (Backend Service and Radiusd Manager)

- API Server
- Client (NAS) CRUD/Bulk-Upsert
- MPSK CRUD/Bulk-Upsert
- PKI CA/Server/Client CRUD
- ~~Password-based User CRUD~~ (WIP:hourglass:)
- Radiusd [rlm_rest](https://github.com/FreeRADIUS/freeradius-server/blob/v3.0.x/raddb/mods-available/rest) Interface
- Radiusd Log/Status/Reload
- PKI
- Certificate Authority
- Self-Signed CA and Certificate Issue
- ~~Existing CA/Intermediate Importing~~ (WIP:hourglass:)
- CA/Server Deployment to Radiusd
- Client Certificate Export over API (PKCS#12 with trust chain)
- Radiusd
- Child Process Management
- Configuration Rendering
- Storage
- File/JSON-based Storage
- Clients, MPSKs
- PKI
- PostgreSQL-backed Storage
- Clients, MPSKs
- ~~PKI~~ (WIP:hourglass:)

## Project Structure

- `/common` - Shared Libraries: Serializers and Typings on [io-ts](https://github.com/gcanti/io-ts)
Expand All @@ -38,63 +83,6 @@
- `/app` - React pages with some shiny server components
- `/lib` - Shared libraries for all pages

## Roadmap

- Supervisor
- [ ] API Server
- [x] Client (NAS) CRUD
- [x] MPSK CRUD
- [ ] Password/Certificate-based User CRUD
- [x] PKI CRUD
- [x] Radiusd Log/Status
- [x] Radiusd Reload
- [ ] Configuration Generator/Renderer
- [x] Aruba/Cisco Multi Pre-Shared Key
- [ ] EAP-GTC/MSCHAPv2
- [x] EAP-TLS
- [ ] PKI
- [ ] Certificate Authority
- [x] Self-Signed CA
- [ ] Existing CA/intermediate import
- [x] Certificate Issue
- [x] CA/Server/Client CRUD
- [x] Deployment
- [x] Client Certificate Export (PKCS#12 with trust chain)
- [x] CA/Server/Client Deployment to Radiusd
- [ ] Radiusd
- [x] Child Process Management
- [ ] Storage
- [x] File/JSON-based Storage
- [ ] PostgreSQL-backed Storage
- Web Portal
- [ ] MPSK Authentication Dashboard
- [x] CRUD: Name/Phy Address/PSK
- [ ] Password/Certificate-based Authentication Dashboard
- [ ] PKI Dashboard
- [x] CA/Server/Client Certificate Issue and Delete
- [x] Client Certificate Export (PKCS#12 with trust chain)
- [ ] PKCS#12 Export Password Input
- [ ] NAS Client Dashboard
- [x] CRUD: Name/Allowed Subnet/Secret
- [x] Radiusd Dashboard
- [x] Log Inspection
- [x] Regenerate/Reload

## Backlogs

- Supervisor
- API Server
- [ ] Standardize API request/responses with mandatory typed responses
- [x] Return types should be strongly typed (e.g. /api/v1/clients should return `ListClientResponse` instead of `Record<Name, Client>`)
- [ ] Request types should be also strongly typed
- [x] Decorators on API methods to signal io-ts codecs for encoding (e.g. encoding `ReadonlyMap<>` into `Record<>` to accommodate `JSON.stringify`)
- Storage
- [ ] Move storage-related code from `@yonagi/common` to `@yonagi/supervisor`
- Web
- [x] Migrate away from Fluent UI to candidates:
- ~~Base UI~~
- **MUI** (migrated)

## Dependencies

- [fp-ts](https://github.com/gcanti/fp-ts/)/[io-ts](https://github.com/gcanti/io-ts/): Functional Programming and Type-Safe Serialization/Vaidation
Expand Down

0 comments on commit be15272

Please sign in to comment.