Co-op Cloud "non-recipe" repos: design, software, docs, websites, etc. Recipes are here.
Goal
Simplify configurations of multiple worker nodes in a single server.
Ideal
- Networks consisting of a number of low-power nodes with unreliable connectivity, but providing reliable access to end users.
- Extendable networks, where an existing network can "plug-and-play" a new device to provide additional compute, storage, and/or reliability.
- Multiple entry points into a network, for end users and for operators.
- Tooling (abra and friends) which abstracts a network into a single virtual server.
- Compatibility with all stable recipes.
- QoS configuration: in the event of resource loss, certain apps should be prioritized over others.
- Control over storage locations of sensitive data
History
Coop Cloud's recipes and tooling were developed to support vertical infrastructure using a single VPS. This was sufficient for a time, because early member coops used single-VPS infrastructure. However, newer members have an interest in swarms distributed across multiple machines.
Motivation
As we strive to move digital infrastructure away from centralized providers to local communities, we may not want to rely on large data centers to provide us with stability and scaling. On the other hand, as small providers we may not be able to protect servers against power outages and interruptions in connectivity. Distributing each server across 2-3 locations may be a way to mitigate these issues.
Additionally, we may wish to offer resilience against disasters and malicious actors. This threat model assumes that any single machine may be taken offline, that geographically local communities may be cut off from data centers, and that certain sensitive data must be stored near the communities it affects. Taken together, these risks suggest that resilience-focused communities should build infrastructure consisting of multiple machines which can scale depending on availability and are mindful of privacy.