You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.1 KiB
1.1 KiB
FRMS
ForeLight Reactor Management System
Time to get to business
Main design principles
- Flexible
- Reliable
- Scalable
Those principles guide our design choices
Flexible
- System should support any reactor config
- should be able to change sub packages in isolation
- portability of packages i.e. can swap databases or sub in testing packages for memory based storage
Reliable
- should support any # of reactors failing (including network related failures)
- should provide log and database correctness via atomic commits
- automatic log recovery and reactor functioning despite sub-system or network failures
- 100% uptime and seamless updates **goal**
Scalable
- Add and use sensor packages at will
- Group reactors logically regardless of physical location
- Scale infrastructure to efficiently support any # of reactors
TODO
- Convert reactor architecture to Rust
- build I2C rust interface
- connect to base gRPC via rust
- automate builds
- fix docker automation
- Add a test suite for both go and rust implementations