Go to file
Brian Picciano 93bdd3ebd4 Update host's config in bootstrap using daemon.yml prior to starting pmux
Previously if the `daemon.yml` of a host was changed it would first
start up, load that new daemon.yml in, persist the new configuration for
the host to garage using `update-garage-host`, pull that config back
down and persist it to the bootstrap in `runDaemonPmuxOnce`, and restart
all child processes so they get the new config.

Now, once `daemon.yml` is loaded in we immediately merge it into and
persist this host's bootstrap file, prior to ever starting child
processes. This removes the necessity of restarting those process at
start.

This change also allows the bootstrap file to be the sole repository of
information required to pick a garage node to connect to, since it is
presumably always as up-to-date as it can possibly be. This allows for
removing some more logic from `Env`.
2022-10-16 15:38:15 +02:00
AppDir Update nebula to v1.6.1 in go-workspace 2022-10-11 20:18:14 +02:00
dnsmasq First public commit 2022-07-04 15:18:55 -06:00
docs Upgrade garage to 0.8.0-rc1 (untested still) 2022-10-07 21:05:51 +02:00
garage Upgrade garage to 0.8.0-rc1 (untested still) 2022-10-07 21:05:51 +02:00
go-workspace Update host's config in bootstrap using daemon.yml prior to starting pmux 2022-10-16 15:38:15 +02:00
nix Upgrade nebula to 1.6.1 2022-10-07 15:46:35 +02:00
.gitignore First public commit 2022-07-04 15:18:55 -06:00
default.nix First public commit 2022-07-04 15:18:55 -06:00
README.md Streamline docs a bit 2022-10-07 14:38:39 +02:00

This project is currently in early-access deep-alpha testing phase. Do not rely on it for anything.


cryptic-net

The cryptic-net project provides the foundation for an autonomous community cloud infrastructure.

This project targets communities of individuals, where certain members of the community would like to host services and applications from servers running in their homes or offices. These servers can range from simple Raspberry Pis to full-sized home PCs.

The core components of cryptic-net, currently, are:

  • A VPN which enables direct peer-to-peer communication. Even if most hosts in the network are on a private LAN (e.g. their home WiFi network) or have a dynamic IP, they can still communicate directly with each other.

  • An S3-compatible network filesystem. Each participant can provide as much storage as they care to, if any. Stored data is sharded and replicated across all hosts that choose to provide storage.

These components are wrapped into a single binary, with all setup being automated. cryptic-net takes "just works" very seriously.

Participants are able to build upon these foundations to host services for themselves and others. They can be assured that their communications are private and their storage is reliable, all with zero administrative overhead and zero third parties involved.

Documentation

NOTE: There is currently only a single live cryptic-net which can be joined, though generalizing the bootstrap process so others can create their own network is planned. If you do not know the admins of this cryptic-net then unfortunately there's not much you can do right now.

cryptic-net users fall into different roles, depending on their level of involvement and expertise within their particular network. The documentation for cryptic-net is broken down by these categories, so that the reader can easily know which documents they need to care about.

User Docs

Users are participants who use cryptic-net resources, but do not provide any network or storage resources themselves. Users may be accessing the network from a laptop, and so are not expected to be online at any particular moment.

Documentation for users:

Operator Docs

Operators are participants who own a dedicated host which they can expect to be always-online (to the extent that's possible in a residential environment). Operator hosts will need at least one of the following to be useful:

  • A static public IP, or a dynamic public IP with dDNS set up.

  • At least 100GB of unused storage which can be reserved for the network.

Operators are expected to be familiar with server administration, and to not be afraid of a terminal.

Documentation for operators:

Admin Docs

Admins are participants who control membership within the network. They are likely operators as well.

Documentation for admins:

Dev Docs

Dev may or may not be participants in any particular cryptic-net. They instead are those who work on the actual code for cryptic-net.

Documentation for devs:

Misc

Besides documentation, there are a few other pages which might be useful: