Functional Requirements
In this document, you can find a list of functions and constraints regarding
RadishOS and RadishFactory.
Usually I write this information in a spreadsheet with at least four colums:
“Function”, “Subfunction”, “Criterion”, and “Level”.
This method ensures that all functions are linked to a measurable value one can
rely upon to guide them in their choice of solutions, as well as to help write
tests and validate the product later on.
Below, all 4th-level headings correspond to the “Function” column.
Files available for download
Interactors
mindmap
((RadishFactory))
(RadishOS)
(Network/Internet)
(Gentoo/Guru ebuilds)
(Binary packages)
(Admin User)
(Threats)
(LDAP)
(Installation Media)
Functions
Provide binary packages for a Gentoo-based system
| Subfunction | Criterion | Value |
|---|---|---|
| Download new ebuilds | frequency | 1 time/week |
| Compile ebuilds into binaries | frequency | 1 time/week |
| Run tasks autonomously | human actions | at most 1 |
| Archive multiple versions | nr. of versions | 3 |
| Be compatible with Portage | Binary format | GPKG |
| Be compatible with multiple PCs |
Provide ISO images of a plug-and-play operating system
| Subfunction | Criterion | Value |
|---|---|---|
| Assemble binaries into an OS | frequency | 1 time/month |
| Run tasks autonomously | human actions | at most 1 |
| Store and version OS description |
Expose a public mirror on the internet
| Subfunction | Criterion | Value |
|---|---|---|
| Be available at anytime | target uptime | 28/30 days |
| Serve users simultaneously | nr. of users | < 10 |
Be secure by design
| Requirement |
|---|
| Use network segmentation |
| Use modern protocols (TLS) |
| Filter network traffic |
| Authenticate admins and devs |
| Hide critical services |
| Minimize public exposure |
| Anticipate data losses |
Minimize energy consumption
| Subfunction |
|---|
| Turn off inactive components |
| Throttle CPUs automatically if needed |
Last updated on