48 lines
1.3 KiB
Markdown
48 lines
1.3 KiB
Markdown
# InfraNet
|
|
|
|
Distributed & E2EE self-hosting
|
|
|
|
## Goals
|
|
|
|
* End-to-end encrypted
|
|
|
|
E2EE is a requirement for privacy.
|
|
|
|
* Collabrative
|
|
|
|
Members of the network are expected to cooperate to the best of their abilities, whether it's technical, financial or resources.
|
|
|
|
* Distributed, resilient, reliable and dynamic
|
|
|
|
Nodes should be able to join and leave without too much disruption. Bootstrapping, joining and autodiscovery should be as easy as possible, allowing for easy scaling across all members of the network.
|
|
|
|
* Free and open
|
|
|
|
All components should be free and open.
|
|
|
|
* Shared responsibility
|
|
|
|
Knowledge of components will be documented and shared and responsibility for the uptime and maintainence should be shared where possible.
|
|
|
|
## Design principles
|
|
|
|
* Tested
|
|
|
|
All components and goals should be testable to ensure changes don't impact existing functionality or reliabilty.
|
|
|
|
* Monitored
|
|
|
|
All components should be monitored and raise appropriate alerts to ensure good health and early detection of potential problems.
|
|
|
|
* Containerised
|
|
|
|
Simple, versioned components that can be resource constrained, when required, would be of great benefit.
|
|
|
|
* IPv6
|
|
|
|
Avoiding issues with IPv4 NAT, etc. would be desirable.
|
|
|
|
* Multi-architecture
|
|
|
|
The underlaying hardware type shouldn't be a constraint, within reason.
|