Skip to content

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

SubfunctionCriterionValue
Download new ebuildsfrequency1 time/week
Compile ebuilds into binariesfrequency1 time/week
Run tasks autonomouslyhuman actionsat most 1
Archive multiple versionsnr. of versions3
Be compatible with PortageBinary formatGPKG
Be compatible with multiple PCs

Provide ISO images of a plug-and-play operating system

SubfunctionCriterionValue
Assemble binaries into an OSfrequency1 time/month
Run tasks autonomouslyhuman actionsat most 1
Store and version OS description

Expose a public mirror on the internet

SubfunctionCriterionValue
Be available at anytimetarget uptime28/30 days
Serve users simultaneouslynr. 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