orgfs

orgfs

orgfs is a small tool that spreads files across the machines of a group as stripes (byte slices), keeps more than one copy of each stripe, and lets any machine put the pieces back together and check that nothing was altered on the way. The group, the stripes and the copies are all described by one plain-text Org file, the declaration, which every machine holds identically. Each machine works out its own part from that same file; no machine is in charge.

This site is built by orgfs from such a declaration. It shows the declaration, the plan it produces, and the licences of the free software the project itself relies on, so that you can see whose work is in use and on what terms.

The declaration

Spoke licensing, identity (sha256 of its normalized properties):

1df8d78c7e2b291b459ee275c505504e655e75ee2e1693eeabe98e23c319e013
Ring
GREAT
Stripes
5
Replicas
2
Visibility
public
Members of spoke licensing
MemberTransportRoot
gw12local/spokes/gw12/storage
gw14sshfs/spokes/gw14/storage
gw16sshfs/spokes/gw16/storage
gw34sshfs/spokes/gw34/storage

The declaration file itself, prose included: declaration.org.

The plan

For each stripe, every member scores sha256 of spoke|stripe|member; the 2 highest scores hold the stripe. Because the rule uses only the declaration, every machine computes the same table.

Which member holds which stripe
Stripe gw12gw14gw16gw34
1noholdsnoholds
2holdsnoholdsno
3noholdsholdsno
4noholdsnoholds
5holdsnonoholds