| 6 |
6 |
|
|
| 7 |
7 |
|
## Thesis
|
| 8 |
8 |
|
|
| 9 |
|
- |
The machine is disposable. The state is not. What survives a reinstall or a hardware upgrade should not depend on the user remembering to copy files, re-establish keys, or reconfigure a mesh. Alloy ships the two adopted tools that make that true (network identity and file synchronization) as base-image citizens, gated behind an explicit enrollment gesture and controlled through the Alloy Console.
|
|
9 |
+ |
The machine is disposable. The state is not. What survives a reinstall or a hardware upgrade should not depend on the user remembering to copy files, re-establish keys, or reconfigure a mesh. Alloy ships the two adopted tools that make that true (a private network and file synchronization) as base-image citizens, gated behind an explicit enrollment gesture and controlled through the Alloy Console.
|
| 10 |
10 |
|
|
| 11 |
11 |
|
Everything in this document is a curated adoption of existing tools. Alloy authors nothing in this space. The Alloy contribution is: the tools are present at first boot, they enroll in one screen, and they are controlled through the same design-system surface as everything else.
|
| 12 |
12 |
|
|
| 44 |
44 |
|
| first boot |
|
| 45 |
45 |
|
| two enrollments make this machine rejoinable. both are optional. |
|
| 46 |
46 |
|
| |
|
| 47 |
|
- |
| > network identity not enrolled reach your other machines from anywhere |
|
|
47 |
+ |
| > private network not enrolled reach your other machines from anywhere |
|
| 48 |
48 |
|
| file sync not enrolled your files follow you onto this machine |
|
| 49 |
49 |
|
| |
|
| 50 |
50 |
|
| q when you are done. skipping is fine: alloy mesh and alloy sync enroll later.|
|
| 95 |
95 |
|
|
| 96 |
96 |
|
**Shipped in the base image. No default policy.** Alloy provides the tool; the user provides the folders, schedule, retention, and destination. Sync (Tailscale, Syncthing) has defensible defaults because enroll-and-it-works is the whole model; backup does not: "where do you back up to" is answerable only per-user.
|
| 97 |
97 |
|
|
| 98 |
|
- |
The forcing observation: when a user's laptop dies, they have their sync mesh (Syncthing pulled files back) and their network identity (Tailscale re-enrolls). What they don't have without configuring restic is *point-in-time recovery*, the "I deleted this file three weeks ago and just noticed" case that only versioned backup solves.
|
|
98 |
+ |
The forcing observation: when a user's laptop dies, they have their sync mesh (Syncthing pulled files back) and their private network (Tailscale re-enrolls). What they don't have without configuring restic is *point-in-time recovery*, the "I deleted this file three weeks ago and just noticed" case that only versioned backup solves.
|
| 99 |
99 |
|
|
| 100 |
100 |
|
**rustic, and why not yet.** rustic is a Rust reimplementation of restic that reads and writes the same repository format, which makes it the one place in the image where a competitive Rust option exists against an adopted Go tool. Principle 1 says that comparison gets made rather than skipped. Three things decide it for restic today, and none of them are about the code:
|
| 101 |
101 |
|
|