hardware-on-demand
Version:
72 lines (51 loc) • 2.12 kB
Markdown
# Implementation
HoD can exist in a number of separate implementations for hardware, including flashing SD cards, programming eMMC as well as other options for fulfilment and distribution.
## SD Cards
The first (and most simple) implementation of HoD is the ordering, preparation and fulfilment of SD cards.
### Workflow
The following workflow describes the current process of a customer placing an order for SD cards provisioned with their specified OS image.
```mermaid
flowchart TB
subgraph SD Card Workflow
direction TB
subgraph Web Shop
a1[order placed]--"order(1-5)"-->a2[payment accepted]
end
subgraph Warehouse
a2--"order(1,2,3,5,6)"-->b2{is n in stock?}
b2 -- no --> b4[order hardware] -->b3[hardware received]--> b2
end
subgraph Preload Server
a2--"order(4)"-->c2
c2{is balena fleet?}-- yes --> c1{have fleet access?}-- yes --> c3[set OS version and release] --> c4[preload OS image] --> c6
c1 -- no --> c7[request access] --> c1
c2-- no --> c5[download file] --> c6
c6[preloaded image]
end
subgraph EtcherPro
c6 --> d2
b2 -- yes --> d1[send to operator] ---> d2
d2[flash] --> d3[validate] --> d4{completed order?}
d4 -- no --> d2
end
subgraph Distribution
d4 -- yes --> d5[assemble order]
d5 --"order(5)"--> d6[deliver to customer]
end
end
```
An order is composed of the following options:
1. SD Card Type (SanDisk Ultra microSD, etc.)
2. SD Card Size (8GB, 16GB, etc.)
3. Quantity of SD Cards
4. Image file (url to customer's image or balena `org/fleet`)
- {optional} If it is a balena image, specify OS version and/or pinned application release
5. Delivery address(es)
6. {optional} SD Card branding, e.g. stickers on cases
#### Web Shop
#### Warehouse
#### Preload Server
#### EtcherPro
#### Distribution
## balenaFin
TBD