!!! Danger "Experimental" This service is experimental and will change in the future.
This module sets up yggdrasil across your clan.
Yggdrasil is designed to be a future-proof and decentralised alternative to the structured routing protocols commonly used today on the internet. Inside your clan, it will allow you to reach all of your machines.
If you have other services in your inventory which export peers (e.g. the
internet or the services) as service
exports, they
will be added as yggdrasil peers automatically. This allows using the stable
yggdrasil IPv6 address to refer to other hosts and letting yggdrasil decide on
the best routing based on available connections.
Example Usage
While you can specify statically configured peers for each host, yggdrasil does auto-discovery of local peers.
inventory = {
machines = {
peer1 = { };
peer2 = { };
};
instances = {
yggdrasil = {
# Deploy on all machines
roles.default.tags.all = { };
# Or individual hosts
roles.default.machines.peer1 = { };
roles.default.machines.peer2 = { };
};
};
};